使用标准 ACL 直接将雪花数据卸载到 S3 位置



我正在尝试将 Snowflake 中特定查询的结果直接卸载到 S3 位置。

copy into 's3://bucket-name/folder/text.csv' 
from <Some SQL Query>
file_format = (type = CSV file_extension = '.csv' field_optionally_enclosed_by = NONE empty_field_as_null = false) 
max_file_size = 5000000000 
storage_integration = aws 
single = true;

这样做的问题是,在写入成功后,由于 ACL,存储桶拥有者无法从 S3 读取新文件。 那么,如何在从雪花写入 S3 时添加"存储桶所有者完全控制"的固定 ACL?而且我对谷歌云存储不太感兴趣,GCS存储桶中的情况是什么?

您可能无法将标准 ACL 添加到 COPY INTO 语句中,但您可以做的是将所需的参数添加到存储集成中。

当您创建存储集成或必须更新它时,请将其添加到语句中。STORAGE_AWS_OBJECT_ACL ="存储桶拥有者完全控制">

这应该确保您从 Snowflake 卸载到存储桶的任何数据都将让存储桶拥有者完全控制对象。

https://docs.snowflake.com/en/user-guide/data-unload-s3.html#configuring-support-for-amazon-s3-access-control-lists-optional

最新更新