使用 SAS-URI 从 R 连接到 Azure Blob 存储 "only"
Connecting to Azure Blob Storage from R with SAS-URI "only"
我正在尝试使用“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)
我认为您收到此错误是因为您正在尝试使用 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 容器操作将失败。
我正在尝试使用“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)
我认为您收到此错误是因为您正在尝试使用 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 容器操作将失败。