查询以下文件系统以获取特定文件系统 ID 的最佳方法是什么?

What is the best way to query the following file systems for a specific file system ID?

在我的 AWS 账户上,我有四个文件系统。在创建这些文件系统中的每一个时,我都为每个文件系统赋予了一个标签名称。我想使用 AWS CLI 过滤掉具有特定名称的那个,并检索其文件系统 ID。

我已经尝试查看 JMESPath 以过滤掉一个特定的文件系统,但我的查询结构以及输出结构似乎对我来说有点难以处理。

到目前为止,这是我的查询:

aws efs describe-file-systems --query FileSystems[?Name=='dev-four'].FileSystemId --region us-east-1 --output text

理想情况下,我会将文件系统 ID 作为单个字符串获取,但我不断收到错误消息:

Bad value for --query FileSystems[?Name==dev-sg].FileSystemId: Bad jmespath expression: Unknown token '-':
FileSystems[?Name==dev-four].FileSystemId

我不确定如何以不同的方式执行 JMES。

我认为你应该转义查询。不要在 dev-four 周围使用 single-quotes,而是尝试使用转义的 back-ticks。 jmespath 可能对转义序列很古怪。

--query FileSystems[?Name == \`dev-spring\`].FileSystemId

在我的 mac 上,我需要反斜杠。尝试使用和不使用它们进行查询,这可能会影响结果。更多detail here