場合によっては、Dialogflow を使用するには、複数の Google Cloud プロジェクトを作成する必要があります。
- 認証や割り当て、課金のためのプロジェクトとエージェント データ用のプロジェクトを別途作成すると便利です。
- 各プロジェクトにはリージョンごとに最大 1 つのエージェントが存在します。同じリージョンに複数のエージェントが必要な場合は、複数のプロジェクトが必要です。
コンシューマ プロジェクトとリソース プロジェクト
API を呼び出すときは、通常、認証用のサービス アカウントキーを指定します。各サービス アカウントは特定のプロジェクトが所有していますが、サービス アカウントは他のプロジェクトのリソースにアクセスする役割を与えられる可能性があります。API 呼び出しに指定したサービス アカウントに関連付けられたプロジェクトは、コンシューマ プロジェクトと呼ばれます。
API に呼び出しを行うと、リクエストでエージェントのプロジェクトが指定されます。このプロジェクトはリソース プロジェクトと呼ばれます。
たとえば、次の REST curl リクエストでは、AGENT_ID
に関連付けられたプロジェクトはリソース プロジェクトであり、TOKEN
の生成に使用されるサービス アカウントに関連付けられたプロジェクトはコンシューマ プロジェクトです。
curl -X GET -H "Authorization: Bearer TOKEN" "https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/AGENT_ID"
1 つのプロジェクトが、コンシューマ プロジェクトとリソース プロジェクトの両方の役割を兼ねることができます。エージェントのデータ、料金、割り当ては、このプロジェクトにのみ関連付けられます。
コンシューマ プロジェクトとリソース プロジェクトが 2 つの異なるプロジェクトの場合、API を有効にするための要件、料金、割り当ての制約、エージェント情報が、プロジェクトのいずれかまたは両方に適用されます。次の表に、2 つのプロジェクトによる API 呼び出しの関連付けを示します。
説明 | ユーザー プロジェクト(サービス アカウント プロジェクト) | リソース プロジェクト(エージェント プロジェクト) | メモ |
---|---|---|---|
料金が発生するプロジェクト | ✔ | ||
割り当てにバインドされているプロジェクト | ✔ | ||
体験版または Essentials Dialogflow のエディションを決定するエージェントを含むプロジェクト | ✔ | ユーザー プロジェクトにエージェントがない場合は、空白のエージェントを作成して Essentials エディションにアップグレードします。 | |
すべてのエージェント データと 体験版または Essentials Dialogflow エディションを含むプロジェクト | ✔ | ||
Dialogflow API を有効にする必要があるプロジェクト | ✔ | ✔ | Dialogflow API は、両方のプロジェクト タイプで有効にする必要があります。 |
Cloud コンソールの API ダッシュボードに API の使用状況が表示されるプロジェクト | ✔ |