使用 Canned ACL 直接将 Snowflake 数据卸载到 S3 位置
Unloading Snowflake data to S3 Location directly with Canned ACL
我正在尝试将 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 buckets会是什么场景??
您可能无法将固定 ACL 添加到 COPY INTO 语句中,但是您可以将所需的参数添加到存储集成中。
当您创建存储集成时或如果您必须更新它,请将其添加到声明中。
STORAGE_AWS_OBJECT_ACL = 'bucket-owner-full-control'
这应该确保您从 Snowflake 卸载到存储桶的任何数据都将让存储桶拥有者完全控制该对象。
我正在尝试将 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 buckets会是什么场景??
您可能无法将固定 ACL 添加到 COPY INTO 语句中,但是您可以将所需的参数添加到存储集成中。
当您创建存储集成时或如果您必须更新它,请将其添加到声明中。 STORAGE_AWS_OBJECT_ACL = 'bucket-owner-full-control'
这应该确保您从 Snowflake 卸载到存储桶的任何数据都将让存储桶拥有者完全控制该对象。