

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon Q Developer 在 Amazon ECS 主控台中提供任務定義建議
<a name="using-amazon-q"></a>

在 Amazon ECS 主控台中使用 JSON 編輯器建立任務定義時，您可以透過 Amazon Q Developer 為任務定義提供 AI 產生的程式碼建議。

您可以使用內嵌聊天功能，讓 Amazon Q Developer 透過對話介面產生、解釋或重構任務定義 JSON。您可以在任務定義的任何位置插入產生的建議，並自行決定是否接受提議的變更。Amazon ECS 還增強了現有的內嵌建議功能，可利用 Amazon Q Developer 的智慧能力。

在使用 JSON 編輯器建立任務定義時，您可以讓 Amazon Q Developer 提供建議，協助更快速地建立任務定義。您可以啟用基於屬性的內嵌建議功能，也可以藉助 Amazon Q Developer 建議自動完成範例程式碼的完整區塊。

您可在支援 Amazon Q Developer 的區域中使用此功能。如需詳細資訊，請參閱 [AWS Services by Regions](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。

## 先決條件
<a name="amazon-q-prerequisites"></a>

先決條件如下：
+ 除主控台許可外，在主控台中建立任務定義的使用者，若要獲取建議，必須具備 `codewhisperer:GenerateRecommendations` 許可；若要使用內嵌聊天功能，則需具備 `q:SendMessage` 許可。如需詳細資訊，請參閱[透過 Amazon Q Developer 在主控台中提供建議所需的許可](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 Developer 聊天方塊隨即顯示。

   此時輸入您的請求。

   Amazon Q Developer 將產生然後更新 JSON 檔案。

   若要接受變更，請選擇**全部接受**

1. 選擇**建立**。