简体   繁体   English

设置带括号的 Azure Blob 索引标签 - 在浏览器中有效,但在 REST 中无效 API

[英]Setting Azure Blob Index tags with parenthesis - works in Browser but not in REST API

I have been trying to set some blob tags and receiving a horrible error:我一直在尝试设置一些 blob 标签并收到一个可怕的错误:

Response: HTTP/1.1 400 The tags specified are invalid.响应:HTTP/1.1 400 指定的标签无效。 It contains characters that are not permitted.它包含不允许的字符。

I can set the tags with the same value in container browser without any issue, but via REST api it always fails with parenthesis, I have tried encoding in several ways, but the only way to success is to omit the patenthesis (which I am currently doing).我可以在容器浏览器中设置具有相同值的标签没有任何问题,但是通过 REST api 它总是失败并带有括号,我尝试了几种编码方式,但成功的唯一方法是省略专利(我目前正在做)。

Successful payload:成功的有效载荷:

 <Tags> <TagSet> <Tag> <Key>FileID</Key> <Value>307145362</Value> </Tag> <Tag> <Key>FileName</Key> <Value>/omit/gkcs2022-11-15 14.49.12.log</Value> </Tag> <Tag> <Key>FileType</Key> <Value>GKCS Log File</Value> </Tag> <Tag> <Key>DeviceID</Key> <Value>151283</Value> </Tag> <Tag> <Key>Timestamp</Key> <Value>2023-01-20T144920.192Z</Value> </Tag> <Tag> <Key>DOWNLOADEDTO_GBMSVINTELLIFS</Key> <Value>False</Value> </Tag> </TagSet> </Tags>

Failing Payloads:失败的有效载荷:

Raw:生的:

 <Tags> <TagSet> <Tag> <Key>FileID</Key> <Value>307145362</Value> </Tag> <Tag> <Key>FileName</Key> <Value>/omitted/gkcs(2022-11-15 14.49.12).log</Value> </Tag> <Tag> <Key>FileType</Key> <Value>GKCS Log File</Value> </Tag> <Tag> <Key>DeviceID</Key> <Value>151283</Value> </Tag> <Tag> <Key>Timestamp</Key> <Value>2023-01-20T144920.192Z</Value> </Tag> <Tag> <Key>DOWNLOADEDTO_GBMSVINTELLIFS</Key> <Value>False</Value> </Tag> </TagSet> </Tags>

URL Encoding: URL 编码:

 <Tags> <TagSet> <Tag> <Key>FileID</Key> <Value>307145362</Value> </Tag> <Tag> <Key>FileName</Key> <Value>/omit/gkcs%282022-11-15 14.49.12%29.log</Value> </Tag> <Tag> <Key>FileType</Key> <Value>GKCS Log File</Value> </Tag> <Tag> <Key>DeviceID</Key> <Value>151283</Value> </Tag> <Tag> <Key>Timestamp</Key> <Value>2023-01-20T144920.192Z</Value> </Tag> <Tag> <Key>DOWNLOADEDTO_GBMSVINTELLIFS</Key> <Value>False</Value> </Tag> </TagSet> </Tags>

Escape Character:转义字符:

 <Tags> <TagSet> <Tag> <Key>FileID</Key> <Value>307145362</Value> </Tag> <Tag> <Key>FileName</Key> <Value>/omit/gkcs\(2022-11-15 14.49.12\(.log</Value> </Tag> <Tag> <Key>FileType</Key> <Value>GKCS Log File</Value> </Tag> <Tag> <Key>DeviceID</Key> <Value>151283</Value> </Tag> <Tag> <Key>Timestamp</Key> <Value>2023-01-20T144920.192Z</Value> </Tag> <Tag> <Key>DOWNLOADEDTO_GBMSVINTELLIFS</Key> <Value>False</Value> </Tag> </TagSet> </Tags>

As per Azure Storage documentation , only the following characters can be used in valid tag keys and values:根据Azure 存储文档,有效标签键和值中只能使用以下字符:

  • Lowercase and uppercase letters (az, AZ)小写和大写字母(az、AZ)
  • Digits (0-9)数字 (0-9)
  • A space ( )空间 ( )
  • Plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), and underscore (_)加号 (+)、减号 (-)、句号 (.)、斜线 (/)、冒号 (:)、等号 (=) 和下划线 (_)

Unfortunately, parenthesis characters are not currently supported by the Set Blob Tags REST API request.遗憾的是, Set Blob Tags REST API 请求目前不支持括号字符。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM