Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

Storage SDKを使ってSAS付きコンテナに書き込みする

前回の投稿ではBLOBへのSASであったわけですが、今回はコンテナレベルにSASをあたえる例です。 CloudBlobContainerに対して、同じような操作をすればよく、コードだけ例だけ貼り付けておきます。

    var sas = container.GetSharedAccessSignature(new SharedAccessBlobPolicy()
    {
       SharedAccessStartTime  = DateTime.UtcNow.AddMinutes(-5),
       SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(+5),
       Permissions = SharedAccessBlobPermissions.Write | SharedAccessBlobPermissions.Read
    });

    Console.WriteLine (container.Uri.AbsoluteUri);
    Console.WriteLine (container.Uri.AbsoluteUri + sas);

    
    var container2 = new CloudBlobContainer(new Uri(container.Uri.AbsoluteUri + sas));
    container2.GetBlockBlobReference("a.txt").UploadText("hello");  
   
    var creds3 = new StorageCredentials(sas);
    var container3 = new CloudBlobContainer(container.Uri, creds3);
    container3.GetBlockBlobReference("b.txt").UploadText("hello");