

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

# 创建基于 Amazon CloudFormation 堆栈的群组
<a name="gettingstarted-query-stack-based"></a>

以下过程说明了如何构建基于堆栈的查询和使用此查询创建资源组。

------
#### [ Console ]

1. 登录 [Amazon Resource Groups 控制台](https://console.amazonaws.cn/resource-groups)。

1. 在导航窗格中，选择**[创建资源组](https://console.amazonaws.cn/resource-groups/groups/new)**。

1. 在**创建基于查询的群组**中，在**群组类型**下，选择**基于CloudFormation 堆栈**的群组类型。

1. 选择要作为组基础的堆栈。只能将资源组基于一个堆栈。要筛选堆栈列表，请开始键入堆栈的名称。仅在列表中显示具有支持的状态的堆栈。

1. 在堆栈中选择要包含在组中的资源类型。对于本演练，请保留默认值**所有受支持的资源类型**。有关可以包含在组中的受支持资源类型的更多信息，请参阅[可以与一起使用的资源类型 Amazon Resource Groups 和标签编辑器](supported-resources.md)。

1. 选择**查看组资源**以返回 Amazon CloudFormation 堆栈中与所选资源类型相匹配的资源列表。

1. 获得所需的结果后，根据此查询创建一个组。

   1. 在**组详细信息**下， 对于**组名称**，为您的资源组键入一个名称。

      资源组名称最多可以包含 128 个字符，包括字母、数字、连字符、句点和下划线。名称不能以 `AWS` 或 `aws` 开头。这些名称是预留的。资源组名称在您账户的当前区域中必须是唯一的。

   1. （可选）在**组描述**中，输入您的组的描述。

   1. （可选）在**组标签**中，添加仅适用于资源组（而不适用于组中的成员资源）的标签键和值对。

      如果计划将此组作为较大组的成员，则组标签非常有用。由于需要指定至少一个标签键以创建组，因此，请务必将**组标签**中的至少一个标签键添加到打算嵌套到更大组的组中。

1. 在完成后，选择**创建组**。

------
#### [ Amazon CLI & Amazon SDKs ]

 Amazon CloudFormation 基于堆栈的组基于类型的查询。`CLOUDFORMATION_STACK_1_0`

1. 运行以下命令，将组名称、描述、堆栈标识符和资源类型的值替换为您自己的值。描述最多可以包含 512 个字符，包括字母、数字、连字符、下划线、标点符号和空格。

   如果未指定资源类型，则 Resource Groups 包含堆栈中的所有支持的资源类型。您最多可以在查询中包含 20 种资源类型。资源组名称最多可以包含 128 个字符，包括字母、数字、连字符、句点和下划线。名称不能以 `AWS` 或 `aws` 开头。这些名称是预留的。资源组名称在您的账户中必须是唯一的。

   {{stack\_identifier}}是堆栈 ARN，如示例命令所示。

   ```
   $ aws resource-groups create-group \
       --name {{group_name}} \
       --description "{{description}}" \
       --resource-query '{"Type":"CLOUDFORMATION_STACK_1_0","Query":"{\"StackIdentifier\":\"{{stack_identifier}}\",\"ResourceTypeFilters\":[\"{{resource_type1}}\",\"{{resource_type2}}\"]}"}'
   ```

   以下命令是一个示例。

   ```
   $ aws resource-groups create-group \
       --name My-CFN-stack-group \
       --description "My first CloudFormation stack-based group" \
       --resource-query '{"Type":"CLOUDFORMATION_STACK_1_0","Query":"{\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack\/{{AWStestuseraccount}}\/fb0d5000-aba8-00e8-aa9e-50d5cEXAMPLE\",\"ResourceTypeFilters\":[\"AWS::EC2::Instance\",\"AWS::S3::Bucket\"]}"}'
   ```

1. 在对命令的响应中返回以下内容。
   + 您创建的组的完整描述。
   + 您用于创建组的资源查询。

------