0

我在这里有点迷茫,我正在尝试部署一个使用 Lambda@edge 的简单函数,但是在创建 Cloudfront 资源并将该 CF 附加到 lambda 函数时遇到了一些问题。

这是 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 资源,如果我定义资源并将其附加到无服务器定义,它会创建资源,但是我不知道如何将该 cloudfront 附加到函数。

编辑:

所以我正在部署everithing sls deploy,所以我现在的问题是如何附加LambdaFunctionAssociations要从云端分发中使用的函数名称。

4

1 回答 1

0

使用 Lambda@edge 时,您必须遵守限制。在这里查看它们: 对 Lambda 函数的要求和限制

这应该有效:

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}
于 2020-03-19T18:32:23.860 回答