从 Azure SAS URI 创建 BlobContainerClient

Wil*_*son 3 c# azure azure-blob-storage

在 Microsoft.Azure.Storage.Blob 库中,您可以使用 SAS URI 创建 Blob 上传客户端。

var cloudBlockBlob = new CloudBlockBlob(blobSasUri);
Run Code Online (Sandbox Code Playgroud)

但是,该库已被弃用,取而代之的是 Azure.Storage.Blobs。我不确定如何使用 SAS URI 创建 BlobContainerClient 实例,因为该类的构造函数都不允许使用 URI 参数。这可能吗?或者我是否只需要使用 HttpClient 来调用 Blob 服务?

Iva*_*ang 6

在库中,您可以使用此构造函数Azure.Storage.Blobs创建实例:BlobContainerClient

public BlobContainerClient(Uri blobContainerUri, BlobClientOptions options = null);

例如,您有container sas uri如下所示的内容:

"https://xxx.blob.core.windows.net/mycontainer111?sv=2019-12-12&ss=bfqt&srt=sco&sp=rwdlacupx&se=2020-10-27T08:45:57Z&st=2020-10-27T00:45:57Z&spr=https&sig=xxxxxx";
Run Code Online (Sandbox Code Playgroud)

然后你可以使用下面的代码来创建BlobContainerClient实例:

        string sasuri = "https://xxx.blob.core.windows.net/mycontainer111?sv=2019-12-12&ss=bfqt&srt=sco&sp=rwdlacupx&se=2020-10-27T08:45:57Z&st=2020-10-27T00:45:57Z&spr=https&sig=xxxxxx";
        Uri container_uri = new Uri(sasuri);
        var container_client = new BlobContainerClient(container_uri);

        //other code
Run Code Online (Sandbox Code Playgroud)