Как определить несколько целей в событиях CloudWatch с помощью серверной платформы - PullRequest
2 голосов
/ 21 января 2020

Я использую безсерверный фреймворк (1.61.0). У меня есть много и много запланированных событий, которые синхронизируют данные из другого источника. Например, я синхронизирую Category сущностей в одной лямбда-функции.

categories:
  handler: functions/scheduled/categories/index.default
  name: ${self:provider.stage}-categories-sync
  description: Sync categories
  events:
    - schedule:
        name: ${self:provider.stage}-moe-categories
        rate: rate(1 hour)
        enabled: true
        input:
          params:
            appId: moe
            mallCode: moe
          scheduled: true

Итак, для этого работника у меня есть еще 15 запланированных событий. Они сохраняются как новые ресурсы в CloudWatch, что делает его действительно большим. Мы превышаем лимит событий CloudWatch, даже если мы увеличили его, отправив запрос на увеличение лимита до AWS.

Есть ли способ определить несколько целей для одного и того же события CloudWatch? Чтобы вместо определения ресурсов lambda_func_count (15) x event_count (15) x stage_count (dev, staging, prod) в CloudWatch мы могли просто определить одно событие с несколькими целями для каждой отдельной лямбда-функции.

В настоящее время он поддерживается на консоли AWS, но не может найти способ достичь этого с помощью серверной платформы. enter image description here

1 Ответ

0 голосов
/ 21 января 2020

Один из способов помочь решить эту проблему - не использовать одну и ту же учетную запись AWS на всех этапах. Взгляните на функцию AWS Organizations, которая помогает вам создавать дополнительные учетные записи для основной учетной записи, и если вы используете Serverless Framework Pro, даже на бесплатном уровне, вы можете легко настроить c этапов развертывания для указания c AWS аккаунтов. Каждая дополнительная учетная запись имеет свой собственный набор ресурсов, которые не влияют на другие учетные записи. Вы могли бы даже пойти дальше, если у вас есть несколько способов разбить вещи на несколько учетных записей; возможно, вы можете разбить его на категории?

...