Я пытаюсь использовать библиотеку KMS в одной из своих DAG, на которой работает PythonOperator, но я сталкиваюсь с ошибкой на веб-сервере воздушного потока:
details = "Cloud Key Management Service (KMS) API has not been used in project 'TENANT_PROJECT_ID' before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview?project='TENANT_PROJECT_ID' then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry."
Веб-сервер воздушного потока не может импортировать мою конкретную группу обеспечения доступности баз данных из моего хост-проекта в проект арендатора (где работает веб-сервер). Группы обеспечения доступности баз данных работают без проблем, так как мой хост-проект настроен правильно, но отсутствие возможности отслеживать его в пользовательском интерфейсе является огромным недостатком.
Технические характеристики системы:
softwareConfig:
imageVersion: composer-1.8.2-airflow-1.10.3
pypiPackages:
google-cloud-kms: ==1.2.1
pythonVersion: '3'
Было бы неплохо иметь возможность использовать KMS и пользовательский интерфейс воздушного потока, если нет, то мне, возможно, придется добавить свои секреты в переменные среды облачного композитора (что не является предпочтительным).
Любые известные решения по этому поводу?
1 ответ
Веб-сервер Airflow является управляемым компонентом в Cloud Composer, поэтому, как заявляют другие, он работает в проекте арендатора, к которому у вас (как у владельца среды) нет доступа. В настоящее время нет возможности получить доступ к этому проекту.
Если у вас есть допустимый вариант использования для включения дополнительных API в проекте клиента, я бы рекомендовал отправить отзыв о продукте. Вы можете узнать, как это сделать, в общедоступной документации продукта (в том числе, если вы хотите отправить запрос функции в систему отслеживания проблем).
В качестве альтернативы, если вы хотите поэкспериментировать, AIP-24 — это предложение Airflow под названием сохранение базы данных DAG, которое кэширует DAG в базе данных Airflow, а не для разбора/импорта их на веб-сервере (вот почему вам нужен KMS в этой ситуации). Если вы используете Composer 1.8.1+, вы можете экспериментально включить эту функцию, установив core.store_serialized_dags=True
. Обратите внимание, что не гарантируется, что он будет работать для всех DAG, но здесь он может быть вам полезен.
Похожие вопросы
Связанные вопросы
Новые вопросы
airflow
Apache Airflow - это платформа управления рабочими процессами для программного создания, планирования и мониторинга рабочих процессов в виде ориентированных ациклических графов (DAG) задач.