使用 blob 的 SAS URI 查找 azure 存储的类型
Find the type of azure storage using SAS URI of blob
我想知道如何判断 type of azure storage 是否基于 blob 的 SAS URI?或者更具体地说,如何知道它是 PageBlob 还是 BlockBlob。
只需向 SAS URI 发出 HEAD 请求即可获得 REST API that returns a type of blob,如果文件存在,响应中会有一个字段 header x-ms-blob-type
指示 blob 的类型.但是,如果文件不存在,它会返回 returns 404。现在,当我们收到 404 时,我们可以使用 BlockBlob 上传一个虚拟文件,如果失败,我们就知道它是一个 PageBlob。但我想知道有没有更好的方法?更直接的方法。
SAS URI 示例:
var sasUriStr = "https://storageaccountname.blob.core.windows.net/containername/file?sp=r&st=2021-08-10T00:34:00Z&se=2021-08-15T08:34:00Z&spr=https&sv=2020-08-04&sr=c&sig=ABCDEFGH/YJKLMNOP=";
有一种方法可以找到该信息,但它需要您引入自己的逻辑,并且需要不同类型的 SAS 令牌。
您需要做的是使用该令牌创建一个 Account SAS
(currently you're using Service SAS) and then invoke Get Account Information
REST API。接下来,您需要提取 x-ms-sku-name
和 x-ms-account-kind
响应 headers。基于这些值,您将必须为支持的 blob 类型提出一个逻辑。例如,
- 如果
x-ms-account-kind
的值为BlobStorage
,则只支持Block Blobs
和Append Blobs
。
- 如果
x-ms-account-kind
的值不是BlobStorage
或BlockBlobStorage
,x-ms-sku-name
的值是PremiumLRS
,则只支持Page Blobs
.
前段时间我写了一篇博客 post,其中我创建了一个由帐户类型和 SKU 支持的功能矩阵。您可以在此处阅读该博客 post:https://www.ais.com/how-to-choose-the-right-kind-of-azure-storage-account/
来自这个博客 post:
我想知道如何判断 type of azure storage 是否基于 blob 的 SAS URI?或者更具体地说,如何知道它是 PageBlob 还是 BlockBlob。
只需向 SAS URI 发出 HEAD 请求即可获得 REST API that returns a type of blob,如果文件存在,响应中会有一个字段 header x-ms-blob-type
指示 blob 的类型.但是,如果文件不存在,它会返回 returns 404。现在,当我们收到 404 时,我们可以使用 BlockBlob 上传一个虚拟文件,如果失败,我们就知道它是一个 PageBlob。但我想知道有没有更好的方法?更直接的方法。
SAS URI 示例:
var sasUriStr = "https://storageaccountname.blob.core.windows.net/containername/file?sp=r&st=2021-08-10T00:34:00Z&se=2021-08-15T08:34:00Z&spr=https&sv=2020-08-04&sr=c&sig=ABCDEFGH/YJKLMNOP=";
有一种方法可以找到该信息,但它需要您引入自己的逻辑,并且需要不同类型的 SAS 令牌。
您需要做的是使用该令牌创建一个 Account SAS
(currently you're using Service SAS) and then invoke Get Account Information
REST API。接下来,您需要提取 x-ms-sku-name
和 x-ms-account-kind
响应 headers。基于这些值,您将必须为支持的 blob 类型提出一个逻辑。例如,
- 如果
x-ms-account-kind
的值为BlobStorage
,则只支持Block Blobs
和Append Blobs
。 - 如果
x-ms-account-kind
的值不是BlobStorage
或BlockBlobStorage
,x-ms-sku-name
的值是PremiumLRS
,则只支持Page Blobs
.
前段时间我写了一篇博客 post,其中我创建了一个由帐户类型和 SKU 支持的功能矩阵。您可以在此处阅读该博客 post:https://www.ais.com/how-to-choose-the-right-kind-of-azure-storage-account/
来自这个博客 post: