使用 AWS CLI 测试 Amazon SageMaker 模型终端节点时,base64 无效:“{"instances": [{"in0":[863],"in1":[882]}]}”

Invalid base64: "{"instances": [{"in0":[863],"in1":[882]}]}" when testing Amazon SageMaker model endpoint using the AWS CLI

我是 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 网关映射模板和 Amazon SageMakerAPI 创建机器学习驱动的 REST

当我 运行 在终端上执行以下命令时(教程的第 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> 替换为实际名称 - 同样的错误在名称周围收到 with/without 引号)

使用 zsh 这里是 aws cli 版本:

aws --version
aws-cli/2.0.15 Python/3.7.4 Darwin/19.4.0 botocore/2.0.0dev19

想知道可能是什么问题。感谢任何帮助

问题是正文内容应该是 base 64 编码的,请在将正文传递给 invoke 语句之前尝试对其进行 base64 编码。

尝试添加 --cli-binary-format raw-in-base64-out 参数。