あけましておめでとうございます。
以前の記事で、SASを取り上げたことがありますが、Storage Client Libraryが、1.x -> 2.0,3.0にアップしてそのままでは動かないので自己修正。
Shared Access Signature - Azureの小ネタ (改)
以下アップロードした画像に、前後5分間の読み取り権限を与えている例です。
void Main() { string name = "..."; string key = "..."; var creds = new StorageCredentials(name, key); var account = new CloudStorageAccount(creds, false); var client = account.CreateCloudBlobClient(); var container = client.GetContainerReference("pictures"); container.CreateIfNotExists(); var blob = container.GetBlockBlobReference("a.png"); string file = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures) + @"/a.png"; blob.Properties.ContentType = "image/png"; blob.UploadFromFile(file, FileMode.Open); // 前後5分 読み込み権限を与える var sas = blob.GetSharedAccessSignature(new SharedAccessBlobPolicy() { SharedAccessStartTime = DateTime.UtcNow.AddMinutes(-5), SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(+5), Permissions = SharedAccessBlobPermissions.Read }); // オリジナルURI Console.WriteLine (blob.Uri.AbsoluteUri); // SAS付URIC Console.WriteLine (blob.Uri.AbsoluteUri + sas); }