【发布时间】:2019-11-19 15:13:08
【问题描述】:
我想将文件从 GCS 传输到 S3。测试我的连接的第一个操作员 (S3KeySensor) 运行良好。但不幸的是,我收到第二个错误(GoogleCloudStorageToS3Operator): “调用 ListObjectsV2 操作时发生错误 (AccessDenied):访问被拒绝”,这是一个 S3 错误。
# test
sensor = S3KeySensor(
task_id='check_s3_for_file_in_s3',
bucket_key='folder1/folder2/*',
wildcard_match=True,
bucket_name='test.mydomain.com',
aws_conn_id='aws_connection',
timeout=18*60*60,
poke_interval=120,
dag=dag)
impressions_from_gcs_to_s3 = GoogleCloudStorageToS3Operator(
task_id='impressions_from_gcs_to_s3',
bucket="mygcsbucket",
delimiter=filename,
google_cloud_storage_conn_id="google_cloud_storage_default",
dest_aws_conn_id="aws_connection",
dest_s3_key="s3://test.mydomain.com/folder1/folder2/",
dag=dag,
)
我不确定如何解决此问题。
【问题讨论】:
-
这是一个 S3 错误。与您的 AWS 管理员合作,让用户从 ListObjectsV2 操作的气流权限访问 S3。
-
我没有问题要做:“aws s3 ls s3://...” 没有 ListObjectsV2 操作可以吗?
-
您用于测试
aws s3 ls s3://etc的本地用户是否与气流用户相同?从你的问题来看,GoogleCloudStorageToS3Operator似乎需要使用ListObjectsV2所以我会说这是不可能的。 -
我确认是同一用户。
-
听起来这就是问题所在!
标签: amazon-s3 google-cloud-storage airflow