

# 为 Lambda 函数配置短暂存储
<a name="configuration-ephemeral-storage"></a>

Lambda 为 `/tmp` 目录中的函数提供短暂存储。此存储是临时的，并且对于每个执行环境都是独一无二的。您可以使用**短暂存储**设置来控制分配给函数的短暂存储量。您可以以 1MB 的增量将短暂存储配置在 512MB 与 10240MB 之间。存储在 `/tmp` 中的所有数据都是使用由 Amazon 管理密钥进行静态加密。

本页介绍常见应用场景以及如何更新 Lambda 函数的短暂存储。

**Topics**
+ [增加短暂存储的常见应用场景](#configuration-ephemeral-storage-use-cases)
+ [配置短暂存储（控制台）](#configuration-ephemeral-storage-console)
+ [配置短暂存储（Amazon CLI）](#configuration-ephemeral-storage-cli)
+ [配置短暂存储（Amazon SAM）](#configuration-ephemeral-storage-sam)

## 增加短暂存储的常见应用场景
<a name="configuration-ephemeral-storage-use-cases"></a>

以下是几个可从增加短暂存储中受益的常见应用场景：
+ **提取-转换-加载（ETL）作业：**当您的代码执行中间计算或下载其他资源以完成处理时，增加短暂存储。更多的临时空间允许在 Lambda 函数中运行更复杂的 ETL 作业。
+ **机器学习（ML）推理：**许多推理任务依赖于大型参考数据文件，包括库和模型。有了更多短暂存储，您可以从 Amazon Simple Storage Service（Amazon S3）将更大的模型下载到 `/tmp` 并将其用于处理。
+ **数据处理：**对于从 Amazon S3 下载对象以响应 S3 事件的工作负载，更多的 `/tmp` 空间使得无需使用内存中处理即可处理较大的对象。创建 PDF 或处理媒体的工作负载也将从更多短暂的存储中获益。
+ **图形处理：**图像处理是基于 Lambda 的应用程序的常见应用场景。对于处理大型 TIFF 文件或卫星图像的工作负载，更多的短暂存储可以更轻松地在 Lambda 中使用库和执行计算。

## 配置短暂存储（控制台）
<a name="configuration-ephemeral-storage-console"></a>

您可以在 Lambda 控制台中配置临时存储。

**要修改函数的临时存储**

1. 打开 Lamba 控制台的[函数](https://console.amazonaws.cn/lambda/home#/functions)页面。

1. 选择函数。

1. 选择**配置**选项卡，然后选择**常规配置**。  
![\[\]](http://docs.amazonaws.cn/lambda/latest/dg/images/configuration-tab.png)

1. 在**常规配置**下，选择**编辑**。

1. 对于**短暂存储**，以 1MB 的增量将值设置在 512MB 与 10240MB 之间。

1. 选择**保存**。

## 配置短暂存储（Amazon CLI）
<a name="configuration-ephemeral-storage-cli"></a>

您可以使用 [update-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html) 命令来配置短暂存储。

**Example**  

```
aws lambda update-function-configuration \
  --function-name my-function \
  --ephemeral-storage '{"Size": 1024}'
```

## 配置短暂存储（Amazon SAM）
<a name="configuration-ephemeral-storage-sam"></a>

您可以使用 [Amazon Serverless Application Model](https://docs.amazonaws.cn//serverless-application-model/latest/developerguide/serverless-getting-started.html ) 为您的函数配置短暂存储。更新 `template.yaml` 文件中的 [EphemeralStorage](https://docs.amazonaws.cn//serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-ephemeralstorage) 属性，然后运行 [sam deploy](https://docs.amazonaws.cn//serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-deploy.html)。

**Example template.yaml**  

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: An AWS Serverless Application Model template describing your function.
Resources:
  my-function:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: .
      Description: ''
      MemorySize: 128
      Timeout: 120
      Handler: index.handler
      Runtime: nodejs22.x
      Architectures:
        - x86_64
      EphemeralStorage:
        Size: 10240
      # Other function properties...
```