使用 AWS CLI 获取具有特定 HITTypeId 的 HITIds

Obtaining HITIds with a specific HITTypeId using AWS CLI

我正在使用 aws cli 获取 table,其中仅包含一个特定 HITTypeId 的 HITId。

查询:

aws mturk list-hits --output table --query 'HITs[].{"1. HITId": HITId, "2. Title": Title, "3. Status":HITStatus, "4. HITTypeID": HITTypeId}' --hit-type-id "ABCD" --endpoint-url https://mturk-requester-sandbox.us-east-1.amazonaws.com --max-results 100

输出:

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help

Unknown options: --hit-type-id, ABCD

AWS CLI 有点新,如何解决这个问题?

另外,我试过:

aws mturk list-hits --output table --query 'HITs[?HITTypeId='ABCD'].{"1. HITId": HITId, "2. Title": Title, "3. Status":HITStatus, "4. HITTypeID": HITTypeId}' --endpoint-url https://mturk-requester-sandbox.us-east-1.amazonaws.com --max-results 100

这肯定给了我一个语法错误(试图将其与 table 上的查询联系起来)。

参考:https://blog.mturk.com/tutorial-managing-mturk-hits-with-the-aws-command-line-interface-56eaabb7fd4c

您的过滤器查询中似乎有语法错误。使用 == 表示相等的 AWS CLI uses JMESPath Specification,您使用的是 ?HITTypeId='ABCD'

尝试以下命令:

aws mturk list-hits --output table --query 'HITs[?HITTypeId==`ABCD`].{"1. HITId": HITId, "2. Title": Title, "3. Status":HITStatus, "4. HITTypeID": HITTypeId}' --endpoint-url https://mturk-requester-sandbox.us-east-1.amazonaws.com --max-results 100