ブロブデータを特定のAzureアカウントにアップロードできるライブラリを作成する必要があります。ここで例によるとWindows Azure Storage Clientでblobアップロード操作を承認する適切な方法は何ですか?
x-ms-date, x-ms-version, Content-MD5, x-ms-blob-type, Content-Type, Authorization
:以下のパラメータは、外部のWebサービスによって、動的に提供されます
私のようなものを持つ唯一のURLとSasTokenでBLOBデータをアップロードすることができるはずです:
Uri blobUri = new Uri("http://127.0.0.1:10000/devstoreaccount1/sascontainer/myblob.txt");
// Create credentials with the SAS token. The SAS token was created in previous example.
StorageCredentials credentials = new StorageCredentials(sasToken);
// Create a new blob.
CloudBlockBlob blob = new CloudBlockBlob(blobUri, credentials);
// Upload the blob.
// If the blob does not yet exist, it will be created.
// If the blob does exist, its existing content will be overwritten.
using (var fileStream = System.IO.File.OpenRead(@"c:\Temp\myblob.txt"))
{
blob.UploadFromStream(fileStream);
}
ただし、上記はsasTokenがこれに似ているとします
?sv=2015-07-08&sr=c&si=mypolicy&sig=FQctgR3waFrWpblkNJf6HYXAVa0%2BkxFUbP8Fr2op%2F%2FI%3D
私serwiceは、これだけが提供されますが:REST APIでこれを行う方法で
https://msdn.microsoft.com/en-us/library/azure/dd179451.aspx
:
私はここにいくつかの例を発見した{
"Key": "Authorization",
"Value": "SharedKey storageAccountName:Tz7EqAl6OszIxGjBUk2qcxs82Af4Xq9CxyFx6u34LEI="
}
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblockblob HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-date: <date>
Content-Type: text/plain; charset=UTF-8
x-ms-blob-content-disposition: attachment; filename="fname.ext"
x-ms-blob-type: BlockBlob
x-ms-meta-m1: v1
x-ms-meta-m2: v2
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Content-Length: 11
Request Body:
hello world
しかし、私はアズールに新しい、私はストレージクライアントで上記を行う方法を見つけ出すことはできません...私は何とか手動で文字列パラメータを照会するために提供さヘッダパラメータを「マップ」またはより良い/他の方法がある必要がありますか?または、これはStorage Clientでサポートされていない可能性があり、RESTアプローチを使用する必要がありますか?
EDIT1:
明確にする:I - 多かれ少なかれ - 限り、それはこのフォームを持っているとして、SASのトークンでブロブをアップロードする方法、知っている:
問題がある - このトークンはを提供されることはありません - 代わりに、我々はWebサービスを公開する、と統合しようとしているウェブサイト、および(我々が制御することはできません)このWebサービスはトンを提供します5つのパラメータ(以下の例のデータ)は、次の彼は:
{
"Key": "x-ms-date",
"Value": "Mon, 13 Jun 2016 10:22:05 GMT"
},
{
"Key": "x-ms-version",
"Value": "2015-04-05"
},
{
"Key": "Content-MD5",
"Value": "dnF5x6K/8ZZRzpfSlMMM+w=="
},
{
"Key": "x-ms-blob-type",
"Value": "BlockBlob"
},
{
"Key": "Content-Type",
"Value": "application/octet-stream"
},
{
"Key": "Authorization",
"Value": "SharedKey taxdocumentstorage09tst:sImBLJPWACNPzi94eJEDRU4Bt5hz9sPURjwy46KixmM="
}
答えてくれてありがとう - それで私が何かの事例を見つけることができなかった理由を説明してくれるだろう...ほぼ3日間無駄だ... :( URLは既に提供されているが、 JSONのみの "パラメータ" - 混乱してごめんなさい 誰もストレージクライアントでこれを行う方法に関する代替の回答を投稿しない場合は、私はあなたの投稿を回答としてマークします:) – user2384366