You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake外部阶段:Azure SAS令牌刷新及过期查询咨询

关于Snowflake Azure外部阶段SAS令牌的问题解答

问题背景

我们的应用会为每个客户分配一个Azure Blob容器,Snowflake通过为每个客户创建的外部阶段定期从中复制数据。创建外部阶段的SQL语句如下:

CREATE STAGE db.public.cust_1_ext_stage url = 'azure://cust_container.blob.core.windows.net/data-copy' credentials =(
        azure_sas_token = 'sas_token_for_customer'
    ) file_format = (type = JSON, compression = GZIP);

当前遇到的问题是该SAS令牌每7天过期,现咨询以下两个问题:

  1. Snowflake是否支持刷新SAS令牌?查阅文档未找到相关方法。
  2. 若不支持刷新,能否通过Snowflake查询获取SAS令牌的过期时间,以便我们通过应用逻辑更新凭据?尝试过SHOW STAGES;仅能得知存在凭据,无其他信息。

解答

1. Snowflake是否支持刷新SAS令牌?

Snowflake目前不支持直接刷新外部阶段的SAS令牌。阶段创建完成后,没有内置命令可以直接更新已配置的SAS令牌。要更新令牌,只能通过ALTER STAGE语句重新设置凭据,替换过期的SAS令牌,示例语句如下:

ALTER STAGE db.public.cust_1_ext_stage
SET credentials = (azure_sas_token = 'new_valid_sas_token');

2. 能否查询SAS令牌的过期时间?

Snowflake不会存储或暴露SAS令牌的具体内容(包括过期时间),通过SHOW STAGES或其他系统视图只能看到阶段已配置凭据,但无法获取令牌的详细信息。

如果需要跟踪SAS令牌的过期时间,只能在应用侧自行管理:在生成和配置SAS令牌时,记录下其过期时间,到临近过期时触发ALTER STAGE操作更新令牌。

内容的提问来源于stack exchange,提问作者HelloWorld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 15:25:26