Azure CLIを使用してこれを行うことができますが、一般的なLinux/Unixコマンドを使用したいと思います。wgetまたはcurlを使用してAzure Blobを共有アクセスシグネチャでダウンロードする
私は個人用のAzure Blob Containerを持っています。それをhttps://my-account.blob.core.windows.net/my-blob-container/my-file.my-extensionとしましょう。
私のコンテナが「ブロブ専用のパブリック読み取りアクセス」に設定されている場合、すべて正常に機能します。 https://my-account.blob.core.windows.net/my-blob-container/my-file.my-extension?sv=2015-02-21&si=my-policy&sr=b&sig=y%2B2pvIuR9rGQdvm%2FQKp0xNCWE%2B1G%2F2IqjHkWMhRcPUA%3D
$ wget https://my-account.blob.core.windows.net/my-blob-container/my-file.my-extension
--2016-04-28 16:11:15-- https://my-account.blob.core.windows.net/my-blob-container/my-file.my-extension
Resolving my-account.blob.core.windows.net (my-account.blob.core.windows.net)... 4.11.2.14
Connecting to my-account.blob.core.windows.net (my-account.blob.core.windows.net)|4.11.2.14|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 21682 (21K) [application/octet-stream]
Saving to: ‘my-file.my-extension’
私のコンテナが「いいえパブリックアクセス」に設定され、私がアクセスポリシーを作成している場合は、1年間の読み取り/書き込み/削除/一覧で、my-policy
と呼ばれ、私は次のダイレクトリンクを取得します
リンクをブラウザにコピーすると、ファイルが自動的にダウンロードされます。私はwget
を使用している場合は、私が404エラーを取得:
$ wget https://my-account.blob.core.windows.net/my-blob-container/my-file.my-extension?sv=2015-02-21&si=my-policy&sr=b&sig=y%2B2pvIuR9rGQdvm%2FQKp0xNCWE%2B1G%2F2IqjHkWMhRcPUA%3D
[4] 14106
[5] 14107
[6] 14108
[2] Done si=my-policy
[3] Done sr=b
$ --2016-04-29 01:25:54-- https://my-account.blob.core.windows.net/my-blob-container/my-file.my-extension?sv=2015-02-21
Resolving my-account.blob.core.windows.net (my-account.blob.core.windows.net)... 4.11.2.14
Connecting to my-account.blob.core.windows.net (my-account.blob.core.windows.net)|4.11.2.14|:443... connected.
HTTP request sent, awaiting response... 404 The specified resource does not exist.
2016-04-29 01:25:54 ERROR 404: The specified resource does not exist..
wget
戻り、終了ステータス8( "Serverはエラー応答を発行しました")。
こんにちはURLエンコーディングのいくつかの性質のためにwgetの呼び出しを行うときに、URLが音声符で囲まれていることを確認する必要があり
、私の答えの助けをしましたか? –
@ step-lockeのお返事ありがとうございます。私は 'st'、' se'、 'sp'をあなたが提案したように追加しようとしましたが、エラーメッセージは同じです(' HTTP/1.1 404指定されたリソースは存在しません。 Webブラウザはまったく同じURLでファイルをダウンロードすることが困難なため、私はまだ困惑しています。 – numeratus
更新を追加しました。私たちのcmd-linesの間のキーの違いは、エラーを引き起こすようです - あなたはURLを引用していません。 URLを引用しないと、404エラーも発生します –