PutLifecycleConfiguration
使用此操作可以管理文件系统的存储。LifecycleConfiguration
由一个或多个定义以下内容的 LifecyclePolicy
对象组成:
-
TransitionToIA
– 何时将文件系统中的文件从主存储(标准存储类)移到不频繁访问 (IA) 存储。 -
TransitionToArchive
– 何时将文件系统中的文件从其当前存储类(IA 或标准存储)移到归档存储。在转换为 IA 存储之前,文件系统无法转换为归档存储。因此,TransitionToArchive 要么未设置,要么必须晚于 TransitionToIA。
注意
归档存储类仅适用于使用弹性吞吐量模式和通用性能模式的文件系统。
-
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 要么未设置,要么必须晚于 TransitionToIA。
注意
归档存储类仅适用于使用弹性吞吐量模式和通用性能模式的文件系统。
-
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
-
如果请求者的 Amazon Web Services 账户中不存在指定的
FileSystemId
值,则返回此内容。HTTP 状态代码:404
- IncorrectFileSystemLifeCycleState
-
如果文件系统的生命周期状态不是“可用”,则返回此内容。
HTTP 状态代码:409
- InternalServerError
-
如果服务器端发生错误,则返回此内容。
HTTP 状态代码:500
示例
创建生命周期配置
以下示例使用 PutLifecycleConfiguration
操作创建 LifecyclePolicy
对象。此示例将创建一个生命周期策略,指示 EFS 执行以下操作:
-
将文件系统中过去 30 天内未在标准存储中访问过的所有文件移到 IA 存储。
-
将文件系统中过去 90 天内未在标准存储中访问过的所有文件移到归档存储。
-
在 IA 或归档存储中访问文件后,将文件移回标准存储。归档存储类仅适用于使用弹性吞吐量模式和通用性能模式的文件系统。
示例请求
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 的更多信息,请参阅以下内容: