

我們不再更新 Amazon Machine Learning 服務或接受新使用者。本文件可供現有使用者使用，但我們不再更新。如需詳細資訊，請參閱[什麼是 Amazon Machine Learning](https://docs.aws.amazon.com/machine-learning/latest/dg/what-is-amazon-machine-learning.html)。

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

# Amazon Machine Learning 參考
<a name="amazon-machine-learning-reference"></a>

**Topics**
+ [授予 Amazon ML 許可從 Amazon S3 讀取您的資料](granting-amazon-ml-permissions-to-read-your-data-from-amazon-s3.md)
+ [授予 Amazon ML 將預測輸出至 Amazon S3 的許可](granting-amazon-ml-permissions-to-output-predictions-to-amazon-s3.md)
+ [控制 Amazon ML 資源的存取 - 使用 IAM](controlling-access-to-amazon-ml-resources-by-using-iam.md)
+ [預防跨服務混淆代理人](cross-service-confused-deputy-prevention.md)
+ [非同步操作的相依性管理](dependency-management-of-asynchronous-operations.md)
+ [檢查要求狀態](operation-request-status.md)
+ [系統限制](system-limits.md)
+ [所有物件的名稱和 ID](names-and-ids-for-all-objects.md)
+ [物件生命週期](object-lifetimes.md)

# 授予 Amazon ML 許可從 Amazon S3 讀取您的資料
<a name="granting-amazon-ml-permissions-to-read-your-data-from-amazon-s3"></a>

 若要從您在 Amazon S3 中的輸入資料建立資料來源物件，必須將下列您存放輸入資料之 S3 位置的許可授予 Amazon ML：
+  S3 儲存貯體上的 **GetObject** 許可與字首。
+  S3 儲存貯體上的 **ListBucket** 許可。不同於其他動作，必須將儲存貯體範圍的許可 (而不是字首) 授予 **ListBucket**。不過，您可以使用 **Condition** 子句，將許可範圍限制為特定字首。

 如果您使用 Amazon ML 主控台來建立資料來源，則可為您將這些許可新增至儲存貯體。在您完成精靈的各步驟時，系統會提示您確認是否要新增許可。以下政策範例示範如何授予許可，讓 Amazon ML 從範例位置 s3://*examplebucket*/*exampleprefix* 讀取資料，同時限制 **ListBucket** 許可的範圍只在 *exampleprefix* 輸入路徑。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::examplebucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": "exampleprefix/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        }
    ]
}
```

------

若要將此政策套用到您的資料，您必須編輯與您存放資料之 S3 儲存貯體相關聯的政策陳述式。

**編輯 S3 儲存貯體的許可政策 (使用舊版主控台)**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 開啟 Amazon S3 主控台。

1. 選取您資料所在的儲存貯體名稱。

1. 選擇 **Properties (屬性)**。

1. 選擇 **Edit bucket policy (編輯儲存貯體政策)**。

1. 輸入上述政策，並依照您的需求加以自訂，然後選擇 **Save (儲存)**。

1. 選擇**儲存**。



**編輯 S3 儲存貯體的許可政策 (使用新版主控台)**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 開啟 Amazon S3 主控台。

1. 選擇儲存貯體名稱，然後選擇 **Permissions (許可)**。

1. 選擇 **Bucket Policy** (儲存貯體政策)。

1. 輸入上述政策，並加以自訂以符合您的需求。

1. 選擇**儲存**。

# 授予 Amazon ML 將預測輸出至 Amazon S3 的許可
<a name="granting-amazon-ml-permissions-to-output-predictions-to-amazon-s3"></a>

 若要將批次預測操作的結果輸出至 Amazon S3，必須就「建立批次預測」操作時提供做為輸入的輸出位置授予 Amazon ML 以下許可：
+  您的 S3 儲存貯體與字首的 **GetObject** 許可。
+  您的 S3 儲存貯體與字首的 **PutObject** 許可。
+  您的 S3 儲存貯體與字首的 **PutObjectAcl** 許可。
  +  Amazon ML 需要此許可，以確保在建立物件之後可將標準 [ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) 儲存貯體擁有者完整控制許可授予您的 AWS 帳戶。
+  S3 儲存貯體上的 **ListBucket** 許可。不同於其他動作，必須將儲存貯體範圍的許可 (而不是字首) 授予 **ListBucket**。不過，您可以使用 **Condition** 子句，將許可範圍限定為特定字首。

 若使用 Amazon ML 主控台建立批次預測請求，可以將這些許可新增到您的儲存貯體。當您完成精靈中的步驟時，會提示您確認是否要新增這些許可。

 以下範例政策示範如何授予許可，讓 Amazon ML 可將資料寫入範例位置 s3://examplebucket/exampleprefix，並將 **ListBucket** 許可範圍侷限在 exampleprefix 輸入路徑，以及授予 Amazon ML 對輸出字首設定放置物件 ACL 的許可：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:PutObjectAcl",
            "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::examplebucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": "exampleprefix/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        }
    ]
}
```

------

若要將此政策套用到您的資料，您必須編輯與您存放資料之 S3 儲存貯體相關聯的政策陳述式。

**編輯 S3 儲存貯體的許可政策 (使用舊版主控台)**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 開啟 Amazon S3 主控台。

1. 選取您資料所在的儲存貯體名稱。

1. 選擇 **Properties (屬性)**。

1. 選擇 **Edit bucket policy (編輯儲存貯體政策)**。

1. 輸入上述政策，並依照您的需求加以自訂，然後選擇 **Save (儲存)**。

1. 選擇**儲存**。



**編輯 S3 儲存貯體的許可政策 (使用新版主控台)**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 開啟 Amazon S3 主控台。

1. 選擇儲存貯體名稱，然後選擇 **Permissions (許可)**。

1. 選擇 **Bucket Policy** (儲存貯體政策)。

1. 輸入上述政策，並加以自訂以符合您的需求。

1. 選擇**儲存**。

# 控制 Amazon ML 資源的存取 - 使用 IAM
<a name="controlling-access-to-amazon-ml-resources-by-using-iam"></a>

AWS Identity and Access Management (IAM) 可讓您安全地控制使用者對 AWS 服務和資源的存取。使用 IAM，您可以建立和管理 AWS 使用者、群組和角色，並使用許可來允許和拒絕使用 IAM 搭配 Amazon Machine Learning (Amazon ML) 存取 AWS resources.By，您可以控制組織中的使用者是否可以使用特定 AWS 資源，以及是否可以使用特定 Amazon ML API 動作來執行任務。

 IAM 可讓您：
+  在 AWS 帳戶底下建立使用者與群組。
+  將唯一安全登入資料指派給 AWS 帳戶下的每位使用者 
+  控制每個使用者使用 AWS 資源執行任務的許可 
+  與 AWS 帳戶中的使用者輕鬆共用您的 AWS 資源 
+  為您的 AWS 帳戶建立角色和管理許可，以定義可擔任這些角色的使用者或服務 
+ 您可以在 IAM 中建立角色並管理許可，控制擔任該角色的實體或 AWS 服務可執行哪些操作。您也可以定義允許擔任該角色的實體。



 如果您的組織已經有 IAM 身分，您可以使用它們來授予使用 AWS 資源執行任務的許可。

如需 IAM 的詳細資訊，請參閱《[IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/)》。

## IAM 政策語法
<a name="policy-syntax"></a>

 IAM 政策為包含一或多個陳述式的 JSON 文件。每個陳述式結構如下：

```
{
    "Statement":[{
        "Effect":"effect",
        "Action":"action",
        "Resource":"arn",
        "Condition":{
            "condition operator":{
                "key":"value"
            }
        }
    }]
}
```

 政策陳述式包含下列元素：
+  **效果：**控制使用資源和 API 動作 (您稍後將於陳述式中指定) 的許可。有效值為 `Allow` 和 `Deny`。根據預設，IAM 使用者沒有使用資源和 API 動作的許可，因此所有請求均會遭到拒絕。明確 `Allow` 會覆寫預設值。明確 `Deny`會覆寫任何 `Allows`。
+  **動作**：您授予或拒絕許可的特定 API 動作。
+  **Resource** (資源)：受動作影響的資源。若要在陳述式中指定資源，您可以使用它的 Amazon Resource Name (ARN)。
+  **條件 (選用)**：控制政策生效的時機。

 若要簡化建立和管理 IAM 政策，您可以使用 AWS 政策產生器 和 IAM 政策模擬器。

## 指定 Amazon MLAmazon ML 的 IAM 政策動作
<a name="actions-for-amazon-ml"></a>

 在 IAM 政策陳述式中，您可以為支援 IAM 的任何服務指定 API 動作。當您為 Amazon ML API 動作建立政策陳述式時，請在 API 動作`machinelearning:`的名稱前面加上 ，如下列範例所示：
+ `machinelearning:CreateDataSourceFromS3`
+ `machinelearning:DescribeDataSources`
+ `machinelearning:DeleteDataSource`
+ `machinelearning:GetDataSource`

 若要在單一陳述式中指定多個動作，請用逗號分隔：

```
"Action": ["machinelearning:action1", "machinelearning:action2"]
```

您也可以使用萬用字元指定多個動作。例如，您可以指定名稱開頭有 "Get" 文字的所有動作：

```
"Action": "machinelearning:Get*"
```

若要指定所有 Amazon ML 動作，請使用 \$1 萬用字元：

```
"Action": "machinelearning:*"
```

 如需 Amazon ML API 動作的完整清單，請參閱 [Amazon Machine Learning API 參考](https://docs.aws.amazon.com/machine-learning/latest/APIReference/)。

## 在 IAM 政策中指定 Amazon ML 資源ARNs
<a name="amazon-resource-names-arns-for-amazon-ml"></a>

 IAM 政策陳述式適用於一或多個資源。您可以根據資源的 ARN 來為政策指定資源。

 若要指定 Amazon ML 資源ARNs，請使用下列格式：

 "Resource": `arn:aws:machinelearning:region:account:resource-type/identifier `

 以下範例說明如何指定常見的 ARN。

 資料來源 ID：`my-s3-datasource-id `

```
"Resource":
arn:aws:machinelearning:<region>:<your-account-id>:datasource/my-s3-datasource-id
```

 ML 模型 ID：`my-ml-model-id `

```
"Resource":
arn:aws:machinelearning:<region>:<your-account-id>:mlmodel/my-ml-model-id
```

 批次預測 ID：`my-batchprediction-id `

```
"Resource":
arn:aws:machinelearning:<region>:<your-account-id>:batchprediction/my-batchprediction-id
```

 評估 ID：`my-evaluation-id `

```
"Resource": arn:aws:machinelearning:<region>:<your-account-id>:evaluation/my-evaluation-id
```

## Amazon MLs的範例政策
<a name="example-policies-for-amazon-ml"></a>

 **範例 1：允許使用者讀取機器學習資源中繼資料** 

以下政策允許使用者或群組透過對指定的資源執行 [DescribeDataSources](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeDataSources.html)、[DescribeMLModels](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeMLModels.html)、[DescribeBatchPredictions](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeBatchPredictions.html)、[DescribeEvaluations](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeEvaluations.html)、[GetDataSource](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetDataSource.html)、[GetMLModel](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetMLModel.html)、[GetBatchPrediction](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetBatchPrediction.html) 和 [GetEvaluation](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetEvaluation.html) 動作，以讀取資料來源、ML 模型、批次預測和評估的中繼資料。Describe\$1 操作許可不能限制在特定的資源上。

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "machinelearning:Get*" ], "Resource": [
        "arn:aws:machinelearning:us-east-1:123456789012:datasource/S3-DS-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:datasource/REDSHIFT-DS-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:mlmodel/ML-MODEL-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:batchprediction/BP-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:evaluation/EV-ID1"
    ] }, { "Effect": "Allow", "Action": [ "machinelearning:Describe*" ], "Resource": [ "*" ] } ]
    }
```

------

 **範例 2：允許使用者建立機器學習資源** 

 以下政策允許使用者或群組透過執行 `CreateDataSourceFromS3`、`CreateDataSourceFromRedshift`、`CreateDataSourceFromRDS`、`CreateMLModel`、`CreateBatchPrediction` 和 `CreateEvaluation` 動作，來建立機器學習資料來源、ML 模型、批次預測和評估。您無法將這些動作的許可限制在特定資源上。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "machinelearning:CreateDataSourceFrom*",
                "machinelearning:CreateMLModel",
                "machinelearning:CreateBatchPrediction",
                "machinelearning:CreateEvaluation"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

 **範例 3：允許使用者在 ML 模型上建立和刪除即時端點，以及執行即時預測** 

 以下政策允許使用者或群組透過在模型上執行 `CreateRealtimeEndpoint`、`DeleteRealtimeEndpoint` 和 `Predict` 動作，來為特定 ML 模型建立和刪除即時端點，以及執行即時預測。

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "machinelearning:CreateRealtimeEndpoint", "machinelearning:DeleteRealtimeEndpoint",
    "machinelearning:Predict" ], "Resource": [
        "arn:aws:machinelearning:us-east-1:123456789012:mlmodel/ML-MODEL"
    ] } ] }
```

------

 **範例 4：允許使用者更新和刪除特定資源** 

 以下政策允許透過提供許可給使用者或群組，讓他們在您帳戶的這些資源上執行 `UpdateDataSource`、`UpdateMLModel`、`UpdateBatchPrediction`、`UpdateEvaluation`、`DeleteDataSource`、`DeleteMLModel`、`DeleteBatchPrediction` 和 `DeleteEvaluation` 動作，更新和刪除您 AWS 帳戶中的特定資源。

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "machinelearning:Update*", "machinelearning:DeleteDataSource", "machinelearning:DeleteMLModel",
    "machinelearning:DeleteBatchPrediction", "machinelearning:DeleteEvaluation" ], "Resource": [
        "arn:aws:machinelearning:us-east-1:123456789012:datasource/S3-DS-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:datasource/REDSHIFT-DS-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:mlmodel/ML-MODEL-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:batchprediction/BP-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:evaluation/EV-ID1"
    ] } ] }
```

------

 **範例 5：允許任何 Amazon MLaction** 

 下列政策允許使用者或群組使用任何 Amazon ML 動作。由於此政策會授予您所有機器學習資源的完整存取權，因此僅限管理員使用。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "machinelearning:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

# 預防跨服務混淆代理人
<a name="cross-service-confused-deputy-prevention"></a>

混淆代理人問題屬於安全性問題，其中沒有執行動作許可的實體可以強制具有更多許可的實體執行該動作。在 中 AWS，跨服務模擬可能會導致混淆代理人問題。在某個服務 (*呼叫服務*) 呼叫另一個服務 (*被呼叫服務*) 時，可能會發生跨服務模擬。可以操縱呼叫服務來使用其許可，以其不應有存取許可的方式對其他客戶的資源採取動作。為了預防這種情況， AWS 提供的工具可協助您保護所有服務的資料，而這些服務主體已獲得您帳戶中資源的存取權。

我們建議在資源政策中使用 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)和 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)全域條件內容索引鍵，以限制 Amazon Machine Learning 為資源提供其他服務的許可。如果 `aws:SourceArn` 值不包含帳戶 ID (例如 Amazon S3 儲存貯體 ARN)，您必須使用這兩個全域條件內容金鑰來限制許可。如果同時使用這兩個全域條件內容金鑰，且 `aws:SourceArn` 值包含帳戶 ID，則在相同政策陳述式中使用 `aws:SourceAccount` 值和 `aws:SourceArn` 值中的帳戶時，必須使用相同的帳戶 ID。如果您想要僅允許一個資源與跨服務存取相關聯，則請使用 `aws:SourceArn`。如果您想要允許該帳戶中的任何資源與跨服務使用相關聯，請使用 `aws:SourceAccount`。

防範混淆代理人問題最有效的方法，是使用 `aws:SourceArn` 全域條件內容金鑰，以及資源的完整 ARN。如果不知道資源的完整 ARN，或者如果您指定了多個資源，請使用 `aws:SourceArn` 全域條件內容金鑰，同時使用萬用字元 (`*`) 表示 ARN 的未知部分。例如 `arn:aws:servicename:*:123456789012:*`。

下列範例示範如何在 Amazon ML 中使用 `aws:SourceArn`和 `aws:SourceAccount`全域條件內容金鑰，以防止從 Amazon S3 儲存貯體讀取資料時出現混淆代理人問題。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::examplebucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": "exampleprefix/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        }
    ]
}
```

------

# 非同步操作的相依性管理
<a name="dependency-management-of-asynchronous-operations"></a>

 Amazon ML 中的批次操作需依賴其他操作，才能成功完成。為了管理這些相依性，Amazon ML 會識別具有相依性的請求，並確認操作已完成。如果操作尚未完成，Amazon ML 會將初始請求放在一旁，直到其依賴的操作已完成。

 批次操作之間有一些相依性。例如，在您可以建立 ML 模型之前，您必須先建立資料來源，以便用來訓練 ML 模型。如果沒有可用的資料來源，Amazon ML 無法訓練 ML 模型。

 不過，Amazon ML 支援非同步操作的相依性管理。例如，您不需要等待資料統計資料已計算，才能傳送根據資料來源訓練 ML 模型的請求。反之，只要資料來源建立好，您就可以傳送使用資料來源訓練 ML 模型的請求。在資料來源統計資料已計算完成前，Amazon ML 不會實際開始訓練操作。createMLModel 請求會放入佇列中，直到統計資料計算完成；一旦完成後，Amazon ML 就會立即嘗試執行 createMLModel 操作。同樣地，您可以傳送尚未完成訓練的 ML 模型的批次預測和評估請求。

 下表顯示繼續不同 AmazonML 動作的要求 


|  **為了...** |  **您必須有...** | 
| --- | --- | 
|  建立 ML 模型 (createMLModel)  |  已計算資料統計資料的資料來源  | 
|  建立批次預測 (createBatchPrediction)  |   資料來源   機器學習 (ML) 模型   | 
|  建立批次評估 (createBatchEvaluation)  |   資料來源   機器學習 (ML) 模型   | 

# 檢查要求狀態
<a name="operation-request-status"></a>

當您提交請求時，您可以使用 Amazon Machine Learning (Amazon ML) API 檢查其狀態。例如，如果您提交`createMLModel`請求，您可以使用 `describeMLModel`呼叫來檢查其狀態。Amazon ML 會以下列其中一種狀態回應。


|  **狀態**  |  **定義**  | 
| --- | --- | 
|  待定  |   Amazon ML 正在驗證要求。  或   Amazon ML 正在等候運算資源成為可用，再執行要求。當您的帳戶超過並行執行之批次操作要求的最大數目時，就可能會發生這種情況。如果是這種情況，當其他執行中的請求已完成或被取消時，狀態就會轉換成 **InProgress** (進行中)。  或   Amazon ML 正在等候您的要求相依的批次操作完成。  | 
|  INPROGRESS (進行中)  |  您的要求仍在執行中。 | 
|  COMPLETED (已完成)  |  要求已完成，而且物件已備妥可供使用 (ML 模型與資料來源) 或檢視 (批次預測與評估)。 | 
|  失敗  |  您提供的資料有誤，或者您已取消操作。例如，如果您嘗試計算資料來源中無法完成的資料統計資料，您可能會收到 Invalid (無效) 或 Failed (失敗) 狀態訊息。此錯誤訊息說明操作未成功完成的原因。 | 
|  DELETED  |  已刪除物件。 | 

Amazon ML 也提供物件的相關資訊，例如 Amazon ML 何時完成建立該物件。如需詳細資訊，請參閱[列出物件](listing-objects.md)。

# 系統限制
<a name="system-limits"></a>

 為了提供穩定且可靠的服務，Amazon ML 對您向系統提出的請求施加一定的限制。大多數 ML 問題能夠輕鬆符合這些限制。不過，若您發現您對 Amazon ML 的使用受到這些限制所侷限，則可聯絡 [AWS 客戶服務](https://aws.amazon.com/contact-us/)以申請提高限制。例如，對於可以同時執行的任務，可能有 5 個的限制。如果您發現由於此項限制，您的任務經常被排入佇列需等待資源，則提高您的帳戶的限制便可能有道理。

 下表顯示 Amazon ML 中每個帳戶的預設限制。並非所有限制都可由 AWS 客戶服務提高。


| **限制類型** | **系統限制** | 
| --- | --- | 
| 每個觀察的大小 | 100 KB | 
| 訓練資料的大小 \$1 | 100 GB | 
| 批次預測輸入的大小 | 1 TB | 
| 批次預測輸出的大小 (記錄數量) | 1 億 | 
| 資料檔案 (結構描述) 中的變數數量 | 1,000 | 
| 配方複雜性 (處理輸出變數的數量) | 10,000 | 
| 每個即時預測端點的 TPS 數 | 200 | 
| 所有即時預測端點的 TPS 總數 | 10,000 | 
| 所有即時預測端點的 RAM 總數 | 10 GB | 
| 同時任務的數量 | 25 | 
| 任何任務的最長執行時間 | 7 天 | 
| 多類別 ML 模型的類別數量 | 100 | 
| ML 模型大小 | 下限為 1 MB，上限為 2 GB | 
| 每個物件的標籤數量 | 50 | 
+  限制資料檔案大小是為了確保可及時完成工作。已執行超過七天的工作會自動終止，產生 FAILED 狀態。

# 所有物件的名稱和 ID
<a name="names-and-ids-for-all-objects"></a>

 Amazon ML 中的每個物件都必須有一個識別符，或 ID。Amazon ML 主控台會為您產生 ID 值，但如果您使用的是 API，就必須自己產生 ID 值。在您的 AWS 帳戶中，每個 ID 必須是同一類型所有 Amazon ML 物件的唯一 ID。也就是說，同一個 ID 不能有兩個評估。同一個 ID 可能會有一個評估和一個資料來源，但是不建議這麼做。

 建議您使用物件隨機產生的識別符，前面加上較短的字串來識別其類型。例如，當 Amazon ML 主控台產生資料來源時，便會為此資料來源指派一組隨機、唯一的 ID，如「ds-zScWIuWiOxF」。這組 ID 隨機性相當足夠，能避免與任何單一使用者造成砥觸，同時也相當簡潔可讀。「ds-」字首只是為了便利性和明確性，並非必要不可。如果您不確定要使用什麼當做 ID 字串，建議您使用十六進位的 UUID 值 (如 28b1e915-57e5-4e6c-a7bd-6fb4e729cb23)，這種值在任何現代程式設計環境中都隨時可用。

 ID 字串可以包含 ASCII 字母、數字、連字號和底線，最多可達 64 個字元。或許為了便利性考量，將中繼資料編碼至 ID 字串也是可以的。但是不建議您這麼做，因為一旦物件建立完成後，就無法改變其 ID。

 物件名稱提供了簡單的方式，能讓您將使用者易用的中繼資料與每個物件建立關聯。您可以在建立物件之後更新名稱。這樣物件名稱就能反映 ML 工作流程的某些部分。例如，您一開始可將 ML 模型命名為「實驗 3 號」，之後將模型重新命名為「最終生產模型」。名稱可以是您想要的任何字串，最多 1,024 個字元。

# 物件生命週期
<a name="object-lifetimes"></a>

 您使用 Amazon ML 建立的任何資料來源、ML 模型、評估或批次預測物件，都可在建立後讓您至少使用兩年。Amazon ML 可能會自動移除超過兩年未存取或使用的物件。