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

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

PutLifecycleConfiguration

使用此操作可以管理文件系统的存储。LifecycleConfiguration 由一个或多个定义以下内容的 LifecyclePolicy 对象组成:

  • TransitionToIA – 何时将文件系统中的文件从主存储(标准存储类)移到不频繁访问 (IA) 存储。

  • TransitionToArchive – 何时将文件系统中的文件从其当前存储类(IA 或标准存储)移到归档存储。

    在转换为 IA 存储之前,文件系统无法转换为归档存储。因此, TransitionToArchive 要么不能设置,要么必须晚于 TransitionTo IA。

    注意

    存档存储类仅适用于使用弹性吞吐量模式和通用性能模式的文件系统。

  • TransitionToPrimaryStorageClass – 在 IA 或归档存储中访问文件后,是否将文件系统中的文件移回主存储(标准存储类)。

有关更多信息,请参阅管理文件系统存储

每个 Amazon EFS 文件系统都支持一种生命周期配置,该配置适用于该文件系统中的所有文件。如果指定文件系统的 LifecycleConfiguration 对象已存在,PutLifecycleConfiguration 调用会修改现有配置。请求正文中包含空 LifecyclePolicies 数组的 PutLifecycleConfiguration 调用会删除任何现有 LifecycleConfiguration。在该请求中,指定以下项:

  • 您要启用、禁用或修改生命周期管理的文件系统的 ID。

  • LifecyclePolicy 对象的 LifecyclePolicies 数组,这些对象定义何时将文件移至 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": [ { "TransitionToArchive": "string", "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对象向生命周期管理部门通报以下信息:

  • TransitionToIA – 何时将文件系统中的文件从主存储(标准存储类)移到不频繁访问 (IA) 存储。

  • TransitionToArchive – 何时将文件系统中的文件从其当前存储类(IA 或标准存储)移到归档存储。

    在转换为 IA 存储之前,文件系统无法转换为归档存储。因此, TransitionToArchive 要么不能设置,要么必须晚于 TransitionTo IA。

    注意

    存档存储类仅适用于使用弹性吞吐量模式和通用性能模式的文件系统。

  • TransitionToPrimaryStorageClass – 在 IA 或归档存储中访问文件后,是否将文件系统中的文件移回主存储(标准存储类)。

注意

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

类型:LifecyclePolicy 对象数组

数组成员:最多 3 项。

必需:是

响应语法

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

响应元素

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

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

LifecyclePolicies

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

类型:LifecyclePolicy 对象数组

数组成员:最多 3 项。

错误

BadRequest

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

HTTP 状态代码:400

FileSystemNotFound

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

HTTP 状态代码:404

IncorrectFileSystemLifeCycleState

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

HTTP 状态代码:409

InternalServerError

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

HTTP 状态代码:500

示例

创建生命周期配置

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

  • 将文件系统中过去 30 天内未在标准存储中访问过的所有文件移到 IA 存储。

  • 将文件系统中过去 90 天内未在标准存储中访问过的所有文件移到归档存储。

  • 在 IA 或归档存储中访问文件后,将文件移回标准存储。存档存储类仅适用于使用弹性吞吐量模式和通用性能模式的文件系统。

有关更多信息,请参阅 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": [ { "TransitionToArchive": "AFTER_90_DAYS" }, { "TransitionToIA": "AFTER_30_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": [ { "TransitionToArchive": "AFTER_90_DAYS" }, { "TransitionToIA": "AFTER_30_DAYS" }, { "TransitionToPrimaryStorage": "AFTER_1_ACCESS" } ] }

put-lifecycle-configuration CLI 请求示例

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

示例请求

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

示例响应

{ "LifecyclePolicies": [ { "TransitionToArchive": "AFTER_90_DAYS" }, { "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 SDK 中使用此 API 的更多信息,请参阅以下内容: