database - 使用舞台区域失败。 AZURE 存储中的原因 : Server failed to authenticate the request.(状态代码:401;错误代码:InvalidAuthenticationInfo)

标签 database azure snowflake-cloud-data-platform http-status-code-401

我是雪花新手。我正在尝试通过在雪花中使用 azure blob 存储来创建存储集成,然后创建阶段。我已成功创建阶段,但无法访问(list @mydb.extn_stages.stage_json;)阶段,并显示以下错误消息,即

错误:“使用阶段区域失败。原因:[服务器无法验证请求。请参阅 www-authenticate header 中的信息。(状态代码: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;

最佳答案

Failure using stage area. Cause: Server failed to authenticate the request. (Status Code: 401; Error Code: InvalidAuthenticationInfo) in AZURE Storage

使用共享访问签名时,错误消息指出 Snowflake 无法访问远程文件,并建议您在 Azure Blob 存储中为 Snowflake 提供足够的访问权限。

要解决此问题:

授予 Snowflake 对存储位置的访问权限

  • 执行DESCRIBE INTEGRATION 命令以检索同意 URL:
DESC STORAGE INTEGRATION azsf_mydb_aug23;

enter image description here

  • 导航到网络浏览器中 AZURE_CONSENT_URL 列中的 URL。 点击“接受”按钮接受报价。这将在租户中选择的资源上为您的 Snowflake 帐户构建 Azure 服务主体。如AZURE_MULTI_TENANT_APP_NAME
  • 所示

enter image description here

  • 向在您的租户中创建的上述服务主体授予Storage Blob Data Contributor角色。

enter image description here

此后,您将能够从 Snowflake 访问存储帐户

关于database - 使用舞台区域失败。 AZURE 存储中的原因 : Server failed to authenticate the request.(状态代码:401;错误代码:InvalidAuthenticationInfo),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76837782/

相关文章:

NHibernate 与 Entity Framework 4.1 中的数据库支持

mysql - 在 ruby​​ 项目中将 mysql 更改为 postgresql 的最佳方法是什么

java - 如何通过Java将字节数组插入到SQL中?

wcf - 我得到 For TransferMode.Buffered, MaxReceivedMessageSize 和 MaxBufferSize 必须是相同的值

data-warehouse - 无法在 FK 约束中找到列名

snowflake-cloud-data-platform - 权限不足,无法删除架构

sql - 如何将 VARIANT 数据插入雪花表?

sql - 如何存储稀疏邻接矩阵

Azure SQL DB 速度慢(连接/性能)

c# - 如何通过 C# 在 Azure 表中监听新记录插入