

# 使用 Amazon Q 开发者版在 Amazon ECS 控制台中提供任务定义建议
<a name="using-amazon-q"></a>

当您在 Amazon ECS 控制台中使用 JSON 编辑器创建任务定义时，您可以使用 Amazon Q 开发者版为您的任务定义提供人工智能生成的代码建议。

您可以使用内联聊天功能让 Amazon Q 开发者版使用对话界面生成、解释或重构任务定义 JSON。您可以在任务定义的任何位置插入生成的建议，并接受或拒绝提出的更改。Amazon ECS 还增强了现有的内联建议功能，使其能够利用 Amazon Q 开发者版。

当您使用 JSON 编辑器创建任务定义时，可以让 Amazon Q 开发者版提供建议，帮助您更快地创建任务定义。您可以获得基于属性的内联建议，也可以使用 Amazon Q 开发者版建议自动完成整个示例代码块。

您可以在支持 Amazon Q 开发者版的区域使用此功能。有关更多信息，请参阅[按区域划分的 AWS 服务](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。

## 先决条件
<a name="amazon-q-prerequisites"></a>

以下是先决条件：
+ 除了控制台权限之外，在控制台中创建任务定义的用户还必须拥有 `codewhisperer:GenerateRecommendations` 权限才能获得建议，拥有 `q:SendMessage` 权限才能使用内联聊天。有关更多信息，请参阅 [使用 Amazon Q 开发者版在控制台中提供建议所需的权限](console-permissions.md#amazon-q-permission)。

## 过程
<a name="amazon-q-procedure"></a>

1. 在 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2) 打开控制台。

1. 在导航窗格中，选择 **Task definitions**（任务定义）。

1. 在**创建新的任务定义**菜单上，选择**使用 JSON 创建新的任务定义**。

   此时将打开**创建任务定义**页面。

   控制台提供以下默认模板。

   ```
   {
       "requiresCompatibilities": [
           "FARGATE"
       ],
       "family": "",
       "containerDefinitions": [
           {
               "name": "",
               "image": "",
               "essential": true
           }
       ],
       "volumes": [],
       "networkMode": "awsvpc",
       "memory": "3 GB",
       "cpu": "1 vCPU",
       "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole"
   }
   ```

1. 在 Amazon Q 内联建议弹出窗口中，选择**允许**。

   如果您关闭弹出窗口，则可以在齿轮图标下启用 Amazon Q。

1. 在 JSON 编辑器框中，编辑 JSON 文档。

   要让 Amazon Q 创建并填充参数，请输入一条注释说明要添加的内容。在下面的示例中，注释会让 Amazon Q 生成粗体行。

   ```
   {
       "requiresCompatibilities": [
           "FARGATE"
       ],
       "family": "",
       "containerDefinitions": [
           {
               "name": "",
               "image": "",
               "essential": true
           },
           // add an nginx container using an image from Public ECR, with port 80 open, and send logs to CloudWatch log group "myproxy"
           {
               "name": "nginx",
               "image": "public.ecr.aws/nginx/nginx:latest",
               "essential": true,
               "portMappings": [
                   {
                       "containerPort": 80,
                       "hostPort": 80,
                       "protocol": "tcp"
                   }
               ],
               "logConfiguration": {
                   "logDriver": "awslogs",
                   "options": {
                       "awslogs-group": "myproxy",
                       "awslogs-region": "us-east-1",
                       "awslogs-stream-prefix": "nginx"
                   }
               }
           }
           
       ],
       "volumes": [],
       "networkMode": "awsvpc",
       "memory": "3 GB",
       "cpu": "1 vCPU",
       "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole"
   }
   ```

1. 要使用内联聊天功能，您可以突出显示这些行，然后选择星形图标。

   此时将显示 Amazon Q 开发者版聊天框。

   输入您的请求。

   Amazon Q 开发者版会生成 JSON 文件，然后对其进行更新。

   要接受更改，请选择**全部接受**

1. 选择**创建**。