首页 > 解决方案 > 如何授权 Lambda 函数发布到 BigQuery?

问题描述

在过去的两天里,我一直被这个问题困扰。我想使用 Lambda 作为 Cron 操作从我的数据库中获取数据并将其发布到 BigQuery。

我想知道如何使用我的 Lambda 函数中的服务帐户文件授权对 BigQuery 的访问。

语境

我正在使用以下内容:

尝试

项目结构

问题

所以这是我的问题:

  1. 是否可以使用无服务器框架使用文件路径和文件连接到 BigQuery .env
  2. 为什么 Google 不允许您使用访问密钥连接到 BigQuery?相反,我必须指定我的文件的路径。
  3. 有没有办法在 KMS 中存储文件并在部署到 Lambda 时对其进行解密?

标签: aws-lambdagoogle-bigqueryaws-kms

解决方案


我知道这很旧,但我是怎么做到的:

我使用 cred.json 文件创建了一个lambda 层,并将 lambda 层附加到在我的 serverless.yml 中使用 gcp 大查询的特定函数。

我在 .yml 之外创建它,因为我不希望我的 cred.json 成为我在 github 中的团队存储库的一部分(安全问题)。

使用 lambda 层,在每个 lambda 启动时,该文件将在本地机器的路径中可用:'/opt/cred.json'

将以下内容添加到 serverless.yml 中的功能块中:

layers:
  - arn:aws:lambda:{$region}:{$account):layer:lambda-layer-gcp-bigquery-keyfile:1

推荐阅读