如何解决使用 REST API 查询 Blob 内容中的 InvalidQueryParameterValue
我正在尝试按照以下文档通过 REST API 查询 Azure 查询 blob 内容
https://docs.microsoft.com/en-us/rest/api/storageservices/query-blob-contents
我公开了我的 blob 内容以供测试,并且对 blob URI 的 GET 请求正在提供内容,但对提到的 URI 进行了发布请求
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=query (替换了 myaccount、mycontainer 和 myblob)
给我以下错误
<Error>
<Code>InvalidQueryParameterValue</Code>
<Message>Value for one of the query parameters specified in the request URI is invalid.
RequestId:1c52fc4f-801e-0061-63fc-f98163000000
Time:2021-02-03T07:15:32.9547540Z</Message>
<QueryParameterName>comp</QueryParameterName>
<QueryParameterValue>query</QueryParameterValue>
<Reason />
</Error>```
blob content is JSON and Blob is a Block Blob type
解决方法
我认为您在使用 SharedKey for authentication rest api 时可能会使用 Query Blob Contents。
如果是这样,您最好添加有关如何构建 Authorization header
的步骤或代码。那里可能有一个小错误。
我尝试使用sas token
进行身份验证(您可以参考this link通过azure门户或代码生成sas token
),它可以很好地工作。
这是我的请求网址:
https://yy1.blob.core.windows.net/a11/my11.csv?comp=query&my_sas_token
在邮递员中,request headers
如下所示:
request body
如下:
并且正如你在上面截图中看到的测试结果,状态码是200,我们可以得到预期的blob内容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。