python - 如何将工作组信息传递给 Boto3 中的 Athena startQueryExecution 方法
问题描述
当我尝试使用 AWS Lambda 中的 boto3 代码以下面列出的格式传递工作组信息时,我看到以下错误 -
"errorMessage": "参数验证失败:\n输入中的未知参数:\"WorkGroup\",必须是以下之一:QueryString、ClientRequestToken、QueryExecutionContext、ResultConfiguration",
query_id = client.start_query_execution(
QueryString=query_string,
QueryExecutionContext={
'Database': 'sample_db'
},
ResultConfiguration={
'OutputLocation': 's3://sample_db/output/'
},
WorkGroup='workgroup1'
)['QueryExecutionId']
根据 boto3 文档,这是可以通过的 - https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/athena.html#Athena.Client.start_query_execution
解决方案
问题下方讨论的后续答案:
Lambda 执行环境中捆绑的 boto3 版本不是最新的 boto3 版本。
您可以通过将其包含在部署包中或将其添加为 Lambda 层来提供更新的版本。