我正在通过提供的运行时在 Lambda 上部署 R 函数,但是它在构建过程中失败。
我做的步骤:
通过 Lambda 层设置 R 运行时一切正常(https://github.com/bakdata/aws-lambda-r-runtime)
在 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
- 执行
sam build
- 我收到以下错误消息:
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