Как я могу указать несколько артефактов вывода рабочего процесса Argo в один каталог?

Я использую Argo Workflow и хочу создать 2 отдельных артефакта. Определяя выходные артефакты, как показано ниже, он сообщает мне path '/tmp' already mounted in inputs.artifacts.txt. Как я могу смонтировать два отдельных артефакта в один каталог (в данном случае /tmp)?

outputs:
  artifacts:
  - name: txt
    path: /tmp
    s3:
      endpoint: s3.amazonaws.com
      bucket: <My Bucket>
      key: test.txt.tgz
      accessKeySecret:
        name: vault-data
        key: s3_access_key-0
      secretKeySecret:
        name: vault-data
        key: s3_secret_key-0
  - name: total-file-count
    path: /tmp
    s3:
      endpoint: s3.amazonaws.com
      bucket: <My Bucket>
      key: total-file-count.tgz
      accessKeySecret:
        name: vault-data
        key: s3_access_key-0
      secretKeySecret:
        name: vault-data
        key: s3_secret_key-0

person Piljae Chae    schedule 12.01.2021    source источник


Ответы (1)


path относится к полному пути артефакта, который должен быть записан в S3 (а не только в каталог, в котором находится файл).

Чтобы записать оба артефакта в S3, используйте полный путь к исходным файлам. Предполагая, что имена файлов совпадают с именами ключей, это должно работать:

outputs:
  artifacts:
  - name: txt
    path: /tmp/test.txt.tgz
    s3:
      endpoint: s3.amazonaws.com
      bucket: <My Bucket>
      key: test.txt.tgz
      accessKeySecret:
        name: vault-data
        key: s3_access_key-0
      secretKeySecret:
        name: vault-data
        key: s3_secret_key-0
  - name: total-file-count
    path: /tmp/total-file-count.tgz
    s3:
      endpoint: s3.amazonaws.com
      bucket: <My Bucket>
      key: total-file-count.tgz
      accessKeySecret:
        name: vault-data
        key: s3_access_key-0
      secretKeySecret:
        name: vault-data
        key: s3_secret_key-0
person Michael Crenshaw    schedule 12.01.2021