昨天就解决了(或者更具体地说,是我的队友解决了)。
Boto3碰巧有另一个方法调用
get_named_query(NamedQueryId)
,并以以下形式返回字典:
{
'NamedQuery': {
'Name': 'string',
'Description': 'string',
'Database': 'string',
'QueryString': 'string',
'NamedQueryId': 'string'
}
因此,当我将lambda处理程序修改为:
athena_client = boto3.client('athena')
query_info = athena_client.get_named_query(
NamedQueryId = os.environ['MY_QUERY']
)
response = athena_client.start_query_execution(
QueryString = query_info['NamedQuery']['QueryString']
ResultConfiguration = {'OutputLocation: 's3://my-bucket'}
)