Как получить имя JobQueue и JobDefinition в шаблоне Cloudformation - PullRequest
0 голосов
/ 09 ноября 2018

В шаблоне Cloudformation, как я могу получить имена Batch :: JobDefinition и Batch :: JobQueue, чтобы я мог передать их в Lambda как переменную?

Я попытался извлечь его с помощью !GetAtt, используя JobQueueName name QueueName, но все это не удается обновить стек. Использование !Ref дает мне только арн, который я не могу использовать в JS SDK для связи с пакетной обработкой.

1 Ответ

0 голосов
/ 10 ноября 2018

Оба ресурса, AWS :: Batch :: JobQueue и AWS :: Batch :: JobDefinition , только функция Ref включена для возврата арна, вы не можете получить любая другая ценность этих ресурсов. Что вы можете сделать, это использовать функции Fn :: Split и Fn :: Select , чтобы получить их имена на основе arn. Например,

  1. Для JobQueue с arn arn:aws:batch:us-east-1:111122223333:job-queue/HighPriority этот код вернет HighPriority.

    JOB_QUEUE: !Select [1 , !Split ["/", !Select [5, !Split [":", !Ref JobQueue]]]]
    
  2. Для JobDefinition с arn arn:aws:batch:us-east-1:111122223333:job-definition/test-gpu:2 этот код вернет test-gpu.

    JOB_DEFINITION: !Select [1 , !Split ["/", !Select [5, !Split [":", !Ref JobDefinition]]]]
    
...