Chà chà đã quá lâu chúng ta trờ lại học Argo Workflows
Ở bài 5 chúng ta chuyền value từ task này sang task khác thông qua Output Parameter
Ở bài sáu thì chúng truyền parameter bằng nội dung trong file.
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
name: wf-output-parameter-file
spec:
entrypoint: dag-template
arguments:
parameters:
- name: message1
value: Task 1 is executed
- name: message2
value: Task 2 is executed
templates:
- name: dag-template
inputs:
parameters:
- name: message1
- name: message2
dag:
tasks:
- name: Task1
arguments:
parameters: [{name: text, value: "{{inputs.parameters.message1}}"}]
template: task-template
- name: Task2
arguments:
parameters: [{name: text, value: "{{inputs.parameters.message2}}"}]
template: task-template
dependencies: [Task1]
- name: Task3
template: task-output
dependencies: [Task1]
- name: Task4
arguments:
parameters: [{name: text, value: "{{tasks.Task3.outputs.parameters.task-param}}"}]
template: task-template
dependencies: [Task2, Task3]
- name: task-template
inputs:
parameters:
- name: text
script:
image: python:3.8-slim
command:
source: |
p = "{{inputs.parameters.text}}"
print(p)
- name: task-output
script:
image: node:9.1-alpine
command: [node]
source: |
var par = "Whatever parameters are written to the file.";
const fs = require('fs');
fs.writeFile("/tmp/output-params.txt", par)
console.log(par);
outputs:
parameters:
- name: task-param
valueFrom:
path: /tmp/output-params.txt
- name: deylay-template
suspend:
duration: "10s"

Bạn để ý task3 nó sẽ thực hiện các action được define in template: task-output

Bạn sẽ thấy là thực hiện việc tạo ra file trong thư mục tmp

Phần output parameters thì chúng ta sử dụng các đọc content file bằng khai báo valueFrom.path

đây là hình chạy của

