Я обновился до boto3 несколько месяцев назад. Эти операции всегда работали правильно. Насколько мне известно, ничего не изменилось, но в последнее время эта ошибка возникает, когда я пытаюсь получить доступ к серверам aws.

client = boto3.client(
        'mturk',
        aws_access_key_id = key,
        aws_secret_access_key = secret_key,
        endpoint_url= r"https://mturk-requester.us-east-1.amazonaws.com/")

client.get_hit(HITId=hit.id)
botocore.exceptions.EndpointConnectionError: Could not connect to the endpoint URL:
"https://mturk-requester.us-east-1.amazonaws.com/"

Это теперь происходит при размещении просмотров, проверке моего баланса и т.д. Все эти операции изначально работали как задумано.

Мой awscli настроен на

[default]
region=us-east-1 
1
Mitchell van Zuylen 24 Окт 2019 в 16:09
Есть ли какая-то конкретная причина, по которой вы используете endpoint_url?
 – 
John Rotenstein
25 Окт 2019 в 04:13
Примечание. Не рекомендуется размещать учетные данные AWS в исходном коде. Если вы запускаете код на инстансе Amazon EC2, назначьте этому инстансу роль IAM. Если вы работаете на собственном компьютере, используйте команду aws configure в интерфейсе командной строки AWS ( CLI) для сохранения учетных данных в файле. Затем вы можете удалить учетные данные из своего кода, поскольку SDK автоматически найдет их.
 – 
John Rotenstein
25 Окт 2019 в 04:15
Я использую endpoint_url, чтобы быстро переключаться с песочницы на обычную версию. На самом деле конечные точки и ключи настраиваются в файле общих настроек, и это позволяет мне легко переключаться между несколькими учетными записями. В основном это наследие, существовавшее до появления awscli.
 – 
Mitchell van Zuylen
26 Окт 2019 в 22:49

1 ответ

Кажется, у меня отлично работает вот так:

client = boto3.client('mturk',region_name='us-east-1')
1
John Rotenstein 25 Окт 2019 в 04:13
Я узнал, что мои проблемы, по-видимому, связаны со временем. Та же самая команда, которая работает сейчас, может перестать работать через несколько часов. Это заставляет меня думать, что это может быть связано с противопожарной стеной (контролируемой компанией), которая недавно изменилась. Это работает сейчас, но я почти уверен, что пробовал это раньше. Я отчитаюсь.
 – 
Mitchell van Zuylen
26 Окт 2019 в 22:53
Я столкнулся с этой ошибкой, и ключом к ее исправлению было указание region_name, чего не делала моя локальная установка.
 – 
ultradian
9 Сен 2022 в 18:34
Почему это необходимо?
 – 
jtlz2
29 Сен 2022 в 22:34
@jtlz2 jtlz2, на самом деле, если посмотреть на него более внимательно, он должен работать, если регион правильно указан в файле .aws/config. Мой был зашифрован, и его указание гарантировало, что оно было правильно определено.
 – 
ultradian
30 Сен 2022 в 23:58