【发布时间】:2021-12-18 14:58:03
【问题描述】:
我有一个指向公共文件的 S3 URL,类似于以下 URL 示例:s3://test-public/new/solution/file.csv(这不是实际链接。只是一个与我正在使用的相近的例子)
我可以在 python 脚本中使用 s3fs 模块读取文件,无需放置任何 AWS 密钥 ID 或 AWS 密钥,如下所示:
with fs.open('test-public/new/solution/file.csv'):
但是,当我尝试从 S3 到 Snowflake 阶段或从 Table 读取相同的文件时 -> Load table,Snowlake 报告缺少 AWS 密钥 ID 和 AWS 密钥,尽管这些字段是可选的
有没有一种方法可以在没有任何 AWS 凭证的情况下将公共文件从 S3 读取到雪花表中(与 s3fs 一样)?
【问题讨论】:
-
你可以给它一个垃圾密钥/秘密,但我没有尝试过。
-
@parsifal 我已经尝试过了,它不起作用
-
您是否尝试过创建没有这些参数的阶段,然后在 COPY 语句中引用该阶段?如果您在帖子中包含您的 COPY 命令详细信息,将会很有帮助。
-
STORAGE_INTEGRATION = integration_name 或 CREDENTIALS = ( cloud_specific_credentials ) 仅当存储位置为私有/受保护时才需要;公共存储桶/容器不需要,因此在您的情况下,如果您有公共存储桶,则可以跳过它们。
标签: amazon-web-services amazon-s3 snowflake-cloud-data-platform snowflake-schema python-s3fs