Без сервера не создает события SQS

1

Я пытаюсь сделать serverless создавать триггер для запуска всякий раз, когда объект останавливается. Но он не создает и не вызывает никаких ошибок.

Мой serverless.yml: я сделал в соответствии с документацией (https://serverless.com/framework/docs/providers/aws/events/sqs/)

service: lambda-messages

provider:
  name: aws
  runtime: nodejs8.10
  stage: dev
  region: us-east-1
  memorySize: 256
  iamRoleStatements:
   - Effect: "Allow"
     Action:
     - sqs:SendMessage
     - sqs:ReceiveMessage
     - sqs:DeleteMessage
     - sqs:GetQueueAttributes
     Resource: arn:aws:sqs:us-east-1:074601456889:messages

functions:
  addMessages:
    timeout: 10
    handler: handler.addMessages
    events:
     - http:
         path: v1/chat/addMessages
         method: post

  receiveMessage:
    timeout: 10
    handler: handler.receiveMessage
    reservedConcurrency: 10
    events:
     - sqs:
       arn: arn:aws:sqs:us-east-1:074601456889:messages
       batchSize: 2

Но это не создает

Изображение консоли лямбда

  • 0
    Очередь SQS уже существует в учетной записи? или вы пытаетесь создать его в этом проекте?
Теги:
amazon-web-services
aws-lambda
serverless-framework
serverless

3 ответа

1

Проблема с отступом в вашем файле YAML, просто добавьте два пробела перед "arn" и "batchSize"

0

Изображение 174551 Добавить 2 пробела на кв. Добавил картинку для хорошей меры!

-1

Вы должны создать очередь самостоятельно, как указано в документации.
Поскольку серверный сервер не будет создавать SQS для вас, он может только добавить слушателя в уже существующую очередь.
Вы можете найти, как это сделать здесь.
Serverless не создает SQS для вас, потому что есть два типа очередей, доступных для выбора в соответствии с вашими потребностями. Вам решать выбрать тип очереди, а затем создать его и только после того, как этот серверный сервер найдет вашу очередь и приложит работника.

  • 0
    Но я не хочу создавать очередь. Я хочу добавить события, которые запускают лямбда через сервер.
  • 0
    @ brindedsbrindeds2, в соответствии с вашей конфигурацией в serverless.yml , вы пытаетесь прослушивать события sqs. Если вы хотите вызвать функцию по событию, взгляните на события наблюдения за облаком. serverless.com/framework/docs/providers/aws/events/...
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню