Azure表" DELETE"返回"输入无效"

时间:2017-08-23 14:10:57

标签: azure azure-table-storage

我无法弄清楚我在这里做错了什么。根据文档(https://docs.microsoft.com/en-us/rest/api/storageservices/delete-entity1),我的DELETE请求应该有效吗?

GET请求完美无缺,即:

curl -X GET "https://foo.table.core.windows.net/bar(PartitionKey='alice',RowKey='bob')?sv=2017-04-17&ss=qt&srt=o&sp=rwdlacup&se=2021-08-22T23:33:21Z&st=2017-08-01T15:33:21Z&sip=10.10.10.0-10.10.10.255&spr=https&sig=SECRET_SQUIRREL"

返回数据。没问题。所有内容都正确显示。

如果我将-X GET更改为-X DELETE并将其他所有内容保持一致,即:

curl -X DELETE "https://foo.table.core.windows.net/bar(PartitionKey='alice',RowKey='bob')?sv=2017-04-17&ss=qt&srt=o&sp=rwdlacup&se=2021-08-22T23:33:21Z&st=2017-08-01T15:33:21Z&sip=10.10.10.0-10.10.10.255&spr=https&sig=SECRET_SQUIRREL"

服务返回:

<?xml version="1.0" encoding="utf-8"?><error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><code>InvalidInput</code><message xml:lang="en-US">One of the request inputs is not valid.
RequestId:5d3bce31-0002-0054-4b18-1cba44000000
Time:2017-08-23T14:02:00.3177321Z</message></error>

1 个答案:

答案 0 :(得分:2)

根据Delete Entity的文档,您缺少If-Match请求标头。从文档链接:

enter image description here

请在请求中加入If-Match标题,其值为*,请求应该有效。