【问题标题】:Connecting to Azure Blob Storage from R with SAS-URI "only"“仅”使用 SAS-URI 从 R 连接到 Azure Blob 存储
【发布时间】:2021-07-01 20:58:28
【问题描述】:

我正在尝试使用“AzureStor”包连接到 Azure Blob 存储。我的存储帐户只有一个 SAS URI。

获取消息:“错误请求 (HTTP 400)。无法完成存储服务操作。消息:InvalidUri。请求的 URI 不代表服务器上的任何资源。”

在 Microsoft Azure 存储资源管理器中,URI 有效。

这是我的代码

library(AzureStor)

end_point <- blob_endpoint("https://storagename.blob.core.windows.net/myname/",
                      sas = "sv=2018-xxxx0SCdi8aO6%2FyYzT0dHHPca0KhyNrFHtE%3D")

list_blob_containers(end_point)

【问题讨论】:

    标签: r azure-blob-storage


    【解决方案1】:

    我相信您收到此错误是因为您尝试使用 blob 容器 URL 来列出 blob 容器。

    请尝试将您的代码更改为:

    library(AzureStor)
    
    end_point <- blob_endpoint("https://storagename.blob.core.windows.net/",
                          sas = "sv=2018-xxxx0SCdi8aO6%2FyYzT0dHHPca0KhyNrFHtE%3D")
    
    list_blob_containers(end_point)
    

    请注意,使用 SAS 令牌列出 blob 容器需要您在 Service 级别获得具有 list 权限的 Account SAS 令牌。至少,您的 SAS 令牌应该具有:

    签名服务 (ss):Blob 服务 (b)

    签名资源类型 (srt):服务 (s)

    签名权限 (sp):列表 (l)

    如果您没有这些,您的列表 blob 容器操作将失败。

    【讨论】:

    • 谢谢,我猜你已经发现了问题。认为我需要获得此帐户 SAS。看看如何获​​得这个。谢谢
    猜你喜欢
    • 2020-03-18
    • 2015-05-29
    • 2021-10-22
    • 2020-10-05
    • 2022-08-03
    • 2022-09-28
    • 1970-01-01
    • 2018-07-24
    • 2020-05-28
    相关资源
    最近更新 更多