我是Amazon SageMaker的新手,我将密切关注本教程https://aws.amazon.com/blogs/machine-learning/creating-a-machine-learning-powered-rest-api-with-amazon-api-gateway-mapping-templates-and-amazon-sagemaker/,以使用Amazon API Gateway映射模板和Amazon SageMaker创建由机器学习支持的REST API。
当我在终端上运行以下命令时(教程的第2步)
aws sagemaker-runtime invoke-endpoint \
--endpoint-name <endpoint-name> \
--body '{"instances": [{"in0":[863],"in1":[882]}]}' \
--content-type application/json \
--accept application/json \
results
我收到以下错误: Invalid base64: "{"instances": [{"in0":[863],"in1":[882]}]}"
我的端点是SageMaker控制台上的InService
,并且示例Jupyter笔记本成功运行。 (我也用实际名称替换了<endpoint-name>
-收到相同的错误,名称前后都有引号,没有引号)
使用 zsh ,这是aws cli版本:
aws --version
aws-cli/2.0.15 Python/3.7.4 Darwin/19.4.0 botocore/2.0.0dev19
想知道问题可能出在哪里。感谢您的帮助
答案 0 :(得分:2)
尝试添加 --cli-binary-format raw-in-base64-out
参数。
答案 1 :(得分:1)
问题在于,主体内容应采用base 64编码,请在将主体传递给invoke语句之前尝试对base64进行编码。