

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

# 用于 AWS Config 高级查询的自然语言查询处理器
<a name="query-assistant"></a>

**注意**  
 AWS Config 自然语言查询处理器的公开预览版将于 2026 年 1 月 15 日停止。此外，您还可以使用自然语言提示与 Amazon Q Developer 聊聊您的 AWS 资源。有关更多信息，请参阅[与 Amazon Q 开发者版聊聊您的资源](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/chat-actions.html)。

用于高级查询的自然语言查询处理器使用 [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html)，这是一种生成式人工智能（生成式 AI）技术，它允许您以通俗易懂的英语输入提示并将其转换为 ready-to-use查询格式。使用自然语言查询处理器，您可以对您的组织 AWS 账户 或整个 AWS 组织进行查询。

提示可以是问题或声明。例如，您可以输入诸如“哪些负载均衡器是在 2024 年 1 月 1 日之后创建的？” 和“列出我所有运行节点 js 16 的 lambda 函数”等提示。

## 注意事项
<a name="query-assistant-considerations"></a>

自然语言查询处理器无法执行以下操作：
+ 使用英语以外的语言生成查询。
+ 根据与高级查询无关的提示生成查询。
+ 根据超过 1000 个字符的提示生成查询。
+ 根据后续更正或以前的会话生成查询。
+ 解释已生成的代码。

## 使用自然语言查询处理器进行查询
<a name="use-a-sample-query"></a>

1. 登录 AWS 管理控制台 并在家中打开[https://console.aws.amazon.com/config/主 AWS Config](https://console.aws.amazon.com/config/home)机。

1. 从左侧导航中选择 **Advanced queries（高级查询）**，以查询针对单个账户和区域或针对多个账户和区域的资源配置。

1. 在**高级查询**页面上，选择**新建查询**，进入  查询编辑器。
   + （可选）要在聚合器上运行查询，请创建聚合器。有关更多信息，请参阅 [为 AWS Config 创建聚合器](aggregated-create.md)
   + 如果您已经设置了聚合器，则在查询范围中，选择聚合器以在该聚合器上运行高级查询。选择聚合器时，请考虑在查询语句中添加 AWS 账户 ID 和 AWS 区域，以便在结果中查看该信息。

1. 在查询编辑器中，转到**自然语言查询处理器**部分。用通俗易懂的英语输入提示，然后选择**生成**。有关示例，请参阅[提示示例](https://docs.aws.amazon.com/config/latest/developerguide/query-assistant.html#example-prompts)。

1. 您生成查询后，可以选择**复制**（功能上等同于 Ctrl\$1C）将查询复制到剪贴板，也可以选择**填充到编辑器**。如果已填充到编辑器中，您可以根据需要编辑生成的查询。

1. 要将此查询保存到新查询，请选择**另存为**。
   + 在**查询名称**字段中，更新查询的名称。
   + 在**描述**字段中，更新查询的描述。
   + 为此查询输入最多 50 个唯一标签。
   + 选择**保存**。

1. 选择**运行**。查询结果会显示在查询编辑器下方的表中。

1. 选择 **Export as（导出为）**，以 CSV 或 JSON 格式导出查询结果。
**注意**  
查询结果将进行分页。导出时，最多可导出 500 个结果。  
您也可以使用 APIs 来检索所有结果。结果会进行分页，您可以一次检索 100 个结果。

## 提示示例
<a name="query-assistant-example-prompts"></a>

以下是提示和生成查询，您可以将其用作示例。

------
#### [ Example: 哪些负载均衡器是在 2024 年 1 月 1 日之后创建的？ ]

**提示**：What load balancers were created after January 1, 2024?

**生成的查询**：

```
SELECT
    resourceId,
    resourceType,
    resourceCreationTime
WHERE
    resourceType IN ('AWS::ElasticLoadBalancing::LoadBalancer', 'AWS::ElasticLoadBalancingV2::LoadBalancer')
AND
    resourceCreationTime > '2024-01-01T00:00:00.0Z'
ORDER BY
    resourceCreationTime
DESC
```

------
#### [ Example: 可公开访问的 RDS 数据库实例都有哪些？ ]

**提示**：Which of my RDS database instances are publicly accessible?

**生成的查询**：

```
SELECT
    resourceId,
    resourceType,
    configuration.publiclyAccessible
WHERE 
    resourceType = 'AWS::RDS::DBInstance'
AND
    configuration.publiclyAccessible = true
```

------
#### [ Example: 过去一年中创建了多少 EC2 实例？ ]

**提示**：How many EC2 instances were created in last one year?

**生成的查询**：

```
SELECT
    COUNT(*)
WHERE
    resourceType = 'AWS::EC2::Instance'
AND
    resourceCreationTime
BETWEEN
    '2023-05-10T16:56:25.000Z'
AND
    '2024-05-10T16:56:25.000Z'
```

------
#### [ Example: 我的每个 AWS 账户中有多少 EC2 实例？ ]

**提示**：How many EC2 instances do I have in each of my AWS 账户?

**生成的查询**：

```
SELECT
    accountId,
    COUNT(*)
WHERE
    resourceType = 'AWS::EC2::Instance'
GROUP BY
    accountId'
```

------
#### [ Example: 托管策略 AdministratorAccess 附加了哪些 IAM 角色？ ]

**提示**：Which IAM roles have the managed policy AdministratorAccess attached?

**生成的查询**：

```
SELECT
    resourceId,
    resourceName,
    resourceType
WHERE
    resourceType = 'AWS::IAM::Role'
AND
    configuration.attachedManagedPolicies.policyName = 'AdministratorAccess'
```

------
#### [ Example: 未加密 EBS 卷 ]

**提示**：EBS volumes without encryption 

**生成的查询**：

```
SELECT
    accountId
WHERE
    resourceType = 'AWS::EC2::Volume'
AND
    configuration.encrypted = false
```

------
#### [ Example:  获取不合规资源 ]

**提示**：Get noncompliant resources

**生成的查询**：

```
SELECT
    resourceId,
    resourceType
WHERE
    resourceType = 'AWS::Config::ResourceCompliance'
AND
    configuration.complianceType = 'NON_COMPLIANT'
```

------
#### [ Example: 列出我所有运行节点 js 16 的 lambda 函数 ]

**提示**：List all my lambda function that is running node js 16

**生成的查询**：

```
SELECT
    accountId,
    resourceName
WHERE
    resourceType = 'AWS::Lambda::Function'
AND
    configuration.runtime = 'nodejs16.x'
```

------
#### [ Example: 哪些 ACM 证书将在接下来的 30 天内过期？ ]

**提示**：What ACM certificates expire the next 30 days? 

**生成的查询**：

```
SELECT
    resourceId,
    configuration.domainName,
    configuration.notAfter
WHERE
    resourceType = 'AWS::ACM::Certificate'
AND
    configuration.notAfter
BETWEEN
    '2024-05-10 16:59:53'
AND
    '2024-06-10 16:59:53’
```

**注意**  
生成的查询中的时间取决于您输入提示的时间。

------

## 提供反馈
<a name="query-assistant-feedback"></a>

您可以提供有关自然语言查询处理器的总体反馈或有关生成的特定查询的反馈。

**提供有关自然语言查询处理器的反馈**

选择右侧自然语言查询处理器上方显示的**提供反馈**按钮。您可以输入您的满意度或不满意度，并提供有关 AWS Config 如何使自然语言查询更有用的反馈。

**注意**  
请勿透露任何个人、商业敏感或机密信息。

**就生成的特定查询提供反馈**

您可以通过选择生成的查询下方的大拇指向上或大拇指向下按钮来提供有关生成的查询的反馈。

## 区域支持
<a name="query-assistant-region-support"></a>

自然语言查询处理器在以下区域受支持。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/config/latest/developerguide/query-assistant.html)