botocore.utils [DEBUG] Обнаружено повторяющееся исключение HTTP при выполнении запроса службы метаданных, не удалось подключиться к URL-адресу конечной точки
Я читал об этом вопросе, у меня похожая проблема, но, распечатав отладочную информацию, я получил что-то немного другое, я не уверен, что мне здесь не хватает:
Когда я запускаю следующий код, я всегда получаю эту ошибку.
s3 = boto3.resource('s3')
bucket_name = "python-sdk-sample"
print("Creating new bucket with name:", bucket_name)
s3.create_bucket(Bucket=bucket_name)
Я сохранил свой файл учетных данных в
C:\Users\myname\.aws\credentials
, откуда Бото должен читать мои учетные данные.
Моя настройка неправильная?
Вот результат
boto3.set_stream_logger('botocore', level='DEBUG')
.
2020-11-21 18:18:39,686 botocore.credentials [DEBUG] Looking for credentials via: env
2020-11-21 18:18:39,686 botocore.credentials [DEBUG] Looking for credentials via: assume-role
2020-11-21 18:18:39,686 botocore.credentials [DEBUG] Looking for credentials via: assume-role-with-web-identity
2020-11-21 18:18:39,686 botocore.credentials [DEBUG] Looking for credentials via: sso
2020-11-21 18:18:39,686 botocore.credentials [DEBUG] Looking for credentials via: shared-credentials-file
2020-11-21 18:18:39,686 botocore.credentials [DEBUG] Looking for credentials via: custom-process
2020-11-21 18:18:39,686 botocore.credentials [DEBUG] Looking for credentials via: config-file
2020-11-21 18:18:39,687 botocore.credentials [DEBUG] Looking for credentials via: ec2-credentials-file
2020-11-21 18:18:39,687 botocore.credentials [DEBUG] Looking for credentials via: boto-config
2020-11-21 18:18:39,687 botocore.credentials [DEBUG] Looking for credentials via: container-role
2020-11-21 18:18:39,687 botocore.credentials [DEBUG] Looking for credentials via: iam-role
2020-11-21 18:18:39,693 botocore.utils [DEBUG] Caught retryable HTTP exception while making metadata service request to http://xxx.xxx.xxx.xxx/latest/api/token: Could not connect to the endpoint URL: "http://xxx.xxx.xxx.xxx/latest/api/token"
1 ответ
По моему опыту, это происходит, когда вы неправильно указали учетные данные в сеансе boto3, поэтому он не работает при взаимодействии с AWS. То есть имя профиля, которое вы загрузили в boto3, не соответствует профилю ни в одном из
config
или ваш
credentials
файл. Итак, для конфигурации, которая выглядит так:
[profile dev]
us-east-2
Соответствующий профиль учетных данных также должен содержать
[profile dev]
, и вы загружаете сеанс с помощью:
import boto3
session = boto3.session.Session(profile_name='profile dev')
Указанная вами ошибка возникла у меня при использовании:
import boto3
session = boto3.session.Session(profile_name='dev')
А для совершенно неправильного имени, такого как 'foobar', сообщение об ошибке немного яснее:
ProfileNotFound: The config profile (foobar) could not be found