

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

# 将 `PutLifecycleHook` 与 CLI 配合使用
<a name="example_auto-scaling_PutLifecycleHook_section"></a>

以下代码示例演示如何使用 `PutLifecycleHook`。

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

**Amazon CLI**  
**示例 1：创建生命周期挂钩**  
此示例创建一个生命周期挂钩，该挂钩将在任何新启动的实例上调用，超时时间为 4800 秒。这对于在用户数据脚本完成之前保持实例处于等待状态或使用调用 Lambd Amazon a 函数非常有用。 EventBridge  

```
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}}
```
此命令不生成任何输出。如果已存在同名的生命周期挂钩，则该挂钩将被新的生命周期挂钩覆盖。  
有关更多信息，请参阅《Amazon EC2 Auto Scaling 用户指南》**中的 [Amazon EC2 Auto Scaling 生命周期挂钩](https://docs.amazonaws.cn/autoscaling/ec2/userguide/lifecycle-hooks.html)。  
**示例 2：发送 Amazon SNS 电子邮件以通知您实例状态转换**  
此示例创建一个包含 Amazon SNS 主题和 IAM 角色的生命周期挂钩，用于在实例启动时接收通知。  

```
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 生命周期挂钩](https://docs.amazonaws.cn/autoscaling/ec2/userguide/lifecycle-hooks.html)。  
**示例 3：向 Amazon SQS 队列发布消息**  
此示例创建一个生命周期挂钩，该挂钩将包含元数据的消息发布到指定的 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 生命周期挂钩](https://docs.amazonaws.cn/autoscaling/ec2/userguide/lifecycle-hooks.html)。  
+  有关 API 的详细信息，请参阅*Amazon CLI 命令参考[PutLifecycleHook](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-lifecycle-hook.html)*中的。

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

**适用于 PowerShell V4 的工具**  
**示例 1：此示例将指定的生命周期挂钩添加到指定的自动扩缩组。**  

```
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 的详细信息，请参阅 *Amazon Tools for PowerShell Cmdlet 参考 (V* 4) [PutLifecycleHook](https://docs.amazonaws.cn/powershell/v4/reference)中的。

**适用于 PowerShell V5 的工具**  
**示例 1：此示例将指定的生命周期挂钩添加到指定的自动扩缩组。**  

```
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 的详细信息，请参阅 *Amazon Tools for PowerShell Cmdlet 参考 (V* 5) [PutLifecycleHook](https://docs.amazonaws.cn/powershell/v5/reference)中的。

------

有关 S Amazon DK 开发者指南和代码示例的完整列表，请参阅[将此服务与 Amazon SDK 配合使用](sdk-general-information-section.md)。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。