使用 Argo Workflows 迭代 S3 文件夹中的所有文件

问题描述

在 Argo 中,有时我想使用 withSequence: field of the Workflow Step 将 S3 文件夹中包含的每个项目传递给模板。我最好的想法是对 Python 进行一个步骤,该步骤使用 similar process I use with CSVs 列出整个文件夹并将其转换为 JSON 对象列表。是否有任何内置方法可以实现此目的?

解决方法

全局工作流输入参数是用户输入。目前没有特定于存储的自动化工具来填充全局输入参数。

您有几个选择:1) 在工作流内部生成键列表,并将它们作为参数传递给单个步骤或 2) 使用外部程序生成列表并将它们传入作为工作流的全局参数。

对于第一个选项,您可以创建一个步骤,使用 S3 客户端将密钥写入磁盘上的 JSON 数组。然后您可以使用 Argo 将该文件拉入步骤输出参数。最后,后续步骤可以使用 withItems 循环键。

对于第二个选项,您可以使用本地计算机上的某些内容(BASH 脚本、Python 脚本等)生成 S3 密钥的 JSON 数组并将它们(通过您用于提交工作流的任何机制)作为全局传递工作流的参数。然后,您将使用 withItems 遍历参数,就像之前的方法一样。

,

您可以使用 os.listdir()。例如,假设 Windows:os.listdir("C:/Users/Seanny123/folder") 可能返回 [file1.vbs,file2.mkv,file3.jpg]

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...