Я создал соединение типа 'S3' в Airflow (1.7) через административный интерфейс и подтвердил, что оно работает на коробке, в которой находится сам Airflow. Однако соединение не работает ни на одном из рабочих, работающих на отдельных блоках.
Я проверяю соединение с помощью следующего процесса:
# Launch the Python shell
/usr/local/bin/python2.7
# Issue the following
import airflow
s3 = airflow.hooks.S3Hook('remote_log_s3')
s3.load_string('test', airflow.conf.get('core', 'remote_base_log_folder'))
Для работника, приведенное выше вернет следующее:
boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden
На коробке с самим Airflow строка будет загружена в указанное место S3, как и ожидалось.
Я попытался решить проблему, перезапустив работников Airflow, но это не дало результата. Я ищу любые предложения относительно шагов, которые могут потребоваться для того, чтобы работники могли использовать соединение.