ユーザーを専用の空白のBLOBストレージにリダイレクトすることはできますか? 私はこれをSASキーまたは紺のBLOB SDKを使って行うことができますか?
はい、完全にプライベートブロブにリダイレクトできます。少なくともRead
の権限を持つShared Access Signature (SAS)
を作成し、そのSASトークンをblob URLに追加し、そのURLにリダイレクトする必要があります。
あなたのコードは次のようになります:
var cred = new StorageCredentials(accountName, accountKey);
var account = new CloudStorageAccount(cred, true);
var client = account.CreateCloudBlobClient();
var container = client.GetContainerReference("container-name");
var blob = container.GetBlockBlobReference("blob-name");
var sasToken = blob.GetSharedAccessSignature(new SharedAccessBlobPolicy()
{
Permissions = SharedAccessBlobPermissions.Read,
SharedAccessExpiryTime = DateTime.UtcNow.AddHours(1)//Assuming you want the link to expire after 1 hour
});
var blobUrl = string.Format("{0}{1}", blob.Uri.AbsoluteUri, sasToken);
var response = Request.CreateResponse(HttpStatusCode.Moved);
response.Headers.Location = new Uri(bloburl);
return response;
これは私が必要なものだけ素晴らしい感謝、です。私は、BLOB URLにSASキーを追加し、そのように参照することができるかどうかはわかりませんでした。私は実装しようとした後に報告します。 – Jaked222
簡単な質問:すべてのBLOBリクエストに対してパフォーマンス上の理由から新しいSASキーを作成することには欠点はありますか?また、アプリケーションはこのAPIを使用してBLOBリンクを介して1つの画像をダウンロードするだけなので、1分で各リンクの有効期限が切れても問題ありません。同じBLOBの2回目のリクエストでも新しいSASキーが作成されると思います。 – Jaked222
'すべてのBLOBリクエストに対して新しいSASキーをパフォーマンス面で作成することには欠点はありますか? ' - 私は考えることができない。 SASキーの作成はネットワークコールを行わないので、ネットワークやIOオーバーヘッドはありません。 –