当前位置: 首页 > 知识库问答 >
问题:

百分比编码和Azure BLOB DELETE的问题?

洪通
2023-03-14

Azure正在返回404指定的blob不存在。当它存在时,我可以毫无问题地浏览到相关文件。实际上,文件路径是由我的脚本从之前对https://${vault}的调用生成的。水滴。果心窗户。net/${container}?重新类型=容器

但是,DELETE调用返回404(您可以在下面看到我的标头结构以及Azure响应):

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脚本(该脚本从容器/列表API中通过XML并删除早于X的东西),直接使用API,相关部分是:

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

仅供参考,这不是我的代码,如果我使用Microsoft的NPM客户端(即azure-vv storage blob delete data),我会收到相同的错误

共有1个答案

程承恩
2023-03-14

我想我可能找到答案了。

看起来有点“特色”(又称bug)。

看起来百分比需要以25为前缀(例如变为%20)。

https://blogs.msdn.microsoft.com/windowsazurestorage/2012/05/28/character-encoding-issues-related-to-copy-blob-api/

 类似资料:
  • 问题内容: 假设我们有一个代码块,我们要执行70%的时间,又要执行30%的时间。 很简单。但是,如果我们希望它可以轻松扩展为30%/ 60%/ 10%等呢?在这里,这将需要添加和更改所有if语句,这些if语句使用起来并不十分好,而且很慢并且容易引发错误。 到目前为止,我发现大型开关对于此用例非常有用,例如: 可以很容易地将其更改为: 但是这些也有它们的缺点,它们麻烦并且被划分为预定数量的划分。 我

  • 问题内容: 我已经在服务器上用PHP和bash编写了一个完整的系统,以便在VPS上转换和流式传输HTML5中的视频。转换由ffmpeg在后台完成,其内容输出到 block.txt 。 除其他外,我找不到有效的例子。 我需要获取当前编码进度的百分比。 我上面链接的第一篇文章给出了: $ percent_extracted变量回显零,由于数学不是我的强项,所以我真的不知道如何在这里继续。 这是来自bl

  • 如何对字符串进行百分比编码,如RFC 3986中所述?也就是说,我不想(依我看,很奇怪)对www url表单进行编码,因为这是不同的。 如果重要的话,我正在编码的数据不一定是一个完整的URL。

  • 问题内容: 我有一个这样的: : 我如何才能让Pandas仅给我一个累积的总和和百分比列? 所需的输出: : 我试过了,但这给了我这个错误: TypeError:输入类型不支持ufunc’isnan’,并且根据强制转换规则“ safe”,不能将输入安全地强制转换为任何受支持的类型 问题答案: 这会将列添加到中。如果要复制,请先复制,然后再对副本执行这些操作。

  • SWIG文档对这两个指令解释如下: > :“SWIG提供了另一个带有指令的文件包含指令。的目的是从另一个SWIG接口文件或头文件收集某些信息,而不实际生成任何包装代码。此类信息通常包括类型声明(例如,typedef)以及可能用作接口中类声明基类的C类。" 我的问题是这两个指令之间有什么区别,使用它们的利弊是什么? 顺便说一下,我只是想了解一些背景信息。我有一个简单的C-python扩展,当我使用上

  • 使用。getDownloadUrl()可以给出来自Firebase存储的编码URL的百分比。在本例中,我想上传一个文件到子文件夹“Images”。这是上传代码。 是否有一些元数据我应该传递上传,以停止百分比编码发生?