[Dialogflow ES] ローカルのNodeJSからリージョン指定してAPIリクエストするとError: 4 DEADLINE_EXCEEDEDと出る

25 views
Skip to first unread message

takuya_K

unread,
Dec 27, 2021, 5:48:21 AM12/27/21
to Assistant Developer Community Japan
はじめまして
DialogflowへのAPIリクエストエラーをネットで検索していた際、このコミュニティの2020年12月の投稿 [Dialogflow ES] Python APIからのリージョン選択を見かけて似たような状況と思い投稿してみました。

今回DialogflowESで作成したエージェントにローカルサーバのNodeJSからテキストデータを投げてインテントを受け取ろうとしたのですが、はじめに "No DesignTimeAgent found" と表示されたので上記投稿を参考にリージョン指定をしたところそのエラー表示は出なくなりましたが、今度はしばらくした後、下記エラーが出た次第です。

Error: 4 DEADLINE_EXCEEDED: Deadline exceeded


MacOS: Big Sur 11.15.2
"devDependencies":
 @types/node": "^16.11.6",
"dependencies":
 @google-cloud/dialogflow": "^4.6.0

以下はコードの抜粋になります

---
const dialogflow = require('@google-cloud/dialogflow').v2beta1;

async function runSample(projectId = 'PROJECT_ID/locations/asia-northeast1') {

 const sessionId = uuid.v4();
 const sessionClient = new dialogflow.SessionsClient({
});
 const sessionPath = sessionClient.projectAgentSessionPath(
projectId,
sessionId
);
 const request = {
session: sessionPath,
queryInput: {
text: {
text: data.msg, //Textデータをセット
languageCode: 'ja-JP',
},
},
};
 const responses = await sessionClient.detectIntent(request);

}
---

※APIリクエストに投げたprojectId、sessionId、request はログで確認できています。
(projectIdはコンソール上のsettingにあるGOOGLE PROJECTのProject ID

なにぶん初心者であれこれリサーチした上に見よう見まねでやっているので、もしかしたら非常に根本的な間違いをしているかもしれません。
足りない情報あればご指示ください。
stack overflowに投げる前にまずは日本語コミュニティで問い合わせております。
何卒よろしくご教示のほどお願いいたします。




Yui Takeuchi

unread,
Dec 29, 2021, 10:20:46 PM12/29/21
to takuya_K, Assistant Developer Community Japan
こんにちは、反応が遅くなってすみません!

こちらですが、node.js の Dialogflow クライアントライブラリのソースコード確認したところ、
apiEndpoint には host の指定だけで port を指定すると二重に port を指定することになりそうです。

⇒ port を指定する場合は opts.port に指定することになる。

なので、いただいたコードを下記のように修正するとリクエストできると思います。

 const sessionClient = new dialogflow.SessionsClient({

これでリクエストできない場合は別の箇所に問題があるかもですが、ご参考までに。

otter - Yui Takeuchi


--
このメールは Google グループのグループ「Assistant Developer Community Japan」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには assistant-developer-com...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/assistant-developer-community-japan/e22ca264-8a86-4d0d-9015-a1a4ad761064n%40googlegroups.com にアクセスしてください。

キマタタクヤ

unread,
Dec 30, 2021, 12:29:33 AM12/30/21
to Yui Takeuchi, Assistant Developer Community Japan
Takeuchiさん、ご返信ありがとうございました!
できました!
ポートナンバー外すだけで狙い通りのインテント取得できて、
その後問題なくシステムが稼働できています。

年末の最中、お忙しいところわざわざ質問見つけてくださって、
アドバイスいただき感謝です。
おかげさまでいい年が越せそうです

今後とも、引き続きよろしくご教示のほどお願いいたします
良いお年を!

takuya


2021年12月30日(木) 12:20 Yui Takeuchi <yui520...@gmail.com>:

Yui Takeuchi

unread,
Dec 30, 2021, 12:38:36 AM12/30/21
to キマタタクヤ, Assistant Developer Community Japan
早速のご確認ありがとうございます!
無事に動いたようで良かったです!
--
otter - Yui Takeuchi
Reply all
Reply to author
Forward
0 new messages