本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用SQL查询编辑器进行查询 (AWS CLI)
这些区域有: AWS CLI 是一款用于管理您的统一工具 AWS 服务的支持。只需下载和配置一个工具,您就可以控制多个 AWS 命令行中的服务,并使用脚本实现自动化。有关该的更多信息 AWS CLI 以及有关安装的说明 AWS CLI 工具,请参见以下内容 AWS Command Line Interface 用户指南。
如有必要,请输入aws configure
以配置 AWS CLI 使用 AWS
提供高级查询的区域。
注意事项
先决条件
如果您使用的是以下其中一种 AWS 托管策略,您将拥有运行和保存查询所需的权限:AWSServiceRoleForConfig(服务相关角色)或AWS_ConfigRole。
否则,您必须拥有包含在中的权限 AWSConfigUserAccess AWS 托管策略。
您可以查询的属性列表
中提供了更新的属性及其数据类型列表GitHub
高级查询和聚合器
要在聚合器上运行查询,请创建聚合器。有关更多信息,请参阅 创建聚合器。
如果您已经设置了聚合器,则在查询范围中,选择聚合器以在该聚合器上运行高级查询。选择聚合器时,请考虑添加 AWS 账户 身份证和 AWS 查询语句中的区域,用于在结果中查看该信息。
查询资源配置数据
使用查询编辑器查询您的资源配置数据 (AWS CLI) 用于单个账户和区域
-
打开命令提示符或终端窗口。
-
输入以下命令以查询您的资源配置数据。
aws configservice select-resource-config --expression "
SELECT resourceId WHERE resourceType='AWS::EC2::Instance'
"根据您的查询,输出将如下所示。
{ "QueryInfo": { "SelectFields": [ { "Name": "resourceId" } ] }, "Results": [ "{\"resourceId\":\"
ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}" ] }
使用查询编辑器查询您的资源配置数据 (AWS CLI) 适用于多个账户和区域
-
打开命令提示符或终端窗口。
-
输入以下命令以查询您的资源配置数据。
aws configservice select-aggregate-resource-config --expression "
SELECT resourceId WHERE resourceType='AWS::EC2::Instance'
" --configuration-aggregator-namemy-aggregator
根据您的查询,输出将如下所示。
{ "QueryInfo": { "SelectFields": [ { "Name": "resourceId" } ] }, "Results": [ "{\"resourceId\":\"
ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}" ] }注意
在高级查询中使用
AWS::IAM::User
AWS::IAM::Group
AWS::IAM::Role
、、和AWS::IAM::Policy
资源类型时,使用awsRegion = 'global'
。
保存查询
-
打开命令提示符或终端窗口。
-
输入以下命令以保存查询。
aws configservice put-stored-query --stored-query "{\"QueryName\": \"cli-test\", \"Expression\":
\"SELECT *\", \"Description\": \"cli test query\" }" --tags "[{ \"Key\": \"first-tag\", \"Value\": \"\" }, { \"Key\": \"second-tag\", \"Value\": \"non-empty-tag-value\" }]"
-
根据您的查询,输出将如下所示。
{ "QueryArn": "arn:aws:config:eu-central-1:
Account ID
:stored-query/cli-test/query-e65mijt4rmam5pab" }注意
--tags
为可选项。传递标签时,list-stored-queries
或get-stored-query
都不会返回保存的标签。必须使用list-tag-for-resources
检索已保存查询的相关标签。在创建或更新查询时,
--description
是可选的。
查看所有已保存的查询
-
输入以下命令以查看所有已保存查询的列表。
aws configservice list-stored-queries
-
根据您的查询,输出将如下所示。
{ "StoredQueryMetadata": [ { "QueryId": "query-e65mijt4rmam5pab", "QueryArn": "arn:aws:config:eu-central-1:
Account ID
:stored-query/cli-test/query-e65mijt4rmam5pab", "QueryName": "cli-test" }, { "QueryId": "query-rltwlewlqfivadxq", "QueryArn": "arn:aws:config:eu-central-1:Account ID
:stored-query/cli-test-2/query-rltwlewlqfivadxq", "QueryName": "cli-test-2", "Description": "cli test query" } ] } }
获取已保存的查询的详细信息
-
输入以下命令以获取已保存的特定查询的详细信息。
aws configservice get-stored-query --query-name cli-test
-
根据您的查询,输出将如下所示。
{ "StoredQuery": { "QueryId": "query-e65mijt4rmam5pab", "QueryArn": "arn:aws:config:eu-central-1:
Account ID
:stored-query/cli-test/query-e65mijt4rmam5pab", "QueryName": "cli-test", "Description": "cli test query", "Expression": "SELECT *" } }
删除已保存的查询
-
输入以下命令以删除您保存的查询。
aws configservice delete-stored-query --query-name cli-test
如果成功,则命令会运行,而没有附加输出。