このガイドでは、Dialogflow の使用開始に必要なすべての設定手順を説明します。 また、Dialogflow の試行後またはテスト後のクリーンアップ手順に関するアドバイスも示します。
始める前に
このガイドを読む前に、次の手順を行ってください。
- Dialogflow ES の基本をご覧ください。
- エディションをご覧ください。
Google Cloud Console について
Google Cloud Console(ドキュメントを表示、コンソールを開く)は、Google Cloud プロダクトを使用するシステムのプロビジョニング、構成、管理、モニタリングに使用されるウェブ UI です。Google Cloud Console を使用して、Dialogflow リソースを設定して管理します。
プロジェクトを作成
Google Cloud が提供するサービスを使用するには、プロジェクトを作成する必要があります。プロジェクトを使用して、すべての Google Cloud のリソースがまとめられます。プロジェクトは、共同編集者、有効化された API などのリソース、モニタリング ツール、お支払い情報、認証とアクセス制御で構成されます。1 つのプロジェクトを作成できるほか、複数のプロジェクトを作成してリソース階層内で Google Cloud リソースを構成することもできます。プロジェクトを作成する際は、プロジェクト ID をメモしてください。API 呼び出しを行うには、この ID が必要です。プロジェクトの詳細については、Resource Manager ドキュメントをご覧ください。
Dialogflow ES コンソール(ドキュメントに移動、コンソールを開く)では、エージェントを作成する際に必要に応じて基本プロジェクトを作成できます。無償版への基本的なアクセス以外のプロジェクトを使用する場合や、API を使用する場合は、以下の説明に従って Google Cloud Console を使ってプロジェクトを作成する必要があります。
実験、テスト、本番環境のそれぞれに個別のプロジェクトを作成することをおすすめします。各プロジェクトに作成できる Dialogflow エージェントは 1 つのみです。複数のエージェントが必要な場合は、複数のプロジェクトを作成する必要があります。
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
課金の有効化
請求先アカウントは、特定のリソースセットに対する支払いをだれが行うかの定義に使用され、1 つ以上のプロジェクトにリンクできます。プロジェクトの利用料金は、リンクされた請求先アカウントに請求されます。ほとんどの場合、プロジェクトの作成時に請求情報を構成します。詳細については、お支払いとご請求に関するドキュメントをご覧ください。
Make sure that billing is enabled for your Google Cloud project.
API の有効化
Dialogflow API をプロジェクトで有効にする必要があります。 API の有効化の詳細については、サービス使用状況のドキュメントをご覧ください。
Enable the Dialogflow API.
監査ログを有効にする
プロジェクトで Dialogflow API のデータアクセス監査ログを有効にします。これにより、このプロジェクトにリンクされている Dialogflow エージェントの設計時間の変更を追跡できます。
Google Cloud CLI をインストールして初期化する
Dialogflow API の使用を計画している場合は、Google Cloud CLI をインストールして初期化する必要があります。gcloud CLI は、Google Cloud でホストされるリソースやアプリケーションの管理に使用できる一連のツールです。
次のリンク先に手順が記載されています。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
認証とアクセス制御を設定します。
Dialogflow API を使用する場合は、認証を設定する必要があります。API を使用するクライアント アプリケーションは、認証の対象であり、リクエストされるリソースへのアクセス権が付与されている必要があります。このセクションでは、認証の重要なコンセプトと設定手順について説明します。詳細については、Google Cloud 認証の概要をご覧ください。
ユーザー アカウントによる認証
Dialogflow API の学習時やローカルでの開発時には、ユーザー アカウントが最適な認証オプションです。ユーザー アカウントを使用して、REST コマンドラインの実行またはクライアント ライブラリの呼び出しの認証を行うことができます。
REST コマンドライン ユーザー アカウントの認証
REST コマンドラインの呼び出しの認証には、gcloud CLI を使用します。gcloud auth login
コマンドは、ユーザー アカウントを使用して gcloud にログインします。この作業は、API を呼び出す前に行う必要があります。このドキュメントの REST コマンドラインのサンプル全体で、gcloud auth print-access-token
コマンドは REST 呼び出しの認証に使用します。
ローカル環境のユーザー認証情報を作成するには:
gcloud auth login
クライアント ライブラリのユーザー アカウントの認証
クライアント ライブラリの呼び出しを認証するには、gcloud CLI を使用します。gcloud auth application-default login
コマンドは、アプリケーションのデフォルト認証情報を使用するために、ユーザー アカウントを使用して gcloud にログインします。この操作は、API を呼び出す前に行う必要があります。API 呼び出しに関連する請求と割り当て用のプロジェクトを設定するには、gcloud auth application-default set-quota-project
コマンドを使用する必要があります。これは通常、エージェントが使用するプロジェクトと同じです。また、前の手順で作成したプロジェクトのプロジェクト ID を指定します。
アプリケーションのデフォルト認証情報をクライアント ライブラリで使用できるようにするため、GOOGLE_APPLICATION_CREDENTIALS
環境変数を設定しないでください。
ローカル環境のアプリケーションのデフォルト認証情報を作成するには:
gcloud auth application-default login gcloud auth application-default set-quota-project PROJECT_ID
サービス アカウントによる認証
サービス アカウントも認証オプションですが、これは、本番環境やステージングなどの安全な環境でのみ使用する必要があります。サービス アカウントでは、エンドユーザーではなく、アプリケーションの資格情報が提供されます。サービス アカウントはプロジェクトで所有されます。1 つのプロジェクトに対して多数のサービス アカウントを作成できます。詳細については、次をご覧ください。
ロールを使用したアクセス制御
Google Cloud では、プリンシパル(ユーザー アカウント、サービス アカウントなど)が API を呼び出す場合、プリンシパルに適切な権限が割り当てられている必要があります。権限を付与するには、プリンシパルにロールを付与します。詳細については、ロールの概要をご覧ください。
ユーザー アカウントを使用してプロジェクトを作成した場合は、ユーザー アカウントにプロジェクトのオーナーの基本ロールが付与されています。このロールは、プロジェクトの API を呼び出すためのアクセス権を付与します。ただし、別のアカウントでプロジェクトを作成した場合、API を呼び出す前にユーザー アカウントにロールを付与する必要があります。 手順については、Dialogflow アクセス制御ガイドをご覧ください。
Dialogflow クライアント ライブラリをインストールする
API を呼び出す方法として、Google がサポートするクライアント ライブラリ、REST、および gRPC の 3 つのオプションがあります。
クライアント ライブラリは、よく使われている複数の言語で利用できます。 インストール手順については、クライアント ライブラリで目的の言語をご覧ください。
クリーンアップ
Dialogflow を設定して試した後、作成したリソースの削除が必要になる場合があります。
- エージェントを削除することをおすすめします。
- プロジェクトをシャットダウンすることもできます。
-
gcloud auth login
を呼び出すと、パソコンのユーザー ディレクトリに認証情報が保存されます。これらの認証情報は、以下を呼び出して削除できます。gcloud auth revoke
-
gcloud auth application-default login
を呼び出すと、パソコンのユーザー ディレクトリに認証情報が保存されます。これらの認証情報は、以下を呼び出して削除できます。gcloud auth application-default revoke