【问题标题】:For GCP Composer, How to delete a DAG with "gcloud" command in GCP Compute Engine对于 GCP Composer,如何在 GCP Compute Engine 中使用“gcloud”命令删除 DAG
【发布时间】:2021-03-26 16:26:27
【问题描述】:

我想运行“gcloud”命令:

gcloud composer environments run --location us-central1 my-composer-instance delete_dag -- my_dag_id

在计算实例中。最好的方法是什么?

到目前为止,运行“delete_dag”命令将返回此错误消息:

错误:(gcloud.composer.environments.run)无效的选择:'delete_dag'。 您指的是“list_dags”吗?

然后如果我运行“list_dags”命令,它会要求我安装kubectl

$ gcloud components install kubectl

但是当我安装kubectl:

错误:(gcloud.components.install) 您无法执行此操作,因为此 Cloud SDK 安装由外部包管理器管理。 请考虑使用通过默认机制创建的 Cloud SDK 的单独安装:https://cloud.google.com/sdk/

【问题讨论】:

    标签: google-cloud-platform airflow gcloud google-cloud-composer


    【解决方案1】:

    您需要在虚拟机实例中安装Cloud SDK 才能执行该命令。要删除 DAG,您需要从 Cloud Storage 中环境的 dags 文件夹中移除 DAG 的 Python .py 文件。要删除 DAG,您可以关注 doc

    gcloud composer environments storage dags delete \
        --environment ENVIRONMENT_NAME \
        --location LOCATION \
        DAG_NAME.py
    

    或者 (Reference)

    gcloud composer environments run --location LOCATION ENVIRONMENT_NAME delete_dag --DAG_NAME
    

    其中:
    ENVIRONMENT_NAME 是环境的名称。
    LOCATION 是环境所在的 Compute Engine 区域。
    DAG_NAME 是要删除的 DAG 的名称。

    【讨论】:

    • 嗨@Mahboob 和Ksign,感谢您的评论。我已经可以从 dag 文件夹(GCS Bucket)中删除 .py 文件了。但是为了从GCP's Airflow web interface 中删除 dag,我需要运行您提供的上述命令。问题是我不认为 Compute Instance 让我“删除” dags。 (我将使用错误消息更新我的问题)
    【解决方案2】:

    使用apt install kubectl 而不是gcloud components install kubectl 解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-02
      • 2021-04-20
      • 2021-08-13
      • 1970-01-01
      • 2020-11-21
      • 2021-06-21
      • 1970-01-01
      • 2022-09-27
      相关资源
      最近更新 更多