

文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 [AWS SDK 範例](https://github.com/awsdocs/aws-doc-sdk-examples)。

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

# 使用 的 Amazon Data Lifecycle Manager 範例 AWS CLI
<a name="cli_2_dlm_code_examples"></a>

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 Amazon Data Lifecycle Manager 來執行動作和實作常見案例。

*Actions* 是大型程式的程式碼摘錄，必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數，但您可以在其相關情境中查看內容中的動作。

每個範例均包含完整原始碼的連結，您可在連結中找到如何設定和執行內容中程式碼的相關指示。

**Topics**
+ [動作](#actions)

## 動作
<a name="actions"></a>

### `create-default-role`
<a name="dlm_CreateDefaultRole_cli_2_topic"></a>

以下程式碼範例顯示如何使用 `create-default-role`。

**AWS CLI**  
**為 Amazon DLM 建立必要的 IAM 角色**  
下列`dlm create-default-role`範例會建立用於管理快照的 AWS DataLifecycleManagerDefaultRole 預設角色。  

```
aws dlm create-default-role \
    --resource-type snapshot
```
此命令不會產生輸出。  
如需詳細資訊，請參閱《*Amazon Elastic Compute Cloud 使用者指南*》中的 [Amazon Data Lifecycle Manager 的預設服務角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/service-role.html#default-service-roles)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [CreateDefaultRole](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/create-default-role.html)。

### `create-lifecycle-policy`
<a name="dlm_CreateLifecyclePolicy_cli_2_topic"></a>

以下程式碼範例顯示如何使用 `create-lifecycle-policy`。

**AWS CLI**  
**建立生命週期政策**  
下列 `create-lifecycle-policy` 範例會建立生命週期政策，以在指定時間建立磁碟區的每日快照。指定的標籤會加入至快照，而標籤也會從磁碟區複製並加入至快照。如果建立新的快照超過指定的計數上限，則會刪除最舊的快照。  

```
aws dlm create-lifecycle-policy \
    --description "My first policy" \
    --state ENABLED \
    --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole \
    --policy-details file://policyDetails.json
```
`policyDetails.json` 的內容：  

```
{
    "ResourceTypes": [
        "VOLUME"
    ],
    "TargetTags": [
        {
            "Key": "costCenter",
            "Value": "115"
        }
    ],
    "Schedules":[
        {
            "Name": "DailySnapshots",
            "CopyTags": true,
            "TagsToAdd": [
                {
                    "Key": "type",
                     "Value": "myDailySnapshot"
                }
            ],
            "CreateRule": {
                "Interval": 24,
                "IntervalUnit": "HOURS",
                "Times": [
                    "03:00"
                ]
            },
            "RetainRule": {
                "Count":5
            }
        }
    ]
}
```
輸出：  

```
{
    "PolicyId": "policy-0123456789abcdef0"
}
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [CreateLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/create-lifecycle-policy.html)。

### `delete-lifecycle-policy`
<a name="dlm_DeleteLifecyclePolicy_cli_2_topic"></a>

以下程式碼範例顯示如何使用 `delete-lifecycle-policy`。

**AWS CLI**  
**刪除生命週期政策**  
以下範例會刪除指定的生命週期政策：  

```
aws dlm delete-lifecycle-policy --policy-id policy-0123456789abcdef0
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DeleteLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/delete-lifecycle-policy.html)。

### `get-lifecycle-policies`
<a name="dlm_GetLifecyclePolicies_cli_2_topic"></a>

以下程式碼範例顯示如何使用 `get-lifecycle-policies`。

**AWS CLI**  
**取得生命週期政策的摘要**  
下列 `get-lifecycle-policies` 範例列出所有生命週期政策。  

```
aws dlm get-lifecycle-policies
```
輸出：  

```
{
    "Policies": [
        {
            "PolicyId": "policy-0123456789abcdef0",
            "Description": "My first policy",
            "State": "ENABLED"
        }
    ]
}
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [GetLifecyclePolicies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/get-lifecycle-policies.html)。

### `get-lifecycle-policy`
<a name="dlm_GetLifecyclePolicy_cli_2_topic"></a>

以下程式碼範例顯示如何使用 `get-lifecycle-policy`。

**AWS CLI**  
**描述生命週期政策**  
下列 `get-lifecycle-policy` 範例顯示指定生命週期政策的詳細資訊。  

```
aws dlm get-lifecycle-policy \
    --policy-id policy-0123456789abcdef0
```
輸出：  

```
{
    "Policy": {
        "PolicyId": "policy-0123456789abcdef0",
        "Description": "My policy",
        "State": "ENABLED",
        "ExecutionRoleArn": "arn:aws:iam::123456789012:role/AWSDataLifecycleManagerDefaultRole",
        "DateCreated": "2019-08-08T17:45:42Z",
        "DateModified": "2019-08-08T17:45:42Z",
        "PolicyDetails": {
            "PolicyType": "EBS_SNAPSHOT_MANAGEMENT",
            "ResourceTypes": [
                "VOLUME"
            ],
            "TargetTags": [
              {
                  "Key": "costCenter",
                  "Value": "115"
              }
            ],
            "Schedules": [
              {
                  "Name": "DailySnapshots",
                  "CopyTags": true,
                  "TagsToAdd": [
                    {
                        "Key": "type",
                        "Value": "myDailySnapshot"
                    }
                  ],
                  "CreateRule": {
                    "Interval": 24,
                    "IntervalUnit": "HOURS",
                    "Times": [
                        "03:00"
                    ]
                  },
                  "RetainRule": {
                    "Count": 5
                  }
              }
            ]
        }
    }
}
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [GetLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/get-lifecycle-policy.html)。

### `update-lifecycle-policy`
<a name="dlm_UpdateLifecyclePolicy_cli_2_topic"></a>

以下程式碼範例顯示如何使用 `update-lifecycle-policy`。

**AWS CLI**  
**範例 1：啟用生命週期政策**  
下列 `update-lifecycle-policy` 範例會啟用指定的生命週期政策。  

```
aws dlm update-lifecycle-policy \
    --policy-id policy-0123456789abcdef0 \
    --state ENABLED
```
**範例 2：停用生命週期政策**  
下列 `update-lifecycle-policy` 範例會停用指定的生命週期政策。  

```
aws dlm update-lifecycle-policy \
    --policy-id policy-0123456789abcdef0 \
    --state DISABLED
```
**範例 3：更新生命週期政策的詳細資訊**  
下列 `update-lifecycle-policy` 範例會更新指定之生命週期政策的目標標籤。  

```
aws dlm update-lifecycle-policy \
    --policy-id policy-0123456789abcdef0
    --policy-details file://policyDetails.json
```
`policyDetails.json` 的內容。該命令不會變更此檔案中未參照的其他詳細資訊。  

```
{
    "TargetTags": [
        {
            "Key": "costCenter",
            "Value": "120"
        },
        {
            "Key": "project",
            "Value": "lima"
        }
    ]
}
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [UpdateLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/update-lifecycle-policy.html)。