问题描述
我通过(我也尝试过公共存储桶)在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";命令时可以看到所有阶段。
命名有什么限制吗?到目前为止我还没有找到。