Mic*_* Dz 10 rest httprequest amazon-web-services amazon-machine-learning
我创建了具有工作实时端点的AWS Machine Learning模型.我想通过HTTP请求使用已创建的服务.出于测试目的,我使用Postman,我根据亚马逊的API文档创建了请求,但每次我都得到相同的例外:UnknownOperationException.当我使用Python SDK时,该服务工作正常.下面的示例获取模型信息.
这是我的要求(假凭证):
POST  HTTP/1.1
Host: realtime.machinelearning.us-east-1.amazonaws.com
Content-Type: application/json
X-Amz-Target: AmazonML_20141212.GetMLModel
X-Amz-Date: 20170714T124250Z
Authorization: AWS4-HMAC-SHA256 Credential=JNALSFNLANFAFS/20170714/us-east-1/AmazonML/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-target, Signature=fiudsf9sdfh9sdhfsd9hfsdkfdsiufhdsfoidshfodsh
Cache-Control: no-cache
Postman-Token: hd9sfh9s-idsfuuf-a32c-31ca-dsufhdso
{
   "MLModelId": "ml-Hfdlfjdof0807",
   "Verbose": true
}
我得到的例外情况:
{
    "Output": {
        "__type": "com.amazon.coral.service#UnknownOperationException",
        "message": null
    },
    "Version": "1.0"
}
在对 AWS 论坛进行研究后,我发现了一些类似的 HTTP 请求。结果我有 3 个不正确的参数。
Host: machinelearning.us-east-1.amazonaws.com
Content-Type: application/x-amz-json-1.1
machinelearning如何设置邮递员请求的简短说明:
在Authorization选项卡中选择AWS Signature并填写AccessKey和SecrectKey。在Service Name字段中写入machinelearning. 单击Update Request,这将更新您的标题。
在Headers选项卡中添加两个标题:
核心X-Amz-Target价值:AmazonML_20141212.GetMLModel
核心Content-Type价值:application/x-amz-json-1.1
添加正文:
{ "MLModelId": "YOUR_ML_MODEL_ID",  "Verbose": true }
下面正确的 HTTP 请求:
POST  HTTP/1.1
Host: machinelearning.us-east-1.amazonaws.com
X-Amz-Target: AmazonML_20141212.GetMLModel
Content-Type: application/x-amz-json-1.1
X-Amz-Date: 20170727T113217Z
Authorization: AWS4-HMAC-SHA256 Credential=JNALNFAFS/20170727/us-east-1/machinelearning/aws4_request, 
SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-target, 
Signature=fiudsf9sdfh9sdhfsd9hfsdkfdsiufhdsfoidshfodsh
Cache-Control: no-cache
Postman-Token: hd9sfh9s-idsfuuf-a32c-31ca-dsufhdso
{
   "MLModelId": "ml-Hfdlfjdof0807",
   "Verbose": true
}
| 归档时间: | 
 | 
| 查看次数: | 984 次 | 
| 最近记录: |