🤖
③ FlowsとTasksを作成する Kestra
はじめに
前回に続き。Kestraを見ていきたと思います。今回はFlowとTaskを見て行きます。Kestra Fundamentalsを進めていきます
- 今回作成するFlow下記になります
id: daisuke-tutorial
namespace: io.kestra.tutorial
labels:
env: PRD
description: |
# Kestra Tutorial
As you notice, we can use markdown here.
tasks:
- id: download
type: io.kestra.plugin.fs.http.Download
uri: "https://www.data.gouv.fr/fr/datasets/r/d33eabc9-e2fd-4787-83e5-a5fcfb5af66d"
Flows
- 宣言型YAMLを使用してflowを定義します
- flowは
id
とnamespace
によって定義されます-
id
はnamespace
において一意である必要があります
-
id: kestra-tutorial
namespace: io.kestra.tutorial
labels:
env: PRD
description: |
# Kestra Tutorial
As you notice, we can use markdown here.
- より詳細はFlowsを参照してくださいしてください
Tasks
- taskを書いてワークフローを作成します
- taskはidとtype、typeに関するプロパティによって定義されます
- サンプルではPythonスクリプトを実行します
tasks:
- id: python
type: io.kestra.core.tasks.scripts.Python
inputFiles:
main.py: |
print("Hello World")
-
CTRL or ⌘ + SPACE
での補完機能も地味に便利です(taskは290以上あるようです)
サンプルフロー
- これまでのことを踏まえて、冒頭で紹介したflowを再度見てみたいと思います。
- flowの作成
- id, namespaceを付与します
- labelをPRDとしています
- descriptionでflowの説明を行います
- task
- idを付与します
- typeでダウンロードを行うためのプラグインを選択します
- urlでダウンロード元を選択します
# 1 flow
id: daisuke-tutorial
namespace: io.kestra.tutorial
labels:
env: PRD
description: |
# Kestra Tutorial
As you notice, we can use markdown here.
# 2 task
tasks:
- id: download
type: io.kestra.plugin.fs.http.Download
uri: "https://www.data.gouv.fr/fr/datasets/r/d33eabc9-e2fd-4787-83e5-a5fcfb5af66d"
- 上記の入力後「New execution」を実行します
その他
-
yaml作成時、横にドキュメントなどが表示されるのは非常にありがたいと思いました
-
ドキュメントでは各パラメータの説明や、デフォルト値などが記されています
-
別ではフローの全体像も確認できます
Discussion