Azureは404 The specified blob does not exist
を返すと問題なくファイルを参照できます。実際、https://${vault}.blob.core.windows.net/${container}?restype=container&comp=list
への前回の呼び出しから私のスクリプトによってファイルパスが生成されるため、BLOBは絶対に110%存在します!エンコーディングのパーセントとAzureのBLOB DELETEに関する問題?
しかしDELETE呼び出しは(アズール応答と一緒に、あなたは以下の私のヘッダの構造を見ることができる)404が返されます。
S:DELETE
x-ms-date:Tue, 09 May 2017 17:22:27 GMT
x-ms-version:2016-05-31
/myaccount/mycontainer/path/to/my/dir/Some%20File%20B_Foo_Bar%20Dev_1234.docm
S:EBHf8ElRGrAiYAbLTtYa9SqWFJ2eg7F0bebRNGTlLac=
404 The specified blob does not exist.
Date: Tue, 09 May 2017 17:22:22 GMT
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Content-Length: 215
Content-Type: application/xml
Client-Date: Tue, 09 May 2017 17:22:39 GMT
Client-Peer: 191.235.193.40:443
Client-Response-Num: 1
Client-SSL-Cert-Issuer: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/OU=Microsoft IT/CN=Microsoft IT SSL SHA2
Client-SSL-Cert-Subject: /CN=*.blob.core.windows.net
Client-SSL-Cipher: ECDHE-RSA-AES256-SHA384
Client-SSL-Socket-Class: IO::Socket::SSL
X-Ms-Request-Id: 5b3ddd1c-0001-00c1-10e8-c80c81000000
X-Ms-Version: 2016-05-31
私はPerlスクリプトを使用しています(このスクリプトは、/コンテナからXMLを通過しますリストAPIとは直接APIを消費し、Xよりも古いもの)を削除し、関連する部分がある:私はMicrosoftのNPMクライアント(すなわちazure -vv storage blob delete data
を使用する場合FYI
for my $data ($twig->findnodes("//Blob[Properties/Last-Modified < ${then}]")) {
### SEND DELETES
my $filNam=$data->field("Name");
$hdrs = "/${vault}/${container}/${filNam}";
my $delURL="https://${vault}.blob.core.windows.net/${container}/$filNam";
if ($debug) {
say "DelURL: ".$delURL;
}
if (!$nodelete) {
doHTTP("DELETE",$delURL,
$hdrs,
encode('UTF-8',"DELETE\n\n\n\n\n\n\n\n\n\n\n\nx-ms-date:${tNow}\nx-ms-version:${azureVersion}\n${hdrs}",Encode::FB_CROAK)
);
}
}
、そのない私のコードは、私は同じエラーを取得します... ..)
ブロブ削除のコードを共有できますか? SDKを使用していますか、REST APIを直接使用していますか? –
@ GauravMantriがコードスニペットで更新しました。 –