创建和配置 Google 云端硬盘连接
本页面介绍了如何在 Integration Connectors 中创建和配置 Google 云端硬盘连接。如需详细了解 Google 云端硬盘连接器,请参阅 Google 云端硬盘连接器概览。
准备工作
在 Google Cloud项目中,执行以下任务:
- 确保已设置网络连接。如需了解网络模式,请参阅网络连接。
- 向配置连接器的用户授予 roles/connectors.admin IAM 角色。
- 将
roles/secretmanager.viewer和roles/secretmanager.secretAccessorIAM 角色授予您要用于连接器的服务账号。 - 启用以下服务:
secretmanager.googleapis.com(Secret Manager API)connectors.googleapis.com(Connectors API)
如需了解如何启用服务,请参阅启用服务。如果之前没有为您的项目启用这些服务或权限,则在您配置连接器时,系统会提示您启用。
创建 Google 云端硬盘连接
如需创建 Google 云端硬盘连接,请执行以下操作:
- 在 Google Cloud 控制台中,依次前往集成连接器 > 连接页面。
- 点击 Create Connection。
随即会出现创建连接页面。
- 在位置部分中:
- 点击区域,然后选择连接的位置。
如需查看所有受支持区域的列表,请参阅位置。
- 点击下一步。
- 点击区域,然后选择连接的位置。
- 在连接详情部分中,提供以下详细信息:
- 连接器:选择 Google 云端硬盘。
- 连接器版本:选择要使用的连接器版本。
您选择的连接器版本取决于您要使用的 Google Drive API 版本。如需了解详情,请参阅 Google 云端硬盘连接版本。
- 连接名称:输入连接的名称。
- 说明:(可选)输入连接的说明。
- 您可以选择启用 Cloud Logging,然后选择日志级别。默认情况下,日志级别设置为
Error。 - 服务账号:选择要用于连接的服务账号。确保服务账号具有所需的相应 IAM 角色和权限。
- 支持所有云端硬盘:选中此复选框可启用对共享云端硬盘的访问权限。此选项仅适用于 Google 云端硬盘 v2。
- 连接节点设置:(可选)配置连接节点设置。
- 节点数下限:输入连接节点数下限。
- 节点数上限:输入连接节点数上限。
- 点击下一步。
节点是处理事务的连接单元(或副本)。 连接处理越多事务就需要越多节点,相反,处理越少事务需要越少节点。 如需了解节点如何影响连接器价格,请参阅 连接节点的价格。如果未输入任何值,则默认情况下,节点数下限设置为 2(以便提高可用性),节点数上限设置为 50。
- 在身份验证部分中,选择并配置连接的身份验证类型:
服务账号
如果您的应用在 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 不记名身份验证类型,请执行以下操作:
- 创建服务账号 JSON 密钥并下载 JSON 密钥文件。此密钥文件用作连接的 JWT 证书。
- 创建 Secret 以存储 JSON 密钥文件或 JWT 证书。
- 在 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 授权代码身份验证类型,请执行以下操作:
- 为您的 Web 应用创建 OAuth 2.0 凭据。此过程会创建客户端 ID 和客户端密钥 JSON 文件。
- 确定要向应用授予的访问权限范围。
- 创建密钥以存储 OAuth 2.0 凭据 (
client_secret.json)。 - 在 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 - 启用身份验证替换:(可选)选中此复选框可使连接在运行时动态接受其他身份验证。
- 点击下一步。
- 在查看部分中,查看您的连接和身份验证详细信息。您可以随时点击任何之前的部分,根据需要进行更改。
- 点击创建。
Integration Connectors 开始为所提供的配置创建连接。此过程需要几分钟才能完成。 创建连接后,您将被重定向到连接页面。
在集成中使用 Google 云端硬盘连接
创建连接后,该连接将在 Apigee Integration 和 Application Integration 中可用。您可以通过“连接器”任务在集成中使用该连接。
- 如需了解如何在 Apigee Integration 中创建和使用连接器任务,请参阅连接器任务。
- 如需了解如何在 Application Integration 中创建和使用连接器任务,请参阅连接器任务。
如需查看受支持的实体和操作的列表,请参阅受支持的实体和操作。如需了解支持的连接器专用操作,请参阅支持的操作。
Application Integration 中的使用场景示例
以下示例展示了如何在 Application Integration 中使用连接器任务,以使用您配置的 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 作为局部变量。
如果实体有两个复合业务键或主键,您也可以将 filterClause 设置为 id='1nLrFkDM8nOehXwW8XEpc2UZDBrq_ku-L',而不是指定 entityId。
示例 - 创建文件
- 在
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。如需设置 entityId,请点击
Open Data Mapping Editor,然后在Input Value字段中输入类似于以下内容的值,并将 entityId/connectorInputPayload/filterClause 选择为局部变量。您也可以将 filterClause 设置为 1IY5YhQN-LRgR3IxKlheqXM83sJP3DMFm,而不是指定 entityId。
运行此示例后,连接器任务的 connectorOutputPayload 输出变量中会返回类似于以下内容的响应:
{"Id": "1IY5YhQN-LRgR3IxKlheqXM83sJP3DMFm">}示例 - 更新文件、文件夹或共享云端硬盘的权限
- 在
Configure connector task对话框中,点击Entities。 - 从
Entity列表中选择Permissions。 - 选择
Update操作,然后点击完成。 - 在数据映射任务的数据映射器部分中,点击
Open Data Mapping Editor,然后在Input Value字段中输入类似于以下内容的值,并将 entityId/connectorInputPayload/filterClause 选择为局部变量。 - 设置权限的 entityId。如需设置 entityId,请点击
Open Data Mapping Editor,然后在Input Value字段中输入类似于以下内容的值,并将 entityId/connectorInputPayload/filterClause 选择为局部变量。您也可以将 filterClause 设置为
PermissionId='10596783046483894074' and ResourceId='0AKfRSSy6kZbfUk9PVA',而不是指定 entityId。运行此示例后,连接器任务的
connectorOutputPayload输出变量中会返回类似于以下内容的响应:{"PermissionId": "10596783046483894074", "ResourceId": "0AKfRSSy6kZbfUk9PVA"}
(PermissionId='10596783046483894074' and ResourceId='0AKfRSSy6kZbfUk9PVA')
{ "Role": "READER"}