来自 BlobItem 的 URL

rhu*_*hes 5 c# azure azure-storage-blobs

我想获取BlobItem.

在 Azure 门户中,我可以在属性部分看到 URL,但是当我BlobItemProperties从 中获取对象时BlobItem,我找不到该URL属性。

这是我到目前为止所拥有的:

var blobContainerClient = new BlobContainerClient(connectionString, containerName);

await foreach (var blob in blobContainerClient.GetBlobsAsync())
{
    blob.Properties.???
}
Run Code Online (Sandbox Code Playgroud)

小智 14

你可以这样做:

var blobContainerClient = new BlobContainerClient(connectionString, containerName);

await foreach (var blob in blobContainerClient.GetBlobsAsync())
{
    BlobClient blobClient = blobContainerClient.GetBlobClient(blob.Name);
    var uri = blobClient.Uri;
}
Run Code Online (Sandbox Code Playgroud)


Saj*_*ran 6

最新的 SDK 没有 AbsoluteUri 或 Uri 属性,您实际需要做的是根据 Container Uri 生成一个 url。

你可以得到容器 Uri,

var containerUri = blobContainerClient.Uri.AbsoluteUri;
Run Code Online (Sandbox Code Playgroud)

然后你可以生成为

List<string> results = new List<string>();
await foreach (BlobItem blobItem in containerClient.GetBlobsAsync())
            {
                results.Add(
                    Flurl.Url.Combine(
                        containerClient.Uri.AbsoluteUri,
                        blobItem.Name
                    )
                );
            }
Run Code Online (Sandbox Code Playgroud)

还要确保导入,

using Flurl;
Run Code Online (Sandbox Code Playgroud)