Не могу вернуть целое число из условной функции в образовании облака yaml - PullRequest
0 голосов
/ 28 декабря 2018

Я пишу облачный информационный yaml для лямбда-функции.Мне нужно, чтобы условный параметр reservedConcurrency был равен 100, если IsProduction - true, и 20 - false.Но при развертывании файла yaml возникает ошибка: You should use integer as reservedConcurrency value on function

resources:
  Conditions:
    IsProduction:
      Fn::Equals:
        - ${self:provider.stage}
        - production

functions:  
  somefunction:
    handler: functions/somefunction
    timeout: 300
    events:
      - sqs:
          arn:
            Fn::GetAtt: [ somequeue, Arn ]
          batchSize: 10
    reservedConcurrency:
      Fn::If:
        - IsProduction
        - 100
        - 20

1 Ответ

0 голосов
/ 06 января 2019

Нельзя использовать встроенные функции Cloudformation в блоке functions внутри файла serverless.yml.

Вместо этого попробуйте использовать вложенные переменные

custom:
  concurrency:
    prod: 100

functions:  
  somefunction:
    handler: functions/somefunction
    timeout: 300
    events:
      - sqs:
          arn:
            Fn::GetAtt: [ somequeue, Arn ]
          batchSize: 10
    reservedConcurrency: ${self:custom.concurrency.${self:provider.stage}, 20}
...