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

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

Description コンシューマ プロジェクト(サービス アカウント プロジェクト) リソース プロジェクト(エージェント プロジェクト) メモ
料金が発生するプロジェクト
割り当てにバインドされているプロジェクト
体験版または Essentials Dialogflow のエディションを決定するエージェントを含むプロジェクト コンシューマ プロジェクトにエージェントがない場合は、空のエージェントを作成して Essentials エディションにアップグレードしてください。
すべてのエージェント データ体験版または Essentials Dialogflow エディションを含むプロジェクト
Dialogflow API を有効にする必要があるプロジェクト Dialogflow API は両方のプロジェクト タイプに対して有効にする必要があります。
Cloud コンソールの API ダッシュボードに API の使用状況が表示されるプロジェクト