Я настраиваю Apache Воздушный поток с использованием сельдерея с Amazon SQS. Я понимаю, что Celery позволяет использовать broker_transport_options (https://docs.celeryproject.org/en/stable/getting-started/brokers/sqs.html), а Airflow содержит раздел в своей конфигурации под названием celery_broker_transport_options.
Я понимаю, что могу передавать простые строки в конфигурацию Airflow. Например, в разделе celery_broker_transport я мог бы передать:
region = us-west-1
, что было бы эквивалентно тому, чтобы сказать сельдерею:
broker_transport_options = {'region': 'us-west-1'}
Я пытаюсь передать параметр предопределенной очереди в Airflow, который в Celery выглядит следующим образом:
broker_transport_options = {
'predefined_queues': {
'my-q': {
'url': 'https://ap-southeast-2.queue.amazonaws.com/123456/my-q',
'access_key_id': 'xxx',
'secret_access_key': 'xxx',
}
}
}
Я не знаю, как передать эту информацию в Airflow. Я пробовал следующее и получаю сообщение об ошибке, что объект 'str' не имеет атрибута 'items':
predefined_queues = 'my-q': { 'url': 'https://sqs.us-east-1.amazonaws.com/1234567890/my-q', }