本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 的資源群組範例 AWS CLI
下列程式碼範例示範如何搭配 AWS Command Line Interface Resource Groups 使用 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 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 堆疊中的所有 AWS 資源。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詳細資訊,請參閱 命令參考 CreateGroup
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 DeleteGroup
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 GetGroupQuery
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 GetGroup
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 GetTags
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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' 之 'resource-type' 的所有資源。:
aws resource-groups list-group-resources --group-name tbqWebServer --filters Name=resource-type,Values=AWS:EC2::Instance
-
如需API詳細資訊,請參閱 命令參考 ListGroupResources
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 ListGroups
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 ListResourceGroups
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 PutGroupConfiguration
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 SearchResources
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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 命令參考 中的標籤
。
-
下列程式碼範例示範如何使用 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 命令參考 中的取消標籤
。
-
下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 UpdateGroupQuery
中的 。 AWS CLI
-
下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 UpdateGroup
中的 。 AWS CLI
-