2017-06-18 119 views
0

我試圖從CLI和通過boto3使用AWS Athena,但由於某些原因它不被識別。我已經升級到boto3AWS 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 

的CLI同樣的事情,當我做aws athena help我得到一個無效的選項。任何想法爲什麼發生這種情況?我試圖自動化一項任務,而不是坐在GUI中反覆輸入查詢。

回答

3

您的問題似乎與您的botocore版本有關。

我有botocore版本1.5.55和athena適合我。

我用你的botocore版本(1.5.19)設置了virtualenv,我能夠複製你的問題。

你應該只升級版本botocore:

pip install --upgrade botocore 

編輯:據雅典娜this github issue支持被列入v1.5.52

+0

完美,它的工作的感謝! –