如何解决使用 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]
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。