

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# PutLifecycleConfiguration
<a name="API_PutLifecycleConfiguration"></a>

使用此動作可管理檔案系統的儲存空間。`LifecycleConfiguration` 由定義下列項目的一或多個 `LifecyclePolicy` 物件組成：
+  **`TransitionToIA`**：何時將檔案系統中的檔案從主要儲存 (標準儲存類別) 移至 Infrequent Access (IA) 儲存類別。
+  **`TransitionToArchive`**：何時將檔案系統中的檔案從目前主要儲存類別 (IA 或標準儲存) 移至「封存」儲存。

  檔案系統在轉移至 IA 儲存之前，無法轉移至「封存」儲存。因此，禁止設定 TransitionToArchive，或必須晚於 TransitionToIA 轉移。
**注意**  
 封存儲存類別僅適用於使用彈性輸送量模式和一般用途效能模式的檔案系統。
+  **`TransitionToPrimaryStorageClass`**：在檔案系統中的檔案存取到 IA 或「封存」儲存后，是否將其移回主要存儲 (標準存儲類別)。

如需詳細資訊，請參閱[管理檔案系統儲存](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html)。

每個 Amazon EFS 檔案系統都支援一個生命週期組態，該組態適用於檔案系統中的所有檔案。如果指定的檔案系統已存在 `LifecycleConfiguration` 物件，則 `PutLifecycleConfiguration` 呼叫會修改現有組態。請求主體中含有空 `LifecyclePolicies` 陣列的 `PutLifecycleConfiguration` 呼叫會刪除任何現有的 `LifecycleConfiguration`。在請求中，指定下列項目：
+ 您要啟用、停用或修改生命週期管理的檔案系統 ID。
+ `LifecyclePolicy` 物件的 `LifecyclePolicies` 陣列用於定義將檔案移至 IA 儲存、「封存」儲存，以及移回主要儲存的時間。
**注意**  
Amazon EFS 要求每個 `LifecyclePolicy` 物件只能轉移一次，因此 `LifecyclePolicies` 陣列需要使用不同的 `LifecyclePolicy` 物件進行結構化。如需詳細資訊，請參閱下文中的請求範例。

這項操作需要 `elasticfilesystem:PutLifecycleConfiguration` 操作許可。

若要將`LifecycleConfiguration`物件套用至加密的檔案系統，您需要與建立加密檔案系統時相同的 AWS Key Management Service 許可。

## 請求語法
<a name="API_PutLifecycleConfiguration_RequestSyntax"></a>

```
PUT /2015-02-01/file-systems/FileSystemId/lifecycle-configuration HTTP/1.1
Content-type: application/json

{
   "LifecyclePolicies": [ 
      { 
         "TransitionToArchive": "string",
         "TransitionToIA": "string",
         "TransitionToPrimaryStorageClass": "string"
      }
   ]
}
```

## URI 請求參數
<a name="API_PutLifecycleConfiguration_RequestParameters"></a>

請求會使用下列 URI 參數。

 ** [FileSystemId](#API_PutLifecycleConfiguration_RequestSyntax) **   <a name="efs-PutLifecycleConfiguration-request-uri-FileSystemId"></a>
正在建立 `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})$`  
必要：是

## 請求主體
<a name="API_PutLifecycleConfiguration_RequestBody"></a>

請求接受採用 JSON 格式的下列資料。

 ** [LifecyclePolicies](#API_PutLifecycleConfiguration_RequestSyntax) **   <a name="efs-PutLifecycleConfiguration-request-LifecyclePolicies"></a>
用於定義檔案系統 `LifecycleConfiguration` 物件的 `LifecyclePolicy` 物件陣列。`LifecycleConfiguration` 物件會通知生命週期管理下列項目：  
+  **`TransitionToIA`**：何時將檔案系統中的檔案從主要儲存 (標準儲存類別) 移至 Infrequent Access (IA) 儲存類別。
+  **`TransitionToArchive`**：何時將檔案系統中的檔案從目前主要儲存類別 (IA 或標準儲存) 移至「封存」儲存。

  檔案系統在轉移至 IA 儲存之前，無法轉移至「封存」儲存。因此，禁止設定 TransitionToArchive，或必須晚於 TransitionToIA 轉移。
**注意**  
封存儲存類別僅適用於使用彈性輸送量模式和一般用途效能模式的檔案系統。
+  **`TransitionToPrimaryStorageClass`**：在檔案系統中的檔案存取到 IA 或「封存」儲存后，是否將其移回主要存儲 (標準存儲類別)。
使用 `put-lifecycle-configuration` CLI 命令或 `PutLifecycleConfiguration` API 動作時，Amazon EFS 要求每個 `LifecyclePolicy` 物件只能有一次轉移。這意味著在請求內文中，`LifecyclePolicies` 必須結構化為 `LifecyclePolicy` 物件陣列，每次儲存轉移對應一個物件。如需詳細資訊，請參閱下文中的請求範例。
類型：[LifecyclePolicy](API_LifecyclePolicy.md) 物件陣列  
陣列成員：最多 3 個項目。  
必要：是

## 回應語法
<a name="API_PutLifecycleConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "LifecyclePolicies": [ 
      { 
         "TransitionToArchive": "string",
         "TransitionToIA": "string",
         "TransitionToPrimaryStorageClass": "string"
      }
   ]
}
```

## 回應元素
<a name="API_PutLifecycleConfiguration_ResponseElements"></a>

如果動作成功，則服務傳回 HTTP 200 回應。

服務會傳回下列 JSON 格式的資料。

 ** [LifecyclePolicies](#API_PutLifecycleConfiguration_ResponseSyntax) **   <a name="efs-PutLifecycleConfiguration-response-LifecyclePolicies"></a>
生命週期管理政策陣列。EFS 最多為每個檔案系統支援一個政策。  
類型：[LifecyclePolicy](API_LifecyclePolicy.md) 物件陣列  
陣列成員：最多 3 個項目。

## 錯誤
<a name="API_PutLifecycleConfiguration_Errors"></a>

 ** BadRequest **   
如果請求格式錯誤或包含錯誤，例如無效的參數值或缺少必要參數，則傳回。    
 ** ErrorCode **   
錯誤代碼是一個字串，專門用於識別錯誤狀況。偵測及依類型處理錯誤的程式必須讀取及了解此代碼。  
 ** Message **   
錯誤訊息包含錯誤狀況的一般英文描述，目標對象是人。一般簡單的程式在發生其無法處理的錯誤狀況時，會直接對最終使用者顯示訊息。複雜一些的程式因為錯誤處理更加周密，而且經過適當的國際化，所以很可能會忽略錯誤訊息。
HTTP 狀態碼：400

 ** FileSystemNotFound **   
如果指定的`FileSystemId`值不存在於請求者的 中，則傳回 AWS 帳戶。    
 ** ErrorCode **   
錯誤代碼是一個字串，專門用於識別錯誤狀況。偵測及依類型處理錯誤的程式必須讀取及了解此代碼。  
 ** Message **   
錯誤訊息包含錯誤狀況的一般英文描述，目標對象是人。一般簡單的程式在發生其無法處理的錯誤狀況時，會直接對最終使用者顯示訊息。複雜一些的程式因為錯誤處理更加周密，而且經過適當的國際化，所以很可能會忽略錯誤訊息。
HTTP 狀態碼：404

 ** IncorrectFileSystemLifeCycleState **   
如果檔案系統的生命週期狀態不是「可用」，則傳回。    
 ** ErrorCode **   
錯誤代碼是一個字串，專門用於識別錯誤狀況。偵測及依類型處理錯誤的程式必須讀取及了解此代碼。  
 ** Message **   
錯誤訊息包含錯誤狀況的一般英文描述，目標對象是人。一般簡單的程式在發生其無法處理的錯誤狀況時，會直接對最終使用者顯示訊息。複雜一些的程式因為錯誤處理更加周密，而且經過適當的國際化，所以很可能會忽略錯誤訊息。
HTTP 狀態碼：409

 ** InternalServerError **   
如果伺服器端發生錯誤，則傳回。    
 ** ErrorCode **   
錯誤代碼是一個字串，專門用於識別錯誤狀況。偵測及依類型處理錯誤的程式必須讀取及了解此代碼。  
 ** Message **   
錯誤訊息包含錯誤狀況的一般英文描述，目標對象是人。一般簡單的程式在發生其無法處理的錯誤狀況時，會直接對最終使用者顯示訊息。複雜一些的程式因為錯誤處理更加周密，而且經過適當的國際化，所以很可能會忽略錯誤訊息。
HTTP 狀態碼：500

## 範例
<a name="API_PutLifecycleConfiguration_Examples"></a>

### 建立生命週期組態
<a name="API_PutLifecycleConfiguration_Example_1"></a>

下列範例會使用 `PutLifecycleConfiguration` 動作建立 `LifecyclePolicy` 物件。此範例建立生命週期政策，以便指示 EFS 執行以下操作：
+ 將過去 30 天內未在標準儲存中存取過的檔案系統中的所有檔案移至封存儲存。
+ 將過去 90 天內未在標準儲存中存取過的檔案系統中的所有檔案移至封存儲存。
+ 檔案儲存到 IA 或「封存」儲存中后，再移回標準存儲。封存儲存類別僅適用於使用彈性輸送量模式和一般用途效能模式的檔案系統。

如需詳細資訊，請參閱 [EFS 儲存類別](https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html)和[管理檔案系統儲存](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html)。

#### 請求範例
<a name="API_PutLifecycleConfiguration_Example_1_Request"></a>

```
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"
      }
   ]
}
```

#### 回應範例
<a name="API_PutLifecycleConfiguration_Example_1_Response"></a>

```
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 請求範例
<a name="API_PutLifecycleConfiguration_Example_2"></a>

此範例說明了 PutLifecycleConfiguration 的一種用法。

#### 請求範例
<a name="API_PutLifecycleConfiguration_Example_2_Request"></a>

```
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
```

#### 回應範例
<a name="API_PutLifecycleConfiguration_Example_2_Response"></a>

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

### 停用生命週期管理
<a name="API_PutLifecycleConfiguration_Example_3"></a>

下列範例會停用指定檔案系統的生命週期管理。

#### 請求範例
<a name="API_PutLifecycleConfiguration_Example_3_Request"></a>

```
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": [ ]
}
```

#### 回應範例
<a name="API_PutLifecycleConfiguration_Example_3_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: 01234567-89ab-cdef-0123-456789abcdef
Content-type: application/json
Content-Length: 86

{
   "LifecyclePolicies": [ ]
}
```

## 另請參閱
<a name="API_PutLifecycleConfiguration_SeeAlso"></a>

如需在其中一種語言特定 AWS SDKs中使用此 API 的詳細資訊，請參閱下列內容：
+  [AWS 命令列界面 V2](https://docs.aws.amazon.com/goto/cli2/elasticfilesystem-2015-02-01/PutLifecycleConfiguration) 
+  [AWS 適用於 .NET V4 的 SDK](https://docs.aws.amazon.com/goto/DotNetSDKV4/elasticfilesystem-2015-02-01/PutLifecycleConfiguration) 
+  [AWS 適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/elasticfilesystem-2015-02-01/PutLifecycleConfiguration) 
+  [AWS 適用於 Go 的 SDK v2](https://docs.aws.amazon.com/goto/SdkForGoV2/elasticfilesystem-2015-02-01/PutLifecycleConfiguration) 
+  [AWS 適用於 Java V2 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaV2/elasticfilesystem-2015-02-01/PutLifecycleConfiguration) 
+  [AWS 適用於 JavaScript V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/elasticfilesystem-2015-02-01/PutLifecycleConfiguration) 
+  [AWS 適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/elasticfilesystem-2015-02-01/PutLifecycleConfiguration) 
+  [AWS 適用於 PHP V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForPHPV3/elasticfilesystem-2015-02-01/PutLifecycleConfiguration) 
+  [AWS 適用於 Python 的 SDK](https://docs.aws.amazon.com/goto/boto3/elasticfilesystem-2015-02-01/PutLifecycleConfiguration) 
+  [AWS 適用於 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/elasticfilesystem-2015-02-01/PutLifecycleConfiguration) 