文档 AWS SDK 示例 GitHub 存储库中还有更多 S AWS DK 示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Resource Groups 示例使用 AWS CLI
以下代码示例向您展示了如何使用 with Resource Groups 来执行操作和实现常见场景。 AWS Command Line Interface
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示如何使用 create-group
。
- AWS CLI
-
示例 1:创建基于标签的资源组
以下
create-group
示例在当前区域创建了一个基于标签的 Amazon EC2 实例资源组。它基于使用键Name
和值WebServers
标记的资源的查询。日志组为tbq-WebServer
。该查询在传递给命令的单独 JSON 文件中。aws resource-groups create-group \ --name
tbq-WebServer
\ --resource-queryfile://query.json
query.json
的内容:{ "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" }
输出:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } }
示例 2:创建 CloudFormation 基于堆栈的资源组
以下
create-group
示例创建了一个名为的 AWS CloudFormation 基于堆栈的资源组。sampleCFNstackgroup
该查询包括指定 CloudFormation 堆栈中所有受 Resource Group AWS s 支持的资源。aws resource-groups create-group \ --name
cbq-CFNstackgroup
\ --resource-queryfile://query.json
query.json
的内容:{ "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}" }
输出:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNstackgroup", "Name": "cbq-CFNstackgroup" }, "ResourceQuery": { "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-east-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}"}' } }
有关更多信息,请参阅《AWS 用户指南》中的创建组。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考CreateGroup
中的。
-
以下代码示例演示如何使用 delete-group
。
- AWS CLI
-
更新资源组的描述
以下
delete-group
示例更新了指定资源组。aws resource-groups delete-group \ --group-name
tbq-WebServer
输出:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:1234567890:group/tbq-WebServer", "Name": "tbq-WebServer" } }
有关更多信息,请参阅《AWS 用户指南》中的删除组。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考DeleteGroup
中的。
-
以下代码示例演示如何使用 get-group-query
。
- AWS CLI
-
将查询附加到资源组
以下
get-group-query
示例显示了附加到指定资源组的查询。aws resource-groups get-group-query \ --group-name
tbq-WebServer
输出:
{ "GroupQuery": { "GroupName": "tbq-WebServer", "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } } }
-
有关 API 的详细信息,请参阅AWS CLI 命令参考GetGroupQuery
中的。
-
以下代码示例演示如何使用 get-group
。
- AWS CLI
-
获取有关资源组的信息
以下
get-group
示例显示了有关指定资源组的详细信息。要将查询附加到群组,请使用get-group-query
。aws resource-groups get-group \ --group-name
tbq-WebServer
输出:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer", "Description": "A tag-based query resource group of WebServers." } }
-
有关 API 的详细信息,请参阅AWS CLI 命令参考GetGroup
中的。
-
以下代码示例演示如何使用 get-tags
。
- AWS CLI
-
检索附加到资源组的标签
以下
get-tags
示例显示了附加到指定资源组(组本身,而不是其成员)的标签键和值对。aws resource-groups get-tags \ --arn
arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer
输出:
{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }
-
有关 API 的详细信息,请参阅AWS CLI 命令参考GetTags
中的。
-
以下代码示例演示如何使用 list-group-resources
。
- AWS CLI
-
列出资源组中的所有资源
示例 1:以下
list-resource-groups
示例列出了属于指定资源组的所有资源。aws resource-groups list-group-resources \ --group-name
tbq-WebServer
输出:
{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }
示例 2:以下示例列出了组中所有资源的 “资源类型” 也为 “AWS::: EC2 Instance” 。 :
aws 资源组 list-group-resources--group-name tbq-WebServer --filters name=Resource-type,Values=::: Instance AWS EC2
-
有关 API 的详细信息,请参阅AWS CLI 命令参考ListGroupResources
中的。
-
以下代码示例演示如何使用 list-groups
。
- AWS CLI
-
列出可用的资源组
以下
list-groups
示例显示了所有资源组的列表。aws resource-groups list-groups
输出:
{ "GroupIdentifiers": [ { "GroupName": "tbq-WebServer", "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer3" }, { "GroupName": "cbq-CFNStackQuery", "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNStackQuery" } ], "Groups": [ { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNStackQuery", "Name": "cbq-CFNStackQuery" } ] }
-
有关 API 的详细信息,请参阅AWS CLI 命令参考ListGroups
中的。
-
以下代码示例演示如何使用 list-resource-groups
。
- AWS CLI
-
列出资源组中的所有资源
以下
list-resource-groups
示例列出了属于指定资源组的所有资源。aws resource-groups list-group-resources \ --group-name
tbq-WebServer
输出:
{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }
-
有关 API 的详细信息,请参阅AWS CLI 命令参考ListResourceGroups
中的。
-
以下代码示例演示如何使用 put-group-configuration
。
- AWS CLI
-
将服务配置附加到资源组
示例 1:以下
put-group-configuration
示例指定资源组仅包含C5
或M5
系列中实例的 Amazon EC2 容量预留。aws resource-groups put-group-configuration \ --group
MyTestGroup
\ --configurationfile://config.json
config.json
的内容:[ { "Type": "AWS::EC2::HostManagement", "Parameters": [ { "Name": "allowed-host-families", "Values": [ "c5", "m5" ] }, { "Name": "any-host-based-license-configuration", "Values": [ "true" ] } ] }, { "Type": "AWS::ResourceGroups::Generic", "Parameters": [ { "Name": "allowed-resource-types", "Values": [ "AWS::EC2::Host" ] }, { "Name": "deletion-protection", "Values": [ "UNLESS_EMPTY" ] } ] } ]
如果成功,此命令不会产生任何输出。
有关更多信息,请参阅《资源组 API 参考指南》中的资源组的服务配置。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考PutGroupConfiguration
中的。
-
以下代码示例演示如何使用 search-resources
。
- AWS CLI
-
查找与查询相匹配的资源
以下
search-resources
示例检索与指定查询相匹配的所有 AWS 资源的列表。aws resource-groups search-resources \ --resource-query
file://query.json
query.json
的内容:{ "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Patch Group\", \"Values\":[\"Dev\"]}]}" }
输出:
{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-01a23bc45d67890ef", "ResourceType": "AWS::EC2::Instance" } ] }
-
有关 API 的详细信息,请参阅AWS CLI 命令参考SearchResources
中的。
-
以下代码示例演示如何使用 tag
。
- AWS CLI
-
将标签附加到资源组
以下
tag
示例将指定的标签键和值对附加到指定的资源组(组本身,而不是其成员)。aws resource-groups tag \ --tags
QueryType=tags,QueryResources=ec2-instances
\ --arnarn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServer
输出:
{ "Arn": "arn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }
有关更多信息,请参阅《AWS 资源组用户指南》中的管理标签。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 Tag
。
-
以下代码示例演示如何使用 untag
。
- AWS CLI
-
从资源中删除标签
以下
untags
示例从资源组(而非其成员)中删除具有指定键的所有标签。aws resource-groups untag \ --arn
arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer
\ --keysQueryType
输出:
{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Keys": [ "QueryType" ] }
有关更多信息,请参阅《AWS 资源组用户指南》中的管理标签。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 Untag
。
-
以下代码示例演示如何使用 update-group-query
。
- AWS CLI
-
示例 1:更新基于标签的资源组的查询
以下
update-group-query
示例更新了附加到基于指定标签的资源组的查询。aws resource-groups update-group-query \ --group-name
tbq-WebServer
\ --resource-query '{"Type":"TAG_FILTERS_1_0", "Query":"{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}"}
'输出:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-east-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } }
有关更多信息,请参阅《AWS 资源组用户指南》中的更新组。
示例 2:更新 CloudFormation 基于堆栈的资源组的查询
以下
update-group-query
示例更新了附加到指定 AWS CloudFormation 基于堆栈的资源组的查询。aws resource-groups update-group-query \ --group-name
cbq-CFNstackgroup
\ --resource-query '{"Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}"}
'输出:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNstackgroup", "Name": "cbq-CFNstackgroup" }, "ResourceQuery": { "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}" } }
有关更多信息,请参阅《AWS 资源组用户指南》中的更新组。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考UpdateGroupQuery
中的。
-
以下代码示例演示如何使用 update-group
。
- AWS CLI
-
更新资源组的描述
以下
update-group
示例更新指定资源组的描述。aws resource-groups update-group \ --group-name
tbq-WebServer
\ --description"Resource group for all web server resources."
输出:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" "Description": "Resource group for all web server resources." } }
有关更多信息,请参阅《AWS 资源组用户指南》中的更新组。
-
有关 API 的详细信息,请参阅AWS CLI 命令参考UpdateGroup
中的。
-