我试图读取数据从外部bigquery表(即链接到谷歌工作表)在apache梁管道如下,稍后加载到bigquery表只。
但是代码在读取数据时失败并出现以下错误,
错误:“访问被拒绝:BigQuery BigQuery:获取驱动器凭据时权限被拒绝。”
数据流代码:
with beam.Pipeline(options=google_cloud_options) as p:
# Step 1: Get URL list from BigQuery table
urls = (
p | 'Get URLs from BQ Table' >> beam.io.ReadFromBigQuery(
query="""
SELECT cast(id as INT64) AS site_id, url
FROM `my-project.my_dashboard.MAP_URLS_GSHEET`
""",
use_standard_sql=True
)
)
请您在这里提供帮助,如何解决这个问题,即特别是在通过数据流运行时?
您需要将BigQuery权限添加到正在Dataflow作业/辅助角色上使用的服务号。
请查看https://cloud.google.com/dataflow/docs/concepts/security-and-permissions#worker-service-account了解更多信息。