View a markdown version of this page

在 build 上运行 AWS Lambda 计算 - AWS CodeBuild

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 build 上运行 AWS Lambda 计算

AWS Lambda compute 为您的构建提供优化的启动速度。 AWS Lambda 由于启动延迟较低,支持更快的构建。 AWS Lambda 还能自动扩展,因此编译版本无需排队等候运行。但是,有些用例 AWS Lambda 不支持,如果它们对您有影响,请使用 EC2 计算。有关更多信息,请参阅 的局限性 AWS Lambda 计算

精选的运行时环境 docker 镜像中将包含哪些工具和运行时 AWS Lambda?

AWS Lambda 支持以下工具: AWS CLI v2、 AWS SAM CLI、git、go、Java、、Python Node.js、pip、Ruby 和 .NET。

如果精选映像未包括我需要的工具,该怎么办?

如果精选映像不包括您需要的工具,则可以提供包括所需工具的自定义环境 Docker 映像。

注意

Lambda 不支持使用多架构容器映像的函数。有关更多信息,请参阅《AWS Lambda 开发人员指南》中的使用容器映像创建 Lambda 函数

请注意,您需要以下 Amazon ECR 权限才能使用 Lambda 计算的自定义映像:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/image-repo" } ] }

另请注意,要使用自定义映像,必须安装 curlwget

哪些地区支持 AWS Lambda 计算进去 CodeBuild?

在中 CodeBuild,以下地区支持 AWS Lambda 计算 AWS 区域:美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(俄勒冈)、亚太地区(孟买)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、欧洲(法兰克福)、欧洲(爱尔兰)和南美洲(圣保罗)。有关 AWS 区域 何处 CodeBuild 提供服务的更多信息,请参阅按地区划分的AWS 服务

的局限性 AWS Lambda 计算

有些用例 AWS Lambda 不支持,如果它们对你有影响,可以使用 EC2 计算:

  • AWS Lambda 不支持需要 root 权限的工具。对于 yumrpm 之类的工具,请使用 EC2 计算类型或其他不需要 root 权限的工具。

  • AWS Lambda 不支持 Docker 构建或运行。

  • AWS Lambda 不支持写入外部文件/tmp。包含的包管理器被配置为默认使用 /tmp 目录来下载和引用包。

  • AWS Lambda 不支持该环境类型LINUX_GPU_CONTAINER,Windows Server Core 2019 也不支持。

  • AWS Lambda 不支持缓存、自定义编译超时、队列超时、构建徽章、特权模式、自定义运行时环境或超过 15 分钟的运行时间。

  • AWS Lambda 不支持 VPC 连接、固定范围的 CodeBuild 源 IP 地址、EFS、安装证书或使用会话管理器进行 SSH 访问。