🙌
④INPUTSとOUTPUT Kestra
はじめに
今回はflow内で使用することができる INPUTS と OUTPUTS をみて行きたいと思います。
INPUTS
-
flowで使用するパラメータを事前に定義します
-
inputファイルの定義
-
name
とtype
は必ず定義しなければならないです - またデフォルト値を指定するための
default
を指定することもできます
-
inputs:
- name: isTutorial
type: BOOLEAN
default: true
-
より詳細なことは、Inputsを参照ください
-
inputで指定したパラメータを利用する際は
{{ inputs.name }}
とすることでアクセスできます
< inputのサンプルファイル >
inputs:
- name: url
type: STRING
default: "https://www.data.gouv.fr/fr/datasets/r/d33eabc9-e2fd-4787-83e5-a5fcfb5af66d"
id: kestra-tutorial
namespace: io.kestra.tutorial
labels:
env: PRD
description: |
# Kestra Tutorial
As you notice, we can use markdown here.
inputs:
- name: url
type: STRING
default: "https://www.data.gouv.fr/fr/datasets/r/d33eabc9-e2fd-4787-83e5-a5fcfb5af66d"
tasks:
- id: download
type: io.kestra.plugin.fs.http.Download
uri: "{{ inputs.url }}"
OUTPUTS
- 各taskの出力データを作成します
- flow中に {{ outputs['task-id'] }} を使用してアクセスできます
- また
task-id
がない場合は直接 {{ outputs.taskId }} となります
< outputのサンプルファイル >
- id: analyze-data
type: io.kestra.core.tasks.scripts.Python
inputFiles:
data.csv: "{{outputs.download.uri}}"
main.py: |
import pandas as pd
from kestra import Kestra
data = pd.read_csv("data.csv", sep=";")
data.info()
sumOfConsumption = data['conso'].sum()
Kestra.outputs({'sumOfConsumption': int(sumOfConsumption)})
requirements:
- pandas
id: kestra-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"
- id: analyze-data
type: io.kestra.core.tasks.scripts.Python
inputFiles:
data.csv: "{{outputs.download.uri}}"
main.py: |
import pandas as pd
from kestra import Kestra
data = pd.read_csv("data.csv", sep=";")
data.info()
sumOfConsumption = data['conso'].sum()
Kestra.outputs({'sumOfConsumption': int(sumOfConsumption)})
requirements:
- pandas
Discussion