AWS CLI:aws events put-targets --cli-input-json file://target.json 给出 JSON 语法错误

skr*_*hee 1 json amazon-web-services

在将输入包含到我的事件目标时,我在使用 AWS CLI 时遇到一些问题。如果没有输入,此命令和 json 文件可以正常工作。通过控制台创建输入时,我没有任何问题。

bash命令:

aws events put-targets --cli-input-json file://target.json

JSON 文件:

{
  "Rule": "site.la-01-rule",
  "Targets": [
    {
      "Id": "site.la-01",
      "Arn": "arn:aws:lambda:us-west-1:<account-number>:function:annual-rotation-schedules",
      "Input": "This is an input"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

错误信息:

调用 PutTargets 操作时发生错误 (ValidationException):目标 site.la-01 输入中的 JSON 语法错误:[源:(String)“这是一个输入”;行:1,列:5

其他信息:

感谢您的帮助!

OAR*_*ARP 5

输入字段应为 json 格式。

输入 -> (字符串)

传递到目标的有效 JSON 文本。在这种情况下,事件本身中的任何内容都不会传递到目标。

所以 target.json 应该是这样的:

{
    "Rule": "site.la-01-rule",
    "Targets": [{
            "Id": "site.la-01",
            "Arn": "arn:aws:lambda:us-west-1:<account-number>:function:annual-rotation-schedules",
            "Input": "{\"key\":\"value\"}"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)