

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

# 在 Amazon Lambda 计算基础上运行构建
<a name="lambda"></a>

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

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

## Amazon Lambda上运行的精心策划的运行时环境 Docker 映像中将包含哪些工具和运行时？
<a name="lambda.tools"></a>

Amazon Lambda 支持以下工具： Amazon CLI v2、 Amazon SAM CLI、git、go、Java、Node.js、Python、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 访问。