PutLifecycleConfiguration - Amazon Elastic File System
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

PutLifecycleConfiguration

使用此操作管理 EFS 生命周期管理和 EFS 智能分层。ALifecycleConfiguration 由一个或多个定义以下内容的LifecyclePolicy对象组成:

  • EFS 生命周期管理-当 Amazon EFS 自动将文件系统中的文件转换为成本较低的 EFS 不频繁访问 (IA) 存储类别时。

    要启用 EFS 生命周期管理,TransitionToIA请将的值设置为可用选项之一。

  • EFS 智能分层-当 Amazon EFS 自动将文件从 IA 转换回文件系统的主要存储类别(EFS 标准或 EFS 单区标准)时。

    要启用 EFS 智能分层,请将的值设置TransitionToPrimaryStorageClassAFTER_1_ACCESS

有关更多信息,请参阅 EFS 生命周期管理

每个 Amazon EFS 文件系统都支持一种生命周期配置,该配置适用于文件系统中的所有文件。如果指定文件系统的LifecycleConfiguration对象已经存在,则PutLifecycleConfiguration调用会修改现有配置。请求正文中LifecyclePolicies包含空阵列的PutLifecycleConfiguration调用会删除所有现有阵列LifecycleConfiguration并关闭文件系统的生命周期管理和 EFS Intelligent-Tiering。

在请求中,指定以下内容:

  • 您为其启用、禁用或修改生命周期管理和 EFS 智能分层的文件系统的 ID。

  • LifecyclePoliciesLifecyclePolicy对象,用于定义何时将文件移入 IA 存储以及何时将其移回标准存储。

    注意

    Amazon EFS 要求每个LifecyclePolicy对象只有一次过渡,因此需要使用单独的LifecyclePolicy对象来构造LifecyclePolicies阵列。有关更多信息,请参阅以下部分中的示例请求。

此操作需要elasticfilesystem:PutLifecycleConfiguration操作的权限。

要将LifecycleConfiguration对象应用到加密文件系统,您需要与创建加密文件系统时相同的Amazon Key Management Service权限。

请求语法

PUT /2015-02-01/file-systems/FileSystemId/lifecycle-configuration HTTP/1.1 Content-type: application/json { "LifecyclePolicies": [ { "TransitionToIA": "string", "TransitionToPrimaryStorageClass": "string" } ] }

URI 请求参数

请求使用以下 URI 参数。

FileSystemId

要为其创建LifecycleConfiguration对象的文件系统的 ID(字符串)。

长度约束:最大长度为 128。

模式:^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$

必需:是

请求正文

请求接受采用 JSON 格式的以下数据。

LifecyclePolicies

定义文件系统 LifecycleConfiguration 对象的 LifecyclePolicy 对象数组。LifecycleConfiguration对象通知 EFS 生命周期管理和EFS 智能分层以下内容:

  • 何时将文件系统中的文件从主存储移动到 IA 存储类。

  • 何时将 IA 存储中的文件移动到主存储。

注意

使用put-lifecycle-configuration CLI 命令或PutLifecycleConfiguration API 操作时,Amazon EFS 要求每个LifecyclePolicy对象只有一次过渡。这意味着在请求正文中,LifecyclePolicies 必须构造为 LifecyclePolicy 对象的数组,每个转换一个对象(TransitionToIATransitionToPrimaryStorageClass)。有关更多信息,请参阅以下部分中的示例请求。

类型:LifecyclePolicy 对象数组

数组成员:最多 15 项。

必需:是

响应语法

HTTP/1.1 200 Content-type: application/json { "LifecyclePolicies": [ { "TransitionToIA": "string", "TransitionToPrimaryStorageClass": "string" } ] }

响应元素

如果此操作成功,则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回的以下数据。

LifecyclePolicies

一系列生命周期管理策略。EFS 支持每个文件系统最多一个策略。

类型:LifecyclePolicy 对象数组

数组成员:最多 15 项。

错误

BadRequest

如果请求格式错误或包含错误(例如参数值无效或缺少必需参数),则返回。

HTTP 状态代码:400

FileSystemNotFound

如果请求者的指定FileSystemId值不存在,则返回Amazon Web Services 账户。

HTTP 状态代码:404

IncorrectFileSystemLifeCycleState

如果文件系统的生命周期状态不是 “可用”,则返回。

HTTP 状态代码:409

InternalServerError

如果服务器端发生错误,则返回。

HTTP 状态代码:500

示例

创建生命周期配置

以下示例使用PutLifecycleConfiguration操作创建LifecyclePolicy对象。此示例创建了一个生命周期策略,指示 EFS 生命周期管理执行以下操作:

  • 将文件系统中过去 30 天未访问的所有文件移动到 IA 存储类。

  • 首次访问 IA 存储中的文件后,将其移至主存储(EFS 标准或 EFS 单区标准)。

有关更多信息,请参阅 EFS 存储类别EFS 生命周期管理以及 EFS 智能分层

示例请求

PUT /2015-02-01/file-systems/fs-0123456789abcdefb/lifecycle-configuration HTTP/1.1 Host: elasticfilesystem.us-west-2.amazonaws.com x-amz-date: 20181122T232908Z Authorization: <...> Content-type: application/json Content-Length: 86 { "LifecyclePolicies": [ { "TransitionToIA": "AFTER_60_DAYS" }, { "TransitionToPrimaryStorage": "AFTER_1_ACCESS" } ] }

示例响应

HTTP/1.1 200 OK x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef Content-type: application/json Content-Length: 86 { "LifecyclePolicies": [ { "TransitionToIA": "AFTER_60_DAYS" }, { "TransitionToPrimaryStorage": "AFTER_1_ACCESS" } ] }

示例 put-lifecycle-configuration CLI 请求

此示例说明了的一种用法 PutLifecycleConfiguration。

示例请求

aws efs put-lifecycle-configuration \ --file-system-id fs-0123456789abcdefb \ --lifecycle-policies "[{"TransitionToIA":"AFTER_30_DAYS"}, {"TransitionToPrimaryStorageClass":"AFTER_1_ACCESS"}]" --region us-west-2 \ --profile adminuser

示例响应

{ "LifecyclePolicies": [ { "TransitionToIA": "AFTER_30_DAYS" }, { "TransitionToPrimaryStorageClass": "AFTER_1_ACCESS" } ] }

禁用生命周期管理

以下示例禁用指定文件系统的生命周期管理。

示例请求

PUT /2015-02-01/file-systems/fs-01234567/lifecycle-configuration HTTP/1.1 Host: elasticfilesystem.us-west-2.amazonaws.com x-amz-date: 20181122T232908Z Authorization: <...> Content-type: application/json Content-Length: 86 { "LifecyclePolicies": [ ] }

示例响应

HTTP/1.1 200 OK x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef Content-type: application/json Content-Length: 86 { "LifecyclePolicies": [ ] }

另请参阅

有关在特定语言的 Amazon 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: