gpt4 book ai didi

c# - 如何使用 BlobLeaseClient 租用 Azure 存储容器中的单个 blob?

转载 作者:行者123 更新时间:2023-12-02 19:12:05 37 4
gpt4 key购买 nike

有关此的文档似乎非常困惑。似乎可以使用现已弃用的 Microsoft.Azure.Storage.Blob nuget 包(使用 CloudBlobContainer.AcquireLease)来实现这一点。方法。

更新后的 BlobLeaseClientAcquire()方法指出:

The Acquire(TimeSpan, RequestConditions, CancellationToken) operationacquires a lease on the blob or container.

但尚不清楚如何使用它。尽管我找到了已弃用的软件包的示例,但我找不到任何此类示例。

目前我有这个:

//injected using AddBlobServiceClient, etc. Uses DefaultAzureCredential
private BlobContainerClient blobContainerClient;

blobContainerClient = blobServiceClient.GetBlobContainerClient("containerName");



BlobLeaseClient blc = blobContainerClient.GetBlobLeaseClient();

//throws exception here
BlobLease bl = await blc.AcquireAsync(new TimeSpan(0, 0, 30));

但是当我运行这个时,我得到:

The value for one of the HTTP headers is not in the correct format.
RequestId:<guid>
Time:2020-09-30T10:28:47.8781946Z
Status: 400 (The value for one of the HTTP headers is not in the correct format.)
ErrorCode: InvalidHeaderValue

Headers:
Server: Windows-Azure-Blob/1.0,Microsoft-HTTPAPI/2.0
x-ms-request-id: <guid>
x-ms-client-request-id: <guid>
x-ms-version: 2019-12-12
x-ms-error-code: InvalidHeaderValue
Date: Wed, 30 Sep 2020 10:28:47 GMT
Content-Length: 328
Content-Type: application/xml

我也不确定这是否会租用 bob,因为我从未指定要租用哪个 blob。

有谁知道如何在这种情况下正确使用 BlobLeaseClient 吗?

最佳答案

首先您需要获取对 blob 的引用:

blobContainerClient = blobServiceClient.GetBlobContainerClient("containerName");
var blobClient = blobContainerClient.GetBlobClient("my.blob");

然后创建一个租赁客户端并获取租约:

var blc = blobClient.GetBlobLeaseClient();
var bl = await blc.AcquireAsync(TimeSpan.FromSeconds(30))

关于c# - 如何使用 BlobLeaseClient 租用 Azure 存储容器中的单个 blob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64135698/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com