雪花:无法使用阶段(S3)-SQL编译错误:阶段不存在或未经授权

人气:939 发布:2022-10-16 标签: snowflake-cloud-data-platform

问题描述

我通过(我也尝试过公共存储桶)在Snowflake中创建了一个外部舞台

CREATE OR REPLACE stage "DATABASE"."SCHEMA"."STAGE_NAME"
    url='s3://bucket'
    CREDENTIALS=(AWS_KEY_ID='xxxxxxxxxxxx' AWS_SECRET_KEY='xxxxxxxxxxxx'); 

我可以通过

查看该阶段的参数
SHOW STAGES

DESC STAGE "DATABASE"."SCHEMA"."STAGE_NAME"

但是,每当我尝试与此阶段交互(例如,LIST@STAGE_NAME或加载文件)时都会收到错误。

SQL compilation error: Stage 'DATABASE.SCHEMA.STAGE_NAME' does not exist or not authorized.

我尝试过不同的雪花角色,但都不能成功。有谁能告诉我去哪里找吗?也许我必须为舞台分配任何权限?

推荐答案

这很奇怪,但如果名称由大写字母组成,我可以列出一个舞台。不需要其他权限。

工作正常

CREATE OR REPLACE stage "DATABASE"."SCHEMA"."STAGE_NAME"
    url='s3://bucket'
    CREDENTIALS=(AWS_KEY_ID='xxxxxxxxxxxx' AWS_SECRET_KEY='xxxxxxxxxxxx'); 
LIST @STAGE_NAME

退货阶段不存在或未经授权。

CREATE OR REPLACE stage "DATABASE"."SCHEMA"."Stage_Name"
    url='s3://bucket'
    CREDENTIALS=(AWS_KEY_ID='xxxxxxxxxxxx' AWS_SECRET_KEY='xxxxxxxxxxxx'); 
LIST @Stage_Name

同时,我在运行";show ages";命令时可以看到所有阶段。

命名有什么限制吗?到目前为止我还没有找到。

684