#python #heroku #botocore
#python #heroku #botocore
Вопрос:
Я пытаюсь создать приложение python на Heroku. Я хочу загрузить файл Excel через botocore в корзину, размещенную на AWS, но я получаю следующую ошибку:
2020-11-19T20:21:20.616363 00:00 app[web.1]: botocore.exceptions.NoCredentialsError: Unable to locate credentials
Я изменил код, включив учетные данные, очистил кеш, перезапустил динамо-машины, а затем снова запустил приложение. Теперь я получаю следующую ошибку (вместе с ошибкой учетных данных, описанной выше):
2020-11-19T20:21:20.616193 00:00 app[web.1]: Started at: 2020-11-10 15:35:54.303420
2020-11-19T20:21:20.616295 00:00 app[web.1]: Ended at: 2020-11-10 15:35:57.484733
2020-11-19T20:21:20.616331 00:00 app[web.1]: Exception status: Traceback (most recent call last):
У меня было 2 вопроса здесь:
- Почему heroku не использует обновленный код?
- Почему он все еще обращается к старому заданию, даже когда я очистил кеш, перезапустил динамо-машины и т. Д.?
Любая помощь будет высоко оценена — Спасибо!
Комментарии:
1. Когда вы говорите, что обновили код, включив учетные данные, вы это сделали
os.environ['MY_KEY']
? Если да, добавили ли вы эту переменную среды внутри приложения heroku? Кроме того, настроено ли у вас автоматическое развертывание из репозитория github?2. Спасибо за ответ на вопрос @VaduvaMihaitaBogdan! Да, я сделал и то, и другое. Чтобы ответить на ваш вопрос об автоматическом развертывании — да, у меня тоже есть такая настройка.
Ответ №1:
Итак, способ обойти эту проблему состоял в том, чтобы удалить аддон redistogo и повторно добавить его, используя следующие команды:
heroku addons:remove redistogo --confirm <app-name>
heroku addons:add redistogo
Теперь Heroku читал правильный код. Мне приходилось делать это каждый раз, когда в моем коде была ошибка. Как только все ошибки в коде были устранены, в этом не было необходимости.