Cortex Code CLIでのApache Airflow™の使用

Cortex CodeにはApache Airflow™のサポートが組み込まれており、Airflowデプロイメント全体におけるDAGsの管理、障害のデバッグ、パイプラインの作成、データの分析、および系列の追跡を行うための自然言語インターフェースが用意されています。

機能

機能

説明

プロンプトの例

パイプラインのモニタリング

ヘルスチェック、DAG検査、接続と変数の可視性、スケジューリング制御

「私のAirflowインスタンスは正常ですか?」

実行管理

オンデマンドでDAGsをトリガーし、結果を待機し、カスタム構成を渡す

「daily_etlのDAGをテストし、終了したら知らせてください」

障害のデバッグ

実行状態、タスクインスタンス、ログを包含した根本原因分析、および影響評価と推奨される修正

「昨晩my_pipelineが失敗したのはなぜですか?」

DAGの作成

既存のパターン、接続、プロバイダーを使用した、発見-計画-実装-検証-テストのワークフローによる、ガイド付きDAG作成

「毎日Snowflakeからデータを抽出してS3にロードするDAGを作成して」

データ分析

パターンキャッシュと概念のテーブル化学習を使用したウェアハウスクエリ、テーブルプロファイリング、および鮮度チェック

「今四半期のアクティブなカスタマーは何人ですか」

データ系統

重大度評価を伴う、DAGソースコードによる上流のオリジントレースおよび下流の影響分析

「顧客テーブルのスキーマを変更すると、何が機能しなくなりますか?」

Airflow 3への移行

Ruffルール、インポート修正、コンテキストキーの置き換え、およびメタデータアクセスパターンの更新を伴うコードの自動移行

「私のDAGsをAirflow 2からAirflow 3へ移行してください」

dbt統合

解析、実行、およびプロファイル設定を伴う、Airflow DAGsとしてのdbt CoreまたはFusionプロジェクトのAstronomer Cosmos経由での実行

「Cosmosを使用してAirflowで実行されるdbtプロジェクトを設定して」

人間の介入

DAGsでの承認ゲート、フォーム入力、および人間主導の分岐(Airflow 3.1+)

「デプロイタスクの前に承認ステップを追加して」

ローカル環境

Astro CLIを使用した、ローカルAirflow環境の開始、停止、再起動、およびトラブルシューティング

「ローカルAirflow環境を開始して」

前提条件

Cortex CodeのAirflow統合には`uv<https://docs.astral.sh/uv/getting-started/installation/>`_が必要です。``uv``がインストールされていない場合、``cortex airflow``にはインストールリンクを含む役立つメッセージが表示されます。

Airflow統合の設定

Cortex CodeでAirflowインスタンスを管理する前に、接続を構成する必要があります。これは、環境変数を使用するか、Cortex Code CLI内のインタラクティブなセットアップコマンドを使用して行うことができます。

環境変数の設定

次のように、Cortex Codeを開始する前に、シェルで必要な変数をエクスポートします。トークンベースの認証またはユーザー名/パスワード認証のいずれかを使用できます。常に同じAirflowインスタンスを使用する場合は、毎回再入力しなくて済むように、シェルプロファイル(~/.bashrc``または``~/.zshrc)に次のようなコードを含めてください。

# Token auth
export AIRFLOW_API_URL=https://airflow.example.com
export AIRFLOW_AUTH_TOKEN=your-api-token

# Username/password auth
export AIRFLOW_API_URL=https://airflow.example.com
export AIRFLOW_USERNAME=your-username
export AIRFLOW_PASSWORD=your-password
インタラクティブな設定

Cortex Codeで``/airflow``を実行して、全画面のUIでインスタンスを管理します。トークン認証とユーザー名/パスワード認証の両方がサポートされています。

コマンド

説明

/airflow

Airflowインスタンスを管理する(インスタンスマネージャーが開きます)

/airflow show

現在の構成を表示する(シークレットはマスクされます)

/airflow clear

すべての構成を削除する

``/airflow``は複数の名前付きインスタンスをサポートしています。インスタンスマネージャーを使用して、それらの追加、切り替え、または削除を行います。

Airflow CLIコマンド

以下の例に示すように、``cortex airflow``を使用してターミナルからAirflowインスタンスを操作します。

インスタンスの正常性を確認:

cortex airflow health

すべてのDAGsをリスト:

cortex airflow dags list

特定のDAGの詳細を取得:

cortex airflow dags get my_pipeline

DAGのソースコードを表示:

cortex airflow dags source my_pipeline

DAGの実行をトリガー:

cortex airflow runs trigger my_pipeline

DAGの最近の実行を一覧表示:

cortex airflow runs list my_pipeline

特定の実行のタスクステータスを確認:

cortex airflow tasks list my_pipeline <run_id>

DAGの一時停止または一時停止解除:

cortex airflow dags pause my_pipeline
cortex airflow dags unpause my_pipeline

コマンドの完全なリストは、``cortex airflow --help``を実行して参照できます。

トラブルシューティング

接続が拒否された場合

症状:Airflowの操作が接続エラーのため失敗する。

解決策:インスタンスURLに誤りがなく、Airflow APIに到達可能であることを確認します。現在のインスタンス構成を確認し、ヘルスチェックで接続をテストします。

認証失敗

症状:操作すると401または403エラーが返される。

解決策:次の手順を試してください。

  • トークンまたは認証情報が正しいことを確認します。

  • トークンの有効期限が切れていないか確認し、必要に応じて再生成します。

  • ユーザーとロールに、AirflowでのAPIアクセス許可があることを確認します。

DAG が見つかりません

症状:操作するとDAGが存在しないと報告される。

解決策:インポートエラーまたは解析エラーがDAGのロードを妨げていないか確認します。DAG IDが完全に一致していることを確認します。

``uv``がインストールされていない

**症状``cortex airflow``に「cortex airflow requires uv」と表示される。

解決策`uvのサイト<https://docs.astral.sh/uv/getting-started/installation/>`_から``uv``をインストールします。