Airflow Variable.set () нарушает ограничение уникального ключа - PullRequest
0 голосов
/ 17 апреля 2020

В настоящее время я сталкиваюсь с проблемой, пытающейся использовать Apache Модель переменных воздушного потока в качестве хранилища ключей / значений для управления некоторым состоянием во время работы воздушного потока.

В одной из задач в моей работе, Позже я установил для ключа что-то вроде:

Variable.set("{table_name}_last_run", "2020-04-16")

, я пытаюсь перезаписать эту переменную (для того же ключа) новым значением. Когда я это делаю, поток воздуха рвется и выдает ошибку вроде:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1246, in _execute_context
    cursor, statement, parameters, context
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 588, in do_execute
    cursor.execute(statement, parameters)
psycopg2.IntegrityError: duplicate key value violates unique constraint "variable_key_key"
DETAIL:  Key (key)=(currency_last_run) already exists.

Это не имеет смысла для меня. Согласно документации airflow, кажется, что вы можете использовать переменные так же, как и любое другое хранилище ключей / значений - но, похоже, я не могу перезаписать ранее существующий ключ с помощью функции set ().

Am Я что-то упустил или использовал переменные непреднамеренно?

...