AWS Athena未被Boto3认可?

时间:2017-06-18 14:24:08

标签: python amazon-web-services boto3 amazon-athena

我正在尝试从CLI和boto3使用AWS Athena但由于某种原因它无法被识别。我已升级到最新版本的boto3

boto3.__version__
>>'1.4.4'

aws --version
>>aws-cli/1.11.56 Python/3.6.0 Darwin/15.6.0 botocore/1.5.19

当我去client = boto3.client('athena')时,我受到了欢迎:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/boto3/__init__.py", line 83, in client
    return _get_default_session().client(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/boto3/session.py", line 263, in client
    aws_session_token=aws_session_token, config=config)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/botocore/session.py", line 836, in create_client
    client_config=config, api_version=api_version)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/botocore/client.py", line 63, in create_client
    service_model = self._load_service_model(service_name, api_version)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/botocore/client.py", line 93, in _load_service_model
    api_version=api_version)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/botocore/loaders.py", line 132, in _wrapper
    data = func(self, *args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/botocore/loaders.py", line 378, in load_service_model
    known_service_names=', '.join(sorted(known_services)))
botocore.exceptions.UnknownServiceError: Unknown service: 'athena'. Valid service names are: acm, apigateway, application-autoscaling, appstream, autoscaling, batch, budgets, clouddirectory, cloudformation, cloudfront, cloudhsm, cloudsearch, cloudsearchdomain, cloudtrail, cloudwatch, codebuild, codecommit, codedeploy, codepipeline, cognito-identity, cognito-idp, cognito-sync, config, cur, datapipeline, devicefarm, directconnect, discovery, dms, ds, dynamodb, dynamodbstreams, ec2, ecr, ecs, efs, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, es, events, firehose, gamelift, glacier, health, iam, importexport, inspector, iot, iot-data, kinesis, kinesisanalytics, kms, lambda, lex-runtime, lightsail, logs, machinelearning, marketplacecommerceanalytics, meteringmarketplace, mturk, opsworks, opsworkscm, organizations, pinpoint, polly, rds, redshift, rekognition, route53, route53domains, s3, sdb, servicecatalog, ses, shield, sms, snowball, sns, sqs, ssm, stepfunctions, storagegateway, sts, support, swf, waf, waf-regional, workspaces, xray

同样的事情,当我aws athena help时,我得到一个无效的选项。知道为什么会这样吗?我试图自动执行任务,而不是坐在GUI中反复输入查询。

1 个答案:

答案 0 :(得分:4)

您的问题似乎与您的botocore版本有关。

我有botocore版本1.5.55,athena对我来说很好。

我使用您的botocore版本(1.5.19)设置了virtualenv,我能够复制您的问题。

您应该只升级您的botocore版本:

pip install --upgrade botocore

编辑:根据this github issue对雅典娜的支持包含在v1.5.52