lambda@edge создание ресурса облачного фронта - PullRequest
0 голосов
/ 16 марта 2020

Я немного растерялся, я пытаюсь развернуть простую функцию, которая использует Lambda@edge, но у меня возникли некоторые проблемы при создании ресурса Cloudfront и присоединении этого CF к лямбда-функции.

Здесь пример serverless.yml

service: some-service

plugins:
  - serverless-pseudo-parameters

provider:
  name: aws
  runtime: nodejs10.x
  stage: ${env:STAGE}
  region: us-east-1

resources:
  - ${file(./resources.yml):resources}

functions:
  - ${file(./lambda-at-edge/function.yml):functions}

Определение функции:

functions:
  lambda-at-edge-function:
    description: Lambda at edge authentication
    handler: serverless/index.handler
    events:
      - cloudFront:
        eventType: viewer-response
        origin: s3://some.s3.amazonaws.com/

Одна вещь, если я не определяю ресурсы Cloudfront, он не создается, и если я определяю ресурс и присоедините это к определению без сервера, это создает ресурс, но тогда я не знаю, как прикрепить этот облачный фронт к функции.

Редактировать:

Так что я развертываю everithing с sls deploy, поэтому мой вопрос теперь заключается в том, как мне прикрепить имя функции для использования в LambdaFunctionAssociations из дистрибутива облачного фронта.

1 Ответ

0 голосов
/ 19 марта 2020

При использовании Lambda@edge вы должны соблюдать ограничения. Проверьте их здесь: Требования и ограничения к лямбда-функциям

Это должно работать:

service: some-service

plugins:
  - serverless-pseudo-parameters

provider:
  name: aws
  runtime: nodejs10.x
  stage: ${env:STAGE}
  region: us-east-1
  memorySize: 128
  timeout: 5

resources:
  - ${file(./resources.yml):resources}

functions:
  - ${file(./lambda-at-edge/function.yml):functions}
...