要从 AWS Glue 中连接到 Google BigQuery,您需要创建 Google Cloud Platform 凭证并将其存储在 AWS Secrets Manager 密钥中,然后将该密钥与 Google BigQuery AWS Glue 连接关联。
要配置与 BigQuery 的连接:
在 Google Cloud Platform,创建并识别相关资源:
创建或标识包含您想要连接的 BigQuery 表的 GCP 项目。
启用 BigQuery API。有关更多信息,请参阅使用 BigQuery 存储读取 API 读取表数据
。
在 Google Cloud Platform 中,创建和导出服务账户凭证:
您可以使用 BigQuery 凭证向导来加快此步骤:创建凭证
。 要在 GCP 中创建服务账户,请按照创建服务账户
中的教程进行操作。 -
选择项目时,请选择包含您的 BigQuery 表的项目。
-
为您的服务账户选择 GCP IAM 角色时,请添加或创建一个角色,该角色将授予运行 BigQuery 作业的相应权限,以读取、写入或创建 BigQuery 表。
要为您的服务账户创建凭证,请按照创建服务账户密钥
中的教程进行操作。 -
在选择密钥类型时,请选择 JSON。
现在,您应该已经下载了包含服务账户凭证的 JSON 文件。如下所示:
{ "type": "service_account", "project_id": "*****", "private_key_id": "*****", "private_key": "*****", "client_email": "*****", "client_id": "*****", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "*****", "universe_domain": "googleapis.com" }
-
base64 对您下载的凭证文件进行编码。在 AWS CloudShell 会话或类似会话中,您可以通过运行
cat
从命令行执行此操作。保留此命令的输出credentialsFile.json
| base64 -w 0credentialString
。在 AWS Secrets Manager 中,使用您的 Google Cloud Platform 凭证创建密钥。要在 Secrets Manager 中创建密钥,请按照 AWS Secrets Manager 文档中创建 AWS Secrets Manager 密钥中的教程进行操作。创建密钥后,保留密钥名称
secretName
,以供下一步使用。-
在选择键/值对时,请使用值
credentialString
为键credentials
创建对。
-
在 AWS Glue Data Catalog 中,按照 https://docs.aws.amazon.com/glue/latest/dg/console-connections.html 中的步骤创建连接。创建连接后,保留连接名称
connectionName
,以供下一步使用。在选择连接类型时,请选择 Google BigQuery。
选择 AWS 密钥时,请提供
secretName
。
向与您的 AWS Glue 作业关联的 IAM 角色授予读取
secretName
的权限。在 AWS Glue 作业配置中,提供
connectionName
作为附加网络连接。