

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

# 在 build 上运行 Amazon Lambda 计算
<a name="lambda"></a>

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

**Topics**
+ [精选的运行时环境 docker 镜像中将包含哪些工具和运行时 Amazon Lambda?](#lambda.tools)
+ [如果精选映像未包括我需要的工具，该怎么办？](#lambda.custom)
+ [哪些地区支持 Amazon Lambda 计算进去 CodeBuild？](#lambda.regions)
+ [的局限性 Amazon Lambda 计算](#lambda.limitations)
+ [使用部署 Lambda 函数 Amazon SAM 使用 CodeBuild Lambda Java](sample-lambda-sam-gradle.md)
+ [使用 CodeBuild Lambda 创建单页的 React 应用程序 Node.js](sample-lambda-react-nodejs.md)
+ [使用 Lambda Python 更新 L CodeBuild ambda 函数配置](sample-lambda-boto3-python.md)

## 精选的运行时环境 docker 镜像中将包含哪些工具和运行时 Amazon Lambda?
<a name="lambda.tools"></a>

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

## 如果精选映像未包括我需要的工具，该怎么办？
<a name="lambda.custom"></a>

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

**注意**  
Lambda 不支持使用多架构容器映像的函数。有关更多信息，请参阅《Amazon Lambda 开发人员指南》**中的[使用容器映像创建 Lambda 函数](https://docs.amazonaws.cn/lambda/latest/dg/images-create.html#images-reqs)。

请注意，您需要以下 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}}"
        }
    ]
}
```

------

另请注意，要使用自定义映像，必须安装 `curl` 或 `wget`。

## 哪些地区支持 Amazon Lambda 计算进去 CodeBuild？
<a name="lambda.regions"></a>

在中 CodeBuild，以下地区支持 Amazon Lambda 计算 Amazon Web Services 区域：美国东部（弗吉尼亚北部）、美国东部（俄亥俄）、美国西部（俄勒冈）、亚太地区（孟买）、亚太地区（新加坡）、亚太地区（悉尼）、亚太地区（东京）、欧洲（法兰克福）、欧洲（爱尔兰）和南美洲（圣保罗）。有关 Amazon Web Services 区域 何处 CodeBuild 提供服务的更多信息，请参阅按地区划分的[Amazon 服务](https://www.amazonaws.cn/about-aws/global-infrastructure/regional-product-services/)。

## 的局限性 Amazon Lambda 计算
<a name="lambda.limitations"></a>

有些用例 Amazon Lambda 不支持，如果它们对你有影响，可以使用 EC2 计算：
+ Amazon Lambda 不支持需要 root 权限的工具。对于 `yum` 或 `rpm` 之类的工具，请使用 EC2 计算类型或其他不需要 root 权限的工具。
+ Amazon Lambda 不支持 Docker 构建或运行。
+ Amazon Lambda 不支持写入外部文件`/tmp`。包含的包管理器被配置为默认使用 `/tmp` 目录来下载和引用包。
+ Amazon Lambda 不支持该环境类型`LINUX_GPU_CONTAINER`，Windows Server Core 2019 也不支持。
+ Amazon Lambda 不支持缓存、自定义编译超时、队列超时、构建徽章、特权模式、自定义运行时环境或超过 15 分钟的运行时间。
+ Amazon Lambda 不支持 VPC 连接、固定范围的 CodeBuild 源 IP 地址、EFS、安装证书或使用会话管理器进行 SSH 访问。