我是雪花新手。我正在尝试通过在雪花中使用天蓝色 blob 存储来创建存储集成,然后创建阶段。我已成功创建阶段,但无法访问(list @mydb.extn_stages.stage_json;)阶段,并显示以下错误消息,即
错误:“使用阶段区域失败。原因:[服务器无法验证请求。请参阅 www-authenticate 标头中的信息。(状态代码:401;错误代码:InvalidAuthenticationInfo)]”
注意:我已检查了 URL、租户 ID、检查了角色,并添加了 Azure 中的所有权限,但没有一个对我有用。
谁能帮我解决这个问题。
这是我到目前为止所做的命令
CREATE OR REPLACE STORAGE INTEGRATION azsf_mydb_aug23
TYPE = EXTERNAL_STAGE
STORAGE_PROVIDER = AZURE
ENABLED = TRUE
STORAGE_ALLOWED_LOCATIONS = ('azure://sampleblobstorage123456.blob.core.windows.net/sampleblob')
AZURE_TENANT_ID = '3b0393d8-32db-4ab6-b717-64a3193c5ace'
COMMENT = 'integration';
以上命令用于创建存储集成
//创建舞台对象
create or replace stage mydb.extn_stages.stage_json storage_integration =
azsf_mydb_aug23 url = 'azure://sampleblobstorage123456.blob.core.windows.net/sampleblob';
在下面的命令中我收到错误
//列出舞台中的文件
list @mydb.extn_stages.stage_json;
舞台区域使用失败。原因:服务器无法验证请求。 (状态代码:401;错误代码:InvalidAuthenticationInfo)在 AZURE 存储中
使用共享访问签名时,错误消息指出 Snowflake 无法访问远程文件,并建议您在 Azure Blob 存储中为 Snowflake 提供足够的访问权限。
要解决此问题:
授予 Snowflake 对存储位置的访问权限
DESCRIBE INTEGRATION
命令检索同意URL:DESC STORAGE INTEGRATION azsf_mydb_aug23;
AZURE_CONSENT_URL
列中的 URL。 单击“接受”按钮接受报价。这将在租户中选择的资源上为您的 Snowflake 帐户构建 Azure 服务主体。如图AZURE_MULTI_TENANT_APP_NAME
Storage Blob Data Contributor
角色授予在您的租户中创建的上述服务主体。此后,您将能够从 Snowflake 访问存储帐户