Azure表服务REST API - 创建表

时间:2016-05-23 20:58:24

标签: azure azure-table-storage

我正在尝试使用此操作创建表:

https://msdn.microsoft.com/en-us/library/azure/dd135729.aspx

带有json请求体。但是,我的所有努力都被拒绝了以下回复:

<?xml version="1.0" encoding="utf-8" standalone="yes"?> <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> <code>JsonFormatNotSupported</code> <message xml:lang="en-US">JSON format is not supported. RequestId:41192a52-0002-007b-5334-b57662000000 Time:2016-05-23T20:48:17.4360778Z</message> </error>

这里提到错误:

https://msdn.microsoft.com/en-us/library/azure/dd179438.aspx

但这就是我能找到的全部

这是我发送的内容:

http://requestb.in/1l9sye21?inspect#1jmf39

2 个答案:

答案 0 :(得分:3)

我认为问题是您需要添加x-ms-version标头:

x-ms-version:2015-04-05

对表服务使用共享密钥/共享密钥Lite身份验证时,这是必需的。有关详细信息,请参阅https://msdn.microsoft.com/en-us/library/azure/dd894041.aspx

答案 1 :(得分:2)

添加到Adam的答案:您需要在经过身份验证时在请求中指定存储服务版本。

  • 对于使用共享密钥或共享密钥精简版的请求,您必须在请求中传递 x-ms-version 标头。
  • 对于使用共享访问签名(SAS)的请求 SignedVersion(sv)参数指定用于授权和身份验证的服务版本。

有关详细信息,请参阅https://msdn.microsoft.com/en-us/library/azure/dd894041.aspx

用于进行身份验证的存储服务版本可能与用于处理请求的版本不兼容,这将导致某些功能(如json不可用),因此REST请求失败并显示错误(415) JSON format is not supported.

有关一些信息,请参阅https://github.com/Azure/azure-storage-net/issues/32,尽管它与SAS而不是SKA有关。