

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

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

# 搭配使用 `PutLifecycleHook` 與 CLI
<a name="auto-scaling_example_auto-scaling_PutLifecycleHook_section"></a>

下列程式碼範例示範如何使用 `PutLifecycleHook`。

------
#### [ CLI ]

**AWS CLI**  
**範例 1：建立 lifecycle hook**  
此範例建立可在任何新啟動的執行個體上調用的 lifecycle hook，逾時時間為 4800 秒。這有助於將執行個體保持在等待狀態，直到使用者資料指令碼完成，或使用 EventBridge 叫用 AWS Lambda 函數。  

```
aws autoscaling put-lifecycle-hook \
    --auto-scaling-group-name {{my-asg}} \
    --lifecycle-hook-name {{my-launch-hook}} \
    --lifecycle-transition {{autoscaling:EC2_INSTANCE_LAUNCHING}} \
    --heartbeat-timeout {{4800}}
```
此命令不會產生輸出。如果具有相同名稱的 lifecycle hook 已存在，則會被新的 lifecycle hook 覆寫。  
如需詳細資訊，請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 [Amazon EC2 Auto Scaling lifecycle hook](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)。  
**範例 2：傳送 Amazon SNS 電子郵件訊息通知您執行個體狀態轉移**  
此範例建立具有 Amazon SNS 主題和 IAM 角色的 lifecycle hook，以用於在執行個體啟動時接收通知。  

```
aws autoscaling put-lifecycle-hook \
    --auto-scaling-group-name {{my-asg}} \
    --lifecycle-hook-name {{my-launch-hook}} \
    --lifecycle-transition {{autoscaling:EC2_INSTANCE_LAUNCHING}} \
    --notification-target-arn {{arn:aws:sns:us-west-2:123456789012:my-sns-topic}} \
    --role-arn {{arn:aws:iam::123456789012:role/my-auto-scaling-role}}
```
此命令不會產生輸出。  
如需詳細資訊，請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 [Amazon EC2 Auto Scaling lifecycle hook](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)。  
**範例 3：發佈訊息至 Amazon SQS 佇列**  
此範例會建立 lifecycle hook，將具有中繼資料的訊息發佈至指定的 Amazon SQS 佇列。  

```
aws autoscaling put-lifecycle-hook \
    --auto-scaling-group-name {{my-asg}} \
    --lifecycle-hook-name {{my-launch-hook}} \
    --lifecycle-transition {{autoscaling:EC2_INSTANCE_LAUNCHING}} \
    --notification-target-arn {{arn:aws:sqs:us-west-2:123456789012:my-sqs-queue}} \
    --role-arn {{arn:aws:iam::123456789012:role/my-notification-role}} \
    --notification-metadata {{"SQS message metadata"}}
```
此命令不會產生輸出。  
如需詳細資訊，請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 [Amazon EC2 Auto Scaling lifecycle hook](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)。  
+  如需 API 詳細資訊，請參閱《*AWS CLI 命令參考*》中的 [PutLifecycleHook](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-lifecycle-hook.html)。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**範例 1：此範例將指定的 lifecycle hook 新增至指定的 Auto Scaling 群組。**  

```
Write-ASLifecycleHook -AutoScalingGroupName my-asg -LifecycleHookName "myLifecycleHook" -LifecycleTransition "autoscaling:EC2_INSTANCE_LAUNCHING" -NotificationTargetARN "arn:aws:sns:us-west-2:123456789012:my-sns-topic" -RoleARN "arn:aws:iam::123456789012:role/my-iam-role"
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V4)》**中的 [PutLifecycleHook](https://docs.aws.amazon.com/powershell/v4/reference)。

**Tools for PowerShell V5**  
**範例 1：此範例將指定的 lifecycle hook 新增至指定的 Auto Scaling 群組。**  

```
Write-ASLifecycleHook -AutoScalingGroupName my-asg -LifecycleHookName "myLifecycleHook" -LifecycleTransition "autoscaling:EC2_INSTANCE_LAUNCHING" -NotificationTargetARN "arn:aws:sns:us-west-2:123456789012:my-sns-topic" -RoleARN "arn:aws:iam::123456789012:role/my-iam-role"
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》**中的 [PutLifecycleHook](https://docs.aws.amazon.com/powershell/v5/reference)。

------