【发布时间】:2019-11-23 17:04:13
【问题描述】:
我正在使用下面列出的代码创建 Athena 客户端 -
client = boto3.client('athena',aws_access_key_id='<access key id>',aws_secret_access_key='<secret access key>',region_name='us-east-1')
那我用这个客户端去查询雅典娜-
response = client.start_query_execution(QueryString=query_string,QueryExecutionContext={'Database': database},WorkGroup=workgroup)
我看到以下错误。你能告诉我我可能缺少什么吗?
botocore.exceptions.ClientError:发生错误 (UnrecognizedClientException) 调用 StartQueryExecution 时 operation: 请求中包含的安全令牌无效。
【问题讨论】:
-
您确定凭据有效吗?他们是否可以与使用 boto3 的其他服务一起正常工作?检查凭据是否属于您要查询的区域。
-
@Imran ,有没有办法检查与凭据关联的角色?
-
您可以使用 sts get-caller-identity (docs.aws.amazon.com/cli/latest/reference/sts/…)。您还可以查看stackoverflow.com/questions/31836816/… 了解其他方法。
-
最后是 IAM 策略模拟器:docs.aws.amazon.com/IAM/latest/UserGuide/…
标签: python amazon-web-services amazon-s3 boto3 amazon-athena