Python 3.x &引用;雅典娜.无效请求例外“;步进函数
我试图从输入中读取查询字符串,但step函数给出了“Athena.InvalidRequestException” 开始Athena查询状态的输入: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
{
"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