为什么通过 get-parameters-by-path 查询 SSM 参数时出现错误?

Joh*_*ohn 8 amazon-web-services aws-ssm

我正在尝试按路径(在 Gitbash 内)查询一些 SSM 参数:

aws --region eu-west-2 --profile some-profile ssm get-parameters-by-path --path /prefix/prefix2
Run Code Online (Sandbox Code Playgroud)

有许多与此前缀匹配的参数,例如

/prefix/prefix2/p1
/prefix/prefix2/p2
...
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

调用 GetParametersByPath 操作时发生错误 (ValidationException):参数不符合参数名称要求。参数名称必须以正斜杠“/”开头。它不能以“aws”或“ssm”为前缀(不区分大小写)。它只能使用字母、数字或以下符号: 。(句点)、-(连字符)、_(下划线)。不允许有特殊字符。所有子路径(如果指定)必须使用正斜杠符号“/”。有效示例:/get/parameters2-/by1./path0_。

如果前缀以“/”结尾,我会得到同样的错误。问题的原因是什么?

Dyl*_*son 5

如果您在 Windows 上使用基于 MSYS 的 bash,请确保使用 MSYS2_ARG_CONV_EXCL=* 前缀,以防止它将 /prefix/prefix2 扩展到 Windows 路径。