2

我正在通过提供的运行时在 Lambda 上部署 R 函数,但是它在构建过程中失败。

我做的步骤:

  1. 通过 Lambda 层设置 R 运行时一切正常(https://github.com/bakdata/aws-lambda-r-runtime

  2. 在 R 中创建 Lambda 函数并将其添加到 template.yml 文件中:

 RTestFunction:
  Type: AWS::Serverless::Function
  Properties:
    CodeUri: functions/r_test
    Handler: fun.handler
    Runtime: provided
    Layers:
      - !Ref Runtime # ARN String to Runtime Layer
      - !Ref Recommended # ARN String to Recommended Layer
      - !Ref AWSLibs # ARN String to AWSLibs Layer
    Policies:
      - AWSLambdaBasicExecutionRole
      - S3ReadPolicy:
          BucketName: !Ref Bucket
    Timeout: 300
    MemorySize: 256
  1. 执行sam build
  2. 我收到以下错误消息:
Building codeuri: functions/r_test runtime: provided metadata: {} functions: ['RTestFunction']

Build Failed
Error: CustomMakeBuilder:Resolver - Path resolution for runtime: provided of binary: make was not successful

即使我收到错误,一切仍然正常工作,并且 RTestFunction 按预期工作。但我更愿意解决这个错误。

问题:

  • 我如何跳过构建部分,因为该层已经部署并且可以工作。我只想通过使用相应的 ARN 将层(运行时、推荐和 AWSLibs)链接到 RTestFunction。

文档说使用 Metadata 标签构建运行时是可选的,但我没有使用 Metadata 标签,那为什么还要尝试构建运行时呢? https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html

4

0 回答 0