複数のプロジェクトの使用

場合によっては、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 呼び出しの関連付けを示します。

Description コンシューマ プロジェクト(サービス アカウント プロジェクト) リソース プロジェクト(エージェント プロジェクト) メモ
料金が発生するプロジェクト
割り当てにバインドされているプロジェクト
すべてのエージェント データが含まれるプロジェクト
Dialogflow API を有効にする必要があるプロジェクト Dialogflow API は両方のプロジェクト タイプに対して有効にする必要があります。
Cloud コンソールの API ダッシュボードに API の使用状況が表示されるプロジェクト