AzureBlob存储连接器-CreateFile/DeleteFile-Id,与.NET的Azure存储Blob客户端



我有一个使用AzureBlobStorage连接器(连接器(的powerapp。但是,此应用程序必须与使用Azure Storage Blob.NET客户端库(api(批量上传的数据进行交互。

当您使用连接器创建blob时,您将获得和Id,然后可用于删除blob。

然而,当使用api创建Blob时,我看不出如何获得该ID(您只使用blobid,即文件名(。因此,无法在Power应用程序中删除正在批量创建的数据。

连接器在调用CreateFile时返回Blob元数据对象。

api在调用UploadBlob时返回一个BlobContentInfo。此元数据对象不包含Id或任何与BlobMetadata.Id.格式匹配的内容

有人知道我如何从API获取此Id吗?

您可以从BlobProperties.Metadata获取Blob元数据。这是关于使用.Net.设置和检索元数据的文档

// Get a reference to a container named "sample-container" and then create it
BlobContainerClient container = new BlobContainerClient(connectionString, containerName);
// Get a reference to a blob named "sample-file" in a container named "sample-container"
BlobClient blob = container.GetBlobClient(blobName);
await ReadBlobMetadataAsync(blob);
// Retrieve metadata
public static async Task ReadBlobMetadataAsync(BlobClient blob)
{
try
{
// Get the blob's properties and metadata.
BlobProperties properties = await blob.GetPropertiesAsync();
Console.WriteLine(properties.BlobType);
Console.WriteLine("Blob metadata:");

// Enumerate the blob's metadata.
foreach (var metadataItem in properties.Metadata)
{
Console.WriteLine($"tKey: {metadataItem.Key}");
Console.WriteLine($"tValue: {metadataItem.Value}");
}
}
catch (RequestFailedException e)
{
Console.WriteLine($"HTTP error code {e.Status}: {e.ErrorCode}");
Console.WriteLine(e.Message);
Console.ReadLine();
}
}

您也可以使用Azure CLI获取元数据,请参阅此处。

最新更新