Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x &引用;雅典娜.无效请求例外“;步进函数_Python 3.x_Amazon Web Services_Aws Lambda_Amazon Athena_Aws Step Functions - Fatal编程技术网

Python 3.x &引用;雅典娜.无效请求例外“;步进函数

Python 3.x &引用;雅典娜.无效请求例外“;步进函数,python-3.x,amazon-web-services,aws-lambda,amazon-athena,aws-step-functions,Python 3.x,Amazon Web Services,Aws Lambda,Amazon Athena,Aws Step Functions,我试图从输入中读取查询字符串,但step函数给出了“Athena.InvalidRequestException” 开始Athena查询状态的输入: { "Comment": "Insert your JSON here", "query": "\"SELECT * FROM test1 LIMIT 10; \"" } 启动Athena查询状态时出现以下错误: { &qu

我试图从输入中读取查询字符串,但step函数给出了“Athena.InvalidRequestException”

开始Athena查询状态的输入:

{
  "Comment": "Insert your JSON here",
  "query": "\"SELECT *   FROM test1   LIMIT 10;  \""
}

启动Athena查询状态时出现以下错误:

{
  "resourceType": "athena",
  "resource": "startQueryExecution.sync",
  "error": "Athena.InvalidRequestException",
  "cause": "line 1:1: mismatched input '$'. Expecting: 'ALTER', 'ANALYZE', 'CALL', 'COMMIT', 'CREATE', 'DEALLOCATE', 'DELETE', 'DESC', 'DESCRIBE', 'DROP', 'EXECUTE', 'EXPLAIN', 'GRANT', 'INSERT', 'PREPARE', 'RESET', 'REVOKE', 'ROLLBACK', 'SET', 'SHOW', 'START', 'UNLOAD', 'UPDATE', 'USE', <query> (Service: AmazonAthena; Status Code: 400; Error Code: InvalidRequestException; Request ID: 2a99f6eb-b853-407f-b229-d309a4ca3f5c; Proxy: null)"
}
{
“资源类型”:“雅典娜”,
“资源”:“startQueryExecution.sync”,
“错误”:“Athena.InvalidRequestException”,
“原因”:“第1:1行:输入“$”不匹配。应为:“更改”、“分析”、“调用”、“提交”、“创建”、“取消分配”、“删除”、“描述”、“删除”、“执行”、“解释”、“授予”、“插入”、“准备”、“重置”、“撤销”、“回滚”、“设置”、“显示”、“开始”、“卸载”、“更新”、“使用”,(服务:AmazonAthena;状态代码:400;错误代码:InvalidRequestException;请求ID:2a99f6eb-b853-407f-b229-d309a4ca3f5c;代理:null)
}
我是AWS新手。有人能帮我解决这个问题吗?如何在Athena的QueryString参数中传递查询对象?

您的QueryString键中缺少“$”注释:

"QueryString.$": "$.query",
[…]您的参数字段的值可以是包含在状态机定义中的静态值,也可以是从输入对象或具有路径的上下文对象中选择的值。对于使用路径选择值的键值对,键名必须以.$结尾

资料来源:

此外,您应该在第二个状态中添加以下字段,以便在其中显式显示:

"Type": "Task",
"End": true

您应该从查询字符串中删除显式双引号,因此它看起来像
“query”:“select…”
我也通过在输入中传递查询来尝试此操作,但出现了相同的错误。`{“Comment”:“Insert your JSON here”,“test1”:“select*from test1 LIMIT 10;”,“query”:“select*from test1 LIMIT 10;”`在步骤中,函数将其更新为-`“QueryString”:“$.test1”`
"Type": "Task",
"End": true