直接使用固定ACL将Snowflake数据卸载到S3位置

时间:2020-01-23 12:32:31

标签: amazon-web-services amazon-s3 snowflake-cloud-data-platform snowflake-schema

我正在尝试将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读取新文件。 那么,如何在从Snowflake写入S3时添加“ Bucket-Owner-Full-Control”的罐装ACL?而且我对Google Cloud Storage的了解不多,GCS存储桶中的情况将如何?

1 个答案:

答案 0 :(得分:0)

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

当您创建存储集成或必须更新它时,请将其添加到声明中。 STORAGE_AWS_OBJECT_ACL = 'bucket-owner-full-control'

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

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