45

要求中に、新しい BLOB を作成する適切な Authorization ヘッダーを使用して、ファイルをコンテナーPUTに入れようとすると、プロセスで "404 Resource Not Found" エラーが発生します。PUT

https://accountNameHere.blob.core.windows.net/containerNameHere

コンテナー名とアカウント名はどちらも正しいです。

なぜ失敗するのですか?


生のリクエストヘッダーは次のとおりです。

PUT /testss HTTP/1.1
Host: accountName.blob.core.windows.net
Accept: */*
Connection: Keep-Alive
0: content-encoding
1: content-language
2: content-length
3: content-md5
4: content-type
5: date
6: if-modified-since
7: if-match
8: if-none-match
9: if-unmodified-since
10: range
x-ms-blob-type: BlockBlob
x-ms-version: 2011-08-18
x-ms-date: Fri, 09 Aug 2013 04:17:59 GMT
Content-Length: 126377
Authorization: SharedKey accountName:MBVLmoxzxZr+tf8EZw2GkbFLEHuNn8FNAaEHrcty/cM=
Expect: 100-continue

私が送信した署名用の文字列は次のとおりです。

PUT x-ms-blob-type:BlockBlob x-ms-date:Fri, 09 Aug 2013 04:03:20 GMT x-ms-version:2011-08-18 /accountName/test

そして、これが彼らが期待したものです:

PUT 126377 x-ms-blob-type:BlockBlob x-ms-date:Fri, 09 Aug 2013 04:02:17 GMT x-ms-version:2011-08-18 /accountName/test

両者の唯一の違いは126377afterPUTです。それはファイルのコンテンツの長さです。それを削除する方法がわかりません。

4

5 に答える 5

33

Blob コンテナーのセキュリティ設定を確認しましたか? 十分なアクセス権がない可能性があります。

于 2015-03-30T13:21:53.480 に答える
13

コンテナを確認してください。新しいポータルで、横にある省略記号をクリックして [編集] をクリックします。次に、コンテナーの一覧表示を許可する場合は、アクセスの種類を BLOB またはコンテナーのいずれかに設定します。

Microsoft はセキュリティを強化し、新しいコンテナをデフォルトで非公開にしたようです。

于 2015-07-20T10:29:29.413 に答える
0

Fiddlerを使用して、自分が考えている要求を送信していることを確認する必要があります。次に、Fiddler リクエストをドキュメントと比較できます。

コンテナーは既に存在しますか? サードパーティのストレージ エクスプローラーを使用して、それを確認することをお勧めします。

于 2013-08-09T03:24:55.937 に答える