Google ドライブ接続を作成して構成する
このページでは、Integration Connectors で Google ドライブ接続を作成して構成する方法について説明します。Google ドライブ コネクタの詳細については、Google ドライブ コネクタの概要をご覧ください。
始める前に
Google Cloudプロジェクトで、次のタスクを行います。
- ネットワーク接続が設定されていることを確認します。ネットワーク パターンの詳細については、Network Connectivity をご覧ください。
- コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
- コネクタに使用するサービス アカウントに、
roles/secretmanager.viewerとroles/secretmanager.secretAccessorの IAM ロールを付与します。 - 次のサービスを有効にします。
secretmanager.googleapis.com(Secret Manager API)connectors.googleapis.com(Connectors API)
サービスを有効にする方法については、サービスを有効にするをご覧ください。以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときに有効にするよう求められます。
Google ドライブ接続を作成する
Google ドライブ接続を作成する手順は次のとおりです。
- Google Cloud コンソールで、[Integration Connectors] > [接続] ページに移動します。
- [接続を作成] をクリックします。
[接続を作成] ページが表示されます。
- [ロケーション] セクションで次の操作を行います。
- [リージョン] をクリックして、接続のロケーションを選択します。
サポートされているすべてのリージョンのリストについては、ロケーションをご覧ください。
- [次へ] をクリックします。
- [リージョン] をクリックして、接続のロケーションを選択します。
- [接続の詳細] セクションで、次の詳細を指定します。
- Connector: [Google ドライブ] を選択します。
- コネクタのバージョン: 使用するコネクタのバージョンを選択します。
選択するコネクタ バージョンは、使用する Google Drive API のバージョンによって異なります。詳細については、Google ドライブ接続のバージョンをご覧ください。
- 接続名: 接続の名前を入力します。
- 説明: (省略可)接続の説明を入力します。
- 必要に応じて、Cloud Logging を有効にして、ログレベルを選択します。デフォルトのログレベルは
Errorに設定されています。 - サービス アカウント: 接続に使用するサービス アカウントを選択します。サービス アカウントに、必要な適切な IAM ロールと権限が付与されていることを確認します。
- すべてのドライブをサポート: 共有ドライブへのアクセスを有効にするには、このチェックボックスをオンにします。このオプションは Google ドライブ v2 でのみ使用できます。
- 接続ノードの設定: (省略可)接続ノードの設定を構成します。
- ノードの最小数: 接続ノードの最小数を入力します。
- ノードの最大数: 接続ノードの最大数を入力します。
- [次へ] をクリックします。
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、 接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
- [認証] セクションで、接続の認証タイプを選択して構成します。
サービス アカウント
アプリケーションが Google Cloud 仮想マシンで実行され、認証に VM の接続されたサービス アカウントを使用する必要がある場合は、このオプションを選択します。
この認証タイプを使用するには、認証に必要な適切な IAM ロールと権限を持つサービス アカウントが必要です。
サービス アカウントの作成については、サービス アカウントの作成と管理をご覧ください。サービス アカウントへのロールの付与については、リソースへのアクセス権の付与、変更、取り消しをご覧ください。
サービス アカウント認証タイプの接続の詳細の例
フィールド名 詳細 ロケーション us-central1 コネクタ Google ドライブ コネクタのバージョン 2 接続名 googledrive-ws-gcpaccount Cloud Logging を有効にする ○ サービス アカウント 123456789012-compute@developer.gserviceaccount.com ノードの最小数 2 ノードの最大数 50 認証 サービス アカウント認証 OAuth 2.0 - JWT Bearer
Oauth 2.0 JWT Bearer 認証タイプを構成するには、次の操作を行います。
- サービス アカウントの JSON キーを作成し、JSON キーファイルをダウンロードします。この鍵ファイルは、接続の JWT 証明書として使用されます。
- JSON キーファイルまたは JWT 証明書を保存するシークレットを作成します。
- Integration Connectors で接続を作成するときに、シークレットの詳細を指定します。
- JWT 証明書: JWT 証明書を含むシークレットを選択します。
- シークレットのバージョン: 選択したシークレットのシークレット バージョンを選択します。
- JWT Subject: (省略可)接続に使用する JWT サブジェクトを入力します。これは、JWT トークンの
subフィールドとして使用されます。
OAuth 2.0 - JWT Bearer 認証タイプの接続の詳細の例
フィールド名 詳細 ロケーション us-central1 コネクタ Google ドライブ コネクタのバージョン 2 接続名 googledrivejwt Cloud Logging を有効にする ○ サービス アカウント 123456789012-compute@developer.gserviceaccount.com ノードの最小数 2 ノードの最大数 50 認証 OAuth 2.0 - JWT Bearer JWT 証明書 { "type": "service_account", "project_id": "sm****-****-******", "private_key_id": "0b***************************", "private_key": "-----BEGIN PRIVATE KEY-----\nO********************************************=\n-----END PRIVATE KEY-----\n", "client_email": "go**********************************8", "client_id": "10**********************", "auth_uri": "https:***********************", "token_uri": "https:************************", "auth_provider_x509_cert_url": "https:*********************", "client_x509_cert_url": "https:****************************************************", "universe_domain": "go********" }シークレットのバージョン 2 OAuth 2.0 認証コード
この方法は、アプリケーションでブラウザベースのログインによるエンドユーザーの操作が必要な場合に使用します。
OAuth 2.0 認証コードの認証タイプを構成するには、次の操作を行います。
- ウェブ アプリケーション用の OAuth 2.0 認証情報を作成します。このプロセスでは、クライアント ID とクライアント シークレット JSON ファイルが作成されます。
- アプリケーションに付与するアクセス スコープを特定します。
- OAuth 2.0 認証情報(
client_secret.json)を保存する Secret を作成します。 - Integration Connectors で接続を作成するときに、クライアント ID、スコープ、シークレットの詳細を指定します。
- クライアント ID: ウェブ アプリケーション用に作成したクライアント ID を入力します。
- スコープ: 必要なスコープをカンマ区切りのリストで入力します。
- クライアント シークレット: OAuth 2.0 認証情報を含むシークレットを選択します。
- シークレットのバージョン: 選択したシークレットのシークレット バージョンを選択します。
Oauth 2.0 認証コード認証タイプの接続の詳細の例
フィールド名 詳細 ロケーション europe-west1 コネクタ Google ドライブ コネクタのバージョン 2 接続名 googledrive-wsconn-code Cloud Logging を有効にする ○ サービス アカウント 123456789012-compute@developer.gserviceaccount.com ノードの最小数 2 ノードの最大数 50 認証 OAuth 2.0 - 認証コード クライアント ID CLIENT_ID スコープ https://www.googleapis.com/auth/drive、https://www.googleapis.com/auth/drive.readonly、https://www.googleapis.com/auth/drive.file、https://www.googleapis.com/auth/drive.appdata、https://www.googleapis.com/auth/drive.appfolder、https://www.googleapis.com/auth/drive.install、https://www.googleapis.com/auth/drive.metadata、https://www.googleapis.com/auth/drive.metadata.readonly、https://www.googleapis.com/auth/drive.activity、https://www.googleapis.com/auth/drive.activity.readonly、https://www.googleapis.com/auth/drive.apps.readonly、https://www.googleapis.com/auth/drive.scripts、https://www.googleapis.com/auth/drive.meet.readonly クライアント シークレット CLIENT_SECRET シークレットのバージョン 2 - 認証オーバーライドを有効にする: (省略可)このチェックボックスをオンにすると、実行時に接続で異なる認証を動的に受け入れることができます。
- [次へ] をクリックします。
- [確認] セクションで、接続と認証の詳細を確認します。必要に応じて、前のセクションをクリックして変更を加えることができます。
- [作成] をクリックします。
Integration Connectors は、指定された構成の接続の作成を開始します。このプロセスが完了するまでに数分かかります。接続が作成されると、[接続] ページにリダイレクトされます。
統合で Google ドライブ接続を使用する
接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。
- Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
- Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
サポートされているエンティティとオペレーションの一覧については、サポートされているエンティティとオペレーションをご覧ください。サポートされているコネクタ固有のアクションについては、サポートされているアクションをご覧ください。
Application Integration のユースケースの例
次の例は、Application Integration で Connectors タスクを使用して、構成済みの Google ドライブ接続でオペレーションを実行する方法を示しています。
例 - すべてのファイルを一覧表示する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからFilesを選択します。- [
List] オペレーションを選択し、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、お客様の要件に応じて filterClause を設定できます。
filterClause の値は、常にこの形式で単一引用符(')で囲んで渡す必要があります。
filterClause を使用すると、任意の列に基づいて特定のレコードセットをフィルタできます。
例 - ファイルの詳細を取得する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからFilesを選択します。- [
Get] オペレーションを選択し、[完了] をクリックします。 - entityId を「1wsHFAusizqFe5O2」に設定します。これは渡されるキーです。entityId を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに
"1wsHFAusizqFe5O2"を入力し、entityId をローカル変数として選択します。
entityId の値は直接渡す必要があります(「1wsHFAusizqFe5O2」など)。ここで、「1wsHFAusizqFe5O2」は一意の主キー値であり、渡されます。
例 - ファイルを削除する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからFilesを選択します。- [
Delete] オペレーションを選択し、[完了] をクリックします。 - entityId を「1nLrFkDM8nOehXwW8XEpc2UZDBrq_ku-L」に設定します。これは渡されるキーです。entityId を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに
"1nLrFkDM8nOehXwW8XEpc2UZDBrq_ku-L"を入力し、entityId をローカル変数として選択します。
エンティティに 2 つの複合ビジネスキーまたは主キーがある場合は、entityId を指定する代わりに、filterClause を id='1nLrFkDM8nOehXwW8XEpc2UZDBrq_ku-L' に設定することもできます。
例 - ファイルを作成する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからFilesを選択します。- [
Create] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editorをクリックし、[Input Value] フィールドに次のような値を入力し、entityId/connectorInputPayload をローカル変数として選択します。
{ "FileData": " ",
"Name": "creategcpshareddrivedocxfile.docx",
"MIMEType": "application/vnd.google-apps.document",
"Encoding": "BASE64"}
統合が成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
{ "Id": "1C48uLda6lyeakx2hOUdwnib-qtFOAhlpR_Ja2AmPvTU"}
例 - 共有ドライブを作成する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからDrivesを選択します。- [
Create] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editorをクリックし、[Input Value] フィールドに次のような値を入力し、entityId/connectorInputPayload をローカル変数として選択します。
{"Name": "SharedDrive7"}
統合が成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
{"Id": "0AN6y5wEvVrmPUk9PVA"}
例 - ファイル、フォルダ、共有ドライブの権限を作成する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからPermissionsを選択します。- [
Create] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editorをクリックし、[Input Value] フィールドに次のような値を入力し、entityId/connectorInputPayload をローカル変数として選択します。
{"ResourceId": "1PErCmc9MmnYzcslo49DeIIN1-ACs3W4L",
"Role": "COMMENTER",
"Type": "USER",
"EmailAddress": "charlie@altostrat.com"}
統合が成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
{ "PermissionId": "10596783046483894074",
"ResourceId": "1PErCmc9MmnYzcslo49DeIIN1-ACs3W4L"}
例 - ファイルの詳細を更新する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからFilesを選択します。- [
Update] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editorをクリックし、[Input Value] フィールドに次のような値を入力し、entityId/connectorInputPayload/filterClause をローカル変数として選択します。{"Name": "New Updated file"} - ファイルの entityId を設定します。エンティティ ID を設定するには、
Open Data Mapping Editorをクリックし、Input Valueフィールドに次のような値を入力し、entityId/connectorInputPayload/filterClause をローカル変数として選択します。[entityId] を指定する代わりに、[filterClause] を 1IY5YhQN-LRgR3IxKlheqXM83sJP3DMFm に設定することもできます。
この例を実行すると、コネクタ タスクの connectorOutputPayload 出力変数で次のようなレスポンスが返されます。
{"Id": "1IY5YhQN-LRgR3IxKlheqXM83sJP3DMFm">}例 - ファイル、フォルダ、共有ドライブの権限を更新する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからPermissionsを選択します。- [
Update] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editorをクリックし、[Input Value] フィールドに次のような値を入力し、entityId/connectorInputPayload/filterClause をローカル変数として選択します。 - 権限の entityId を設定します。エンティティ ID を設定するには、
Open Data Mapping Editorをクリックし、Input Valueフィールドに次のような値を入力し、entityId/connectorInputPayload/filterClause をローカル変数として選択します。[entityId] を指定する代わりに、[filterClause] を
PermissionId='10596783046483894074' and ResourceId='0AKfRSSy6kZbfUk9PVA'に設定することもできます。この例を実行すると、コネクタ タスクの
connectorOutputPayload出力変数で次のようなレスポンスが返されます。{"PermissionId": "10596783046483894074", "ResourceId": "0AKfRSSy6kZbfUk9PVA"}
(PermissionId='10596783046483894074' and ResourceId='0AKfRSSy6kZbfUk9PVA')
{ "Role": "READER"}