aws 下载 Yaml 中的内容

aws Download Content in Yaml

正在尝试格式化我的 yaml 以将 S3 存储桶中的脚本下载到 SSM 中的 运行。

我尝试过许多不同的格式,但所有示例似乎都是 JSON 格式

- action: aws:downloadContent
  name: downloadContent
  inputs:
    sourceType: "S3"
    sourceInfo: 
      path: https://bucket-name.s3.amazonaws.com/scripts/script.ps1
    destinationPath: "C:\Windows\Temp"

失败并显示以下消息:

standardError": "invalid format in plugin properties map[destinationPath:C:\Windows\Temp sourceInfo:map[path:https://bucket-name.s3.amazonaws.com/scripts/script.ps1] sourceType:S3]; \nerror json: cannot unmarshal object into Go struct field DownloadContentPlugin.sourceInfo of type string"

这就是最终对我有用的东西:

    - action: aws:downloadContent
      name: downloadContent
      inputs:
        sourceType: S3
        sourceInfo: "{\"path\":\"https://bucket-name.s3.amazonaws.com/scripts/script.ps1\"}"
      destinationPath: "C:\Windows\Temp"

我需要 YAML 中嵌入的确切 JSON 语法。

同时发布 JSON 示例,因为我们努力在 json 中找到有效的示例。希望这对以后的人有所帮助。

我们的错误与“sourceInfo”键有关:

> invalid format in plugin properties map[destinationPath:C:\PATHONTARGETSYSTEM sourceInfo:map[path:https://S3BUCKETNAME.s3.amazonaws.com/SCRIPTNAME.ps1] sourceType:S3]; error json: cannot unmarshal object into Go struct field DownloadContentPlugin.sourceInfo of type string

最终解决方案是错误的S3 url格式+错误的json格式。应该是这样的:

"sourceInfo": "{\"path\": \"https://s3.amazonaws.com/S3BUCKETNAME/SCRIPTNAME.ps1\"}",