Итак, я пытаюсь создать связь между воздушным потоком и слабиной, используя SlackWebhookOperator.
Во-первых, в пользовательском интерфейсе воздушного потока пароли, которые я пытаюсь сохранить, на самом деле не сохраняются. Вместо того, чтобы получить ********** в поле PW, я вообще ничего не вижу. Это первый раз, когда я вижу это, и все соединения, которые я установил ранее, сохраняют пароль.
Когда я передаю слабый веб-хук непосредственно на хост, моя интеграция запускается, поэтому я знаю, что он достигает.
Честно говоря, я такой новичок и не могу найти много документации, но меня беспокоит, что моя среда ведет себя странно. Я пытался создать несколько соединений, и все они действовали таким образом.
Мой код дага при попытке вызвать слабое соединение:
import datetime
from airflow import models
from airflow.hooks.base_hook import BaseHook
from airflow.contrib.operators.slack_webhook_operator import SlackWebhookOperator
default_dag_args = {
'start_date': datetime.datetime(2020, 12, 9),
'depends_on_past': False,
'retries': 1,
'retry_delay': datetime.timedelta(minutes=5),
}
slack_connection = 'Test'
slack_webhook_token = BaseHook.get_connection(slack_connection).password
dag = models.DAG(
'Test_Slack',
schedule_interval= '@daily',
default_args=default_dag_args,
)
test_send_slack_message = SlackWebhookOperator(
task_id = 'Slack_Test',
http_conn_id = slack_connection,
token = slack_webhook_token,
message = 'Test',
channel = '#channel',
dag = dag
)
test_send_slack_message.execute(context = None)
Как я уже упоминал, соединение работает, когда я передаю полный слабый URL-адрес веб-перехватчика.
Cпасибо за совет по этому поводу. Любые идеи, почему он не подбирает мой пароль?
какая у тебя версия воздушного потока? попробуйте снова добавить/отредактировать соединение. Если это ошибка, вам нужно сообщить об этом github.com/apache/airflow/issues с инструкциями по воспроизведению.
Решено путем вставки в дополнительное поле и поле пароля.
Не лучшее решение, но воздушный поток по-прежнему не показывает какой-либо пароль.
Пароли не отображаются в журналах из соображений безопасности. Все поля пароля в подключениях скрыты.
Да, я знаю, что сам текст будет скрыт, но исторически сложилось, что воздушный поток показывал, что по крайней мере был ввод текста. В этом примере значение пароля полностью исчезает. Я также получаю ошибку json, что может указывать на проблему с хранением паролей.
Уберите
test_send_slack_message.execute(context = None)
. Airflow вызывает оператора, когда планировщик подхватывает его. То, что вы написали, - это явно запустить оператор до того, как он будет готов.