创建和配置 Google 云端硬盘连接

本页面介绍了如何在 Integration Connectors 中创建和配置 Google 云端硬盘连接。如需详细了解 Google 云端硬盘连接器,请参阅 Google 云端硬盘连接器概览

准备工作

在 Google Cloud项目中,执行以下任务:

  • 确保已设置网络连接。如需了解网络模式,请参阅网络连接
  • 向配置连接器的用户授予 roles/connectors.admin IAM 角色。
  • roles/secretmanager.viewerroles/secretmanager.secretAccessor IAM 角色授予您要用于连接器的服务账号
  • 启用以下服务:
    • secretmanager.googleapis.com (Secret Manager API)
    • connectors.googleapis.com (Connectors API)

    如需了解如何启用服务,请参阅启用服务。如果之前没有为您的项目启用这些服务或权限,则在您配置连接器时,系统会提示您启用。

创建 Google 云端硬盘连接

如需创建 Google 云端硬盘连接,请执行以下操作:

  1. 在 Google Cloud 控制台中,依次前往集成连接器 > 连接页面。

    前往“连接”

  2. 点击 Create Connection

    随即会出现创建连接页面。

  3. 位置部分中:
    1. 点击区域,然后选择连接的位置。

      如需查看所有受支持区域的列表,请参阅位置

    2. 点击下一步
  4. 连接详情部分中,提供以下详细信息:
    1. 连接器:选择 Google 云端硬盘
    2. 连接器版本:选择要使用的连接器版本。

      您选择的连接器版本取决于您要使用的 Google Drive API 版本。如需了解详情,请参阅 Google 云端硬盘连接版本

    3. 连接名称:输入连接的名称。
    4. 说明:(可选)输入连接的说明。
    5. 您可以选择启用 Cloud Logging,然后选择日志级别。默认情况下,日志级别设置为 Error
    6. 服务账号:选择要用于连接的服务账号。确保服务账号具有所需的相应 IAM 角色和权限
    7. 支持所有云端硬盘:选中此复选框可启用对共享云端硬盘的访问权限。此选项仅适用于 Google 云端硬盘 v2。
    8. 连接节点设置:(可选)配置连接节点设置。
      • 节点数下限:输入连接节点数下限。
      • 节点数上限:输入连接节点数上限。

      节点是处理事务的连接单元(或副本)。 连接处理越多事务就需要越多节点,相反,处理越少事务需要越少节点。 如需了解节点如何影响连接器价格,请参阅 连接节点的价格。如果未输入任何值,则默认情况下,节点数下限设置为 2(以便提高可用性),节点数上限设置为 50。

    9. 点击下一步
  5. 身份验证部分中,选择并配置连接的身份验证类型:

    服务账号

    如果您的应用在 Google Cloud 虚拟机上运行,并且应使用虚拟机关联的服务账号进行身份验证,请选择此选项。

    如需使用此身份验证类型,您必须拥有一个服务账号,该账号具有身份验证所需的相应 IAM 角色和权限

    如需了解如何创建服务账号,请参阅创建和管理服务账号。如需了解如何向服务账号授予角色,请参阅授予、更改和撤消对资源的访问权限

    服务账号身份验证类型的连接详细信息示例

    字段名称 详细信息
    位置 us-central1
    连接器 Google 云端硬盘
    连接器版本 2
    连接名称 googledrive-ws-gcpaccount
    启用 Cloud Logging
    服务账号 123456789012-compute@developer.gserviceaccount.com
    节点数下限 2
    节点数上限 50
    身份验证 服务账号身份验证

    OAuth 2.0 - JWT 不记名

    如需配置 OAuth 2.0 JWT 不记名身份验证类型,请执行以下操作:

    1. 创建服务账号 JSON 密钥并下载 JSON 密钥文件。此密钥文件用作连接的 JWT 证书。
    2. 创建 Secret 以存储 JSON 密钥文件或 JWT 证书。
    3. 在 Integration Connectors 中创建连接时,请提供密文详细信息:
      • JWT 证书:选择包含 JWT 证书的密文。
      • 密文版本:选择所选密文的密文版本。
      • JWT 主题:(可选)输入要用于连接的 JWT 主题。这在 JWT 令牌中用作 sub 字段。

    OAuth 2.0 - JWT 不记名身份验证类型的连接详细信息示例

    字段名称 详细信息
    位置 us-central1
    连接器 Google 云端硬盘
    连接器版本 2
    连接名称 googledrivejwt
    启用 Cloud Logging
    服务账号 123456789012-compute@developer.gserviceaccount.com
    节点数下限 2
    节点数上限 50
    身份验证 OAuth 2.0 - JWT 不记名
    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********"
    }
    Secret 版本 2

    OAuth 2.0 授权代码

    如果您的应用需要通过基于浏览器的登录方式进行最终用户互动,请使用此方法。

    如需配置 OAuth 2.0 授权代码身份验证类型,请执行以下操作:

    1. 为您的 Web 应用创建 OAuth 2.0 凭据。此过程会创建客户端 ID 和客户端密钥 JSON 文件。
    2. 确定要向应用授予的访问权限范围
    3. 创建密钥以存储 OAuth 2.0 凭据 (client_secret.json)。
    4. 在 Integration Connectors 中创建连接时,请提供客户端 ID、范围和密文详细信息:
      • 客户端 ID:输入为您的 Web 应用创建的客户端 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
    Secret 版本 2
  6. 启用身份验证替换:(可选)选中此复选框可使连接在运行时动态接受其他身份验证。
  7. 点击下一步
  8. 查看部分中,查看您的连接和身份验证详细信息。您可以随时点击任何之前的部分,根据需要进行更改。
  9. 点击创建

    Integration Connectors 开始为所提供的配置创建连接。此过程需要几分钟才能完成。 创建连接后,您将被重定向到连接页面。

在集成中使用 Google 云端硬盘连接

创建连接后,该连接将在 Apigee Integration 和 Application Integration 中可用。您可以通过“连接器”任务在集成中使用该连接。

  • 如需了解如何在 Apigee Integration 中创建和使用连接器任务,请参阅连接器任务
  • 如需了解如何在 Application Integration 中创建和使用连接器任务,请参阅连接器任务

如需查看受支持的实体和操作的列表,请参阅受支持的实体和操作。如需了解支持的连接器专用操作,请参阅支持的操作

Application Integration 中的使用场景示例

以下示例展示了如何在 Application Integration 中使用连接器任务,以使用您配置的 Google 云端硬盘连接执行操作。

示例 - 列出所有文件

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 Files
  3. 选择 List 操作,然后点击完成
  4. 连接器任务的任务输入部分,您可以根据客户要求设置 filterClause
  5. filterClause 的值应始终以这种格式用单引号 (') 传递。

    您可以使用 filterClause 根据任何列过滤特定的一组记录。

示例 - 获取文件详细信息

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 Files
  3. 选择 Get 操作,然后点击完成
  4. 将 entityId 设置为“1wsHFAusizqFe5O2”,这是要传递的键。如需设置 entityId,请在数据映射数据映射器部分中,点击打开数据映射编辑器,然后在输入值字段中输入 "1wsHFAusizqFe5O2",并选择 entityId 作为局部变量。
  5. entityId 的值必须直接传递,例如“1wsHFAusizqFe5O2”。其中,“1wsHFAusizqFe5O2”是传递的唯一主键值。

示例 - 删除文件

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 Files
  3. 选择 Delete 操作,然后点击完成
  4. 将 entityId 设置为“1nLrFkDM8nOehXwW8XEpc2UZDBrq_ku-L”,这是要传递的键。如需设置 entityId,请在数据映射数据映射器部分中,点击打开数据映射编辑器,然后在输入值字段中输入 "1nLrFkDM8nOehXwW8XEpc2UZDBrq_ku-L",并选择 entityId 作为局部变量。
  5. 如果实体有两个复合业务键或主键,您也可以将 filterClause 设置为 id='1nLrFkDM8nOehXwW8XEpc2UZDBrq_ku-L',而不是指定 entityId。

示例 - 创建文件

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 Files
  3. 选择 Create 操作,然后点击完成
  4. 数据映射任务的数据映射器部分中,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并将 entityId/connectorInputPayload 选择为局部变量。
  5.   { "FileData": " ",
      "Name": "creategcpshareddrivedocxfile.docx", 
      "MIMEType": "application/vnd.google-apps.document",
      "Encoding": "BASE64"}
    

    如果集成成功,连接器任务的 connectorOutputPayload 响应参数将具有类似以下的值:

    { "Id": "1C48uLda6lyeakx2hOUdwnib-qtFOAhlpR_Ja2AmPvTU"}
    

示例 - 创建共享云端硬盘

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 Drives
  3. 选择 Create 操作,然后点击完成
  4. 数据映射任务的数据映射器部分中,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并将 entityId/connectorInputPayload 选择为局部变量。
  5.   {"Name": "SharedDrive7"}
    

    如果集成成功,连接器任务的 connectorOutputPayload 响应参数将具有类似以下的值:

      {"Id": "0AN6y5wEvVrmPUk9PVA"}
    

示例 - 为文件、文件夹或共享云端硬盘创建权限

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 Permissions
  3. 选择 Create 操作,然后点击完成
  4. 数据映射任务的数据映射器部分中,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并将 entityId/connectorInputPayload 选择为局部变量。
  5.   {"ResourceId": "1PErCmc9MmnYzcslo49DeIIN1-ACs3W4L",
      "Role": "COMMENTER",
      "Type": "USER",
      "EmailAddress": "charlie@altostrat.com"}
    

    如果集成成功,连接器任务的 connectorOutputPayload 响应参数将具有类似以下的值:

      { "PermissionId": "10596783046483894074",
      "ResourceId": "1PErCmc9MmnYzcslo49DeIIN1-ACs3W4L"}
    

示例 - 更新文件详细信息

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 Files
  3. 选择 Update 操作,然后点击完成
  4. 数据映射任务的数据映射器部分,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并将 entityId/connectorInputPayload/filterClause 选择为局部变量。
      {"Name": "New Updated file"}
    
  5. 设置文件的 entityId。如需设置 entityId,请点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并将 entityId/connectorInputPayload/filterClause 选择为局部变量。

    您也可以将 filterClause 设置为 1IY5YhQN-LRgR3IxKlheqXM83sJP3DMFm,而不是指定 entityId

  6. 运行此示例后,连接器任务的 connectorOutputPayload 输出变量中会返回类似于以下内容的响应:

    {"Id": "1IY5YhQN-LRgR3IxKlheqXM83sJP3DMFm">}

示例 - 更新文件、文件夹或共享云端硬盘的权限

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 Permissions
  3. 选择 Update 操作,然后点击完成
  4. 数据映射任务的数据映射器部分中,点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并将 entityId/connectorInputPayload/filterClause 选择为局部变量。
  5. (PermissionId='10596783046483894074' and ResourceId='0AKfRSSy6kZbfUk9PVA')
    { "Role": "READER"}
    
  6. 设置权限的 entityId。如需设置 entityId,请点击 Open Data Mapping Editor,然后在 Input Value 字段中输入类似于以下内容的值,并将 entityId/connectorInputPayload/filterClause 选择为局部变量。

    您也可以将 filterClause 设置为 PermissionId='10596783046483894074' and ResourceId='0AKfRSSy6kZbfUk9PVA',而不是指定 entityId

    运行此示例后,连接器任务的 connectorOutputPayload 输出变量中会返回类似于以下内容的响应:

      {"PermissionId": "10596783046483894074",
      "ResourceId": "0AKfRSSy6kZbfUk9PVA"}