使用舞台区域失败。原因:[访问被拒绝(状态代码:403;错误代码:AccessDenied)]

Failure using stage area. Cause: [Access Denied (Status Code: 403; Error Code: AccessDenied)]

我是 snowflake 的新手,我已经创建了一个外部阶段并提供了我的 s3 存储桶 url。我的任务是将 json 文件从 s3 复制到雪花 table。当我 运行 复制命令时出现错误 .

我的命令如下:

create or replace file format investor_fileformat
  type = 'json';
  
  create or replace stage investor_stage
  file_format = investor_fileformat url ='s3://emb-ingest-pit/extract/active/Test120220110/';
  
create table temp (id variant)

copy into temp from @investor_stage/Investor_20220114.json

错误:使用阶段区域失败。原因:[访问被拒绝(状态代码:403;错误代码:AccessDenied)]。

在互联网上搜索时,它说我需要“S3 bucket Integration”。我还没有创建一个需要这个吗?

谢谢, 习

您似乎没有设置对 s3 的安全访问。您可能想阅读 documentation

s3 存储桶集成是使用雪花中的存储集成完成的。存储集成用于 authenticate/authorise s3 访问。 Stage 是在存储集成之上创建的,用于访问您想要的 s3 位置。

在此处阅读如何创建存储集成并访问外部存储:https://docs.snowflake.com/en/user-guide/data-load-s3-config-storage-integration.html

请务必遵循上述文档(非常详尽),如果您遇到任何挑战,请告诉我