[英]ValueError: Invalid endpoint: s3-api.xxxx.objectstorage.service.networklayer.com
[英]ValueError: Invalid endpoint: https://s3..amazonaws.com
当 EMR 机器尝试运行包含 boto3 初始化的步骤时,它有时会出现以下错误: ValueError: Invalid endpoint: https://s3..amazonaws.com
当我尝试设置一台新机器时,它会突然工作. 附上完整错误:
self.client = boto3.client("s3")
File "/usr/local/lib/python3.6/site-packages/boto3/__init__.py", line 83, in client
return _get_default_session().client(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/boto3/session.py", line 263, in client
aws_session_token=aws_session_token, config=config)
File "/usr/local/lib/python3.6/site-packages/botocore/session.py", line 861, in create_client
client_config=config, api_version=api_version)
File "/usr/local/lib/python3.6/site-packages/botocore/client.py", line 76, in create_client
verify, credentials, scoped_config, client_config, endpoint_bridge)
File "/usr/local/lib/python3.6/site-packages/botocore/client.py", line 285, in _get_client_args
verify, credentials, scoped_config, client_config, endpoint_bridge)
File "/usr/local/lib/python3.6/site-packages/botocore/args.py", line 79, in get_client_args
timeout=(new_config.connect_timeout, new_config.read_timeout))
File "/usr/local/lib/python3.6/site-packages/botocore/endpoint.py", line 297, in create_endpoint
raise ValueError("Invalid endpoint: %s" % endpoint_url)
ValueError: Invalid endpoint: https://s3..amazonaws.com
知道为什么会这样吗?
(版本:boto3==1.7.29,botocore==1.10.29)
看起来您的区域无效。 检查您的 ~/.aws/config
在~/.aws/credentials
或~/.aws/config
文件中设置区域。 您也可以将区域设置为环境变量,例如
在bash
export AWS_REGION="eu-west-2"
或在Powershell
$Env:AWS_REGION="eu-west-2"
就我而言,即使~/.aws/config
设置了区域,
$ cat ~/.aws/config
[default]
region = us-east-1
env var AWS_REGION
被设置为空字符串
$ env | grep -i aws
AWS_REGION=
取消设置这个 env var,一切又好了
$ unset AWS_REGION
$ aws sts get-caller-identity --output text --query Account
777***234534
(很抱歉在一个非常老的问题上发帖,它确实在谷歌搜索中弹出)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.