新しいBLOBを作成するためにPUTリクエストを実行しようとしています。 Authorizationヘッダーでの最初のトラブルの後、ファイルをコンテナーにPUTしようとすると、404 Resource Not Foundエラーが発生します。
私は私が正しいURLを持っていることをかなり確信しています:
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
2つの違いは、PUT
の後の126377
だけです。これがファイルのコンテンツの長さです。削除する方法がわかりません。
Blobコンテナーのセキュリティ設定を確認しましたか?十分なアクセス権がない可能性があります。
コンテナを確認してください。新しいポータルで、横にある省略記号をクリックして[編集]をクリックします。次に、コンテナーのリストを許可する場合は、アクセスタイプをBlobまたはコンテナーに設定します。
Microsoftはセキュリティを強化し、新しいコンテナをデフォルトで非公開にしたようです。
1- Azure Storage Explorer アプリケーションで、これらの手順を実行してアクセスを変更/確認します。
Set Public Access Level
を選択しますPublic read access for blobs only
に設定します。[〜#〜]または[〜#〜]2-またはAzure Portalパネルで選択
Storage account
>Blob service
セクションから "Blob
"を選択>Access policy
」を選択>Blob
"または "Container
"匿名アクセスを選択しますFiddler を使用して、自分が思っているリクエストを送信していることを確認する必要があります。その後、Fiddlerリクエストをドキュメントと比較できます。
コンテナはすでに存在していますか?サードパーティのストレージエクスプローラーを使用して、そのことを確認する価値があります。