

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

# 在 中建立 SageMaker 訓練任務佇列 AWS Batch
<a name="create-sagemaker-job-queue"></a>

SageMaker Training 任務佇列會直接與 SageMaker AI 服務整合，以提供無伺服器任務排程，而不需要您管理基礎運算基礎設施。

## 先決條件
<a name="sagemaker-job-queue-prerequisites"></a>

在建立 SageMaker 訓練任務佇列之前，請確定您已：
+ **服務環境** – 定義容量限制的服務環境。如需詳細資訊，請參閱[在 中建立服務環境 AWS Batch](create-service-environments.md)。
+ **IAM 許可** – 建立和管理 AWS Batch 任務佇列和服務環境的許可。如需詳細資訊，請參閱[AWS Batch IAM 政策、角色和許可](IAM_policies.md)。

------
#### [ Create a SageMaker Training job queue (AWS Batch console) ]

1. 在 https：//[https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/) 開啟 AWS Batch 主控台。

1. 在導覽窗格中，選擇**任務佇列**和**建立**。

1. 針對**協調類型**，選擇 **SageMaker Training**。

1. 對於**任務佇列組態**：

   1. 在**名稱**中，輸入任務佇列的名稱。

   1. 針對 **Priority**，輸入介於 0 到 1000 之間的值。具有較高優先順序的任務佇列會優先於服務環境。

   1. （選用） 針對**排程政策 Amazon Resource Name (ARN)**，選擇現有的排程政策。

   1. 對於**連線的服務環境**，從清單中選擇服務環境，以與任務佇列建立關聯。

1. （選用） 針對**任務狀態限制**：

   1. 針對**設定錯誤**，選擇`SERVICE_ENVIRONMENT_MAX_RESOURCE`並輸入**最長執行時間 （秒）**。

   1. 針對**容量**，選擇`INSUFFICIENT_INSTANCE_CAPACITY`並輸入**最大執行時間 （秒）**。

1. 選擇**建立任務佇列**

------
#### [ Create a SageMaker Training job queue (AWS CLI) ]

使用 `create-job-queue`命令來建立 SageMaker Training 任務佇列。

下列範例會建立使用服務環境的基本 SageMaker Training 任務佇列：

```
aws batch create-job-queue \
  --job-queue-name my-sm-training-fifo-jq \
  --job-queue-type SAGEMAKER_TRAINING \
  --priority 1 \
  --service-environment-order order=1,serviceEnvironment=ExampleServiceEnvironment
```

以您的服務環境名稱取代 *ExampleServiceEnvironment*。

此命令會傳回類似以下的輸出：

```
{
  "jobQueueName": "my-sm-training-fifo-jq",
  "jobQueueArn": "arn:aws:batch:region:account:job-queue/my-sm-training-fifo-jq"
}
```

建立您的任務佇列後，請確認其已成功建立且處於有效狀態。

使用 `describe-job-queues`命令來檢視任務佇列的詳細資訊：

```
aws batch describe-job-queues --job-queues my-sm-training-fifo-jq
```

此命令會傳回類似以下的輸出：

```
{
  "jobQueues": [
    {
      "jobQueueName": "my-sm-training-fifo-jq",
      "jobQueueArn": "arn:aws:batch:region:account:job-queue/my-sm-training-fifo-jq",
      "state": "ENABLED",
      "status": "VALID",
      "statusReason": "JobQueue Healthy",
      "priority": 1,
      "computeEnvironmentOrder": [],
      "serviceEnvironmentOrder": [
        {
          "order": 1,
          "serviceEnvironment": "arn:aws:batch:region:account:service-environment/ExampleServiceEnvironment"
        }
      ],
      "jobQueueType": "SAGEMAKER_TRAINING",
      "tags": {},
      "jobStateTimeLimitActions": []
    }
  ]
}
```

請確定：
+ `state` 是 `ENABLED`
+ `status` 是 `VALID`
+ `statusReason` 是 `JobQueue Healthy`
+ `jobQueueType` 是 `SAGEMAKER_TRAINING`
+ `serviceEnvironmentOrder` 參考您的服務環境

------