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