2017-05-09 14 views
0

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) 
     ); 
     } 
} 

、そのない私のコードは、私は同じエラーを取得します... ..)

+0

ブロブ削除のコードを共有できますか? SDKを使用していますか、REST APIを直接使用していますか? –

+0

@ GauravMantriがコードスニペットで更新しました。 –

答えて

関連する問題