2017-05-09 2 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 

내가 펄 스크립트를 사용하고 (스크립트/컨테이너에서 XML 통과 목록 API와 직접 API를 소비, X보다 오래된 물건을) 삭제, 관련 부분은 : 나는 마이크로 소프트의 NPM 클라이언트 (예 : azure -vv storage blob delete data를 사용하는 경우 참고

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가 코드 스 니펫으로 업데이트했습니다. –

답변