

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# エンドポイントのリクエストとレスポンスの表形式データを事前に確認する
<a name="clarify-processing-job-data-format-tabular-precheck"></a>

モデルを SageMaker AI リアルタイム推論エンドポイントにデプロイし、エンドポイントにリクエストを送信することをお勧めします。リクエストとレスポンスを手動で調べて、両方が [表形式データに対するエンドポイントリクエスト](clarify-processing-job-data-format-tabular-request.md) セクションと [表形式データに対するエンドポイントレスポンス](clarify-processing-job-data-format-tabular-response.md) セクションの要件に準拠していることを確認してください。モデルコンテナがバッチリクエストをサポートしている場合は、1 つのレコードリクエストから始めて、その後 2 つ以上のレコードを試してみることができます。

次のコマンドは、 AWS CLIを使用してレス本スをリクエストする方法を示します。 AWS CLI は SageMaker Studio インスタンスと SageMaker ノートブックインスタンスにプリインストールされています。をインストールするには AWS CLI、この[インストールガイド](https://aws.amazon.com/cli/)に従います。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name $ENDPOINT_NAME \
  --content-type $CONTENT_TYPE \
  --accept $ACCEPT_TYPE \
  --body $REQUEST_DATA \
  $CLI_BINARY_FORMAT \
  /dev/stderr 1>/dev/null
```

パラメータの定義は次のとおりです。
+ `$ENDPOINT NAME` – エンドポイントの名前。
+ `$CONTENT_TYPE`— リクエストの MIME タイプ (モデルコンテナ入力)。
+ `$ACCEPT_TYPE`— レスポンスの MIME タイプ (モデルコンテナ出力)。
+ `$REQUEST_DATA`— リクエストされたペイロード文字列。
+ `$CLI_BINARY_FORMAT`— コマンドラインインターフェイス (CLI) のパラメータの形式。v1 AWS CLI の場合、このパラメータは空白のままにする必要があります。v2 では、このパラメータは `--cli-binary-format raw-in-base64-out` に設定する必要があります。

**注記**  
AWS CLI v2 は[、デフォルトで](https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration.html#cliv2-migration-binaryparam)バイナリパラメータを base64 でエンコードされた文字列として渡します。

# AWS CLI v1 の例
<a name="clarify-processing-job-data-format-tabular-precheck-cli-v1-examples"></a>

前のセクションの例は v2 AWS CLI 用でした。次のエンドポイントとの間のリクエストとレスポンスの例では、 AWS CLI v1 を使用します。

## CSV 形式のエンドポイントリクエストとレスポンス
<a name="clarify-processing-job-data-format-tabular-precheck-csv"></a>

次のコード例では、リクエストは 1 つのレコードで構成され、レスポンスはその確率値です。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-sagemaker-xgboost-model \
  --content-type text/csv \
  --accept text/csv \
  --body '1,2,3,4' \
  /dev/stderr 1>/dev/null
```

前のコード例から、レスポンス出力は次のようになります。

```
0.6
```

次のコード例では、リクエストは 2 つのレコードで構成され、レスポンスにはカンマで区切られたレコードの確率が含まれています。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-sagemaker-xgboost-model \
  --content-type text/csv \
  --accept text/csv \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

前のコード例から、`--body` の `$'content'` 式は、コンテンツ内の `'\n'` を改行として解釈するようにコマンドに指示しています。レスポンス出力は次のとおりです。

```
0.6,0.3
```

次のコード例では、リクエストは 2 つのレコードで構成され、レスポンスには改行で区切られたレコードの確率が含まれています。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-1 \
  --content-type text/csv \
  --accept text/csv \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

前のコード例から、レスポンス出力は次のようになります。

```
0.6
0.3
```

次のコード例では、リクエストは 1 つのレコードで構成され、レスポンスは 3 つのクラスを含む多クラスモデルからの確率値です。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-1 \
  --content-type text/csv \
  --accept text/csv \
  --body '1,2,3,4' \
  /dev/stderr 1>/dev/null
```

前のコード例から、レスポンス出力は次のようになります。

```
0.1,0.6,0.3
```

次のコード例では、リクエストは 2 つのレコードで構成され、応答には 3 つのクラスを含む多クラスモデルからの確率値が含まれています。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-1 \
  --content-type text/csv \
  --accept text/csv \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

前のコード例から、レスポンス出力は次のようになります。

```
0.1,0.6,0.3
0.2,0.5,0.3
```

次のコード例では、リクエストは 2 つのレコードで構成され、レスポンスには予測ラベルと確率が含まれています。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-2 \
  --content-type text/csv \
  --accept text/csv \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

前のコード例から、レスポンス出力は次のようになります。

```
1,0.6
0,0.3
```

次のコード例では、リクエストは 2 つのレコードで構成され、レスポンスにはラベルヘッダーと確率が含まれています。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-3 \
  --content-type text/csv \
  --accept text/csv \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

前のコード例から、レスポンス出力は次のようになります。

```
"['cat','dog','fish']","[0.1,0.6,0.3]"
"['cat','dog','fish']","[0.2,0.5,0.3]"
```

## JSON Lines 形式のエンドポイントリクエストとレスポンス
<a name="clarify-processing-job-data-format-tabular-precheck-jsonlines"></a>

次のコード例では、リクエストは 1 つのレコードで構成され、レスポンスはその確率値です。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-jsonlines \
  --content-type application/jsonlines \
  --accept application/jsonlines \
  --body '{"features":["This is a good product",5]}' \
  /dev/stderr 1>/dev/null
```

前のコード例から、レスポンス出力は次のようになります。

```
{"score":0.6}
```

次のコード例では、リクエストは 2 つのレコードで構成され、レスポンスには予測ラベルと確率が含まれています。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-jsonlines-2 \
  --content-type application/jsonlines \
  --accept application/jsonlines \
  --body $'{"features":[1,2,3,4]}\n{"features":[5,6,7,8]}' \
  /dev/stderr 1>/dev/null
```

前のコード例から、レスポンス出力は次のようになります。

```
{"predicted_label":1,"probability":0.6}
{"predicted_label":0,"probability":0.3}
```

次のコード例では、リクエストは 2 つのレコードで構成され、レスポンスにはラベルヘッダーと確率が含まれています。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-jsonlines-3 \
  --content-type application/jsonlines \
  --accept application/jsonlines \
  --body $'{"data":{"features":[1,2,3,4]}}\n{"data":{"features":[5,6,7,8]}}' \
  /dev/stderr 1>/dev/null
```

前のコード例から、レスポンス出力は次のようになります。

```
{"predicted_labels":["cat","dog","fish"],"probabilities":[0.1,0.6,0.3]}
{"predicted_labels":["cat","dog","fish"],"probabilities":[0.2,0.5,0.3]}
```

## 複合形式におけるエンドポイントのリクエストとレスポンス
<a name="clarify-processing-job-data-format-tabular-precheck-diff"></a>

次のコード例では、リクエストは CSV 形式で、レスポンスは JSON Lines 形式です。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-in-jsonlines-out \
  --content-type text/csv \
  --accept application/jsonlines \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

前のコード例から、レスポンス出力は次のようになります。

```
{"probability":0.6}
{"probability":0.3}
```

次のコード例では、リクエストは JSON Lines 形式で、レスポンスは CSV 形式です。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-jsonlines-in-csv-out \
  --content-type application/jsonlines \
  --accept text/csv \
  --body $'{"features":[1,2,3,4]}\n{"features":[5,6,7,8]}' \
  /dev/stderr 1>/dev/null
```

前のコード例から、レスポンス出力は次のようになります。

```
0.6
0.3
```

次のコード例では、リクエストは CSV 形式で、レスポンスは JSON 形式です。

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-in-jsonlines-out \
  --content-type text/csv \
  --accept application/jsonlines \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

前のコード例から、レスポンス出力は次のようになります。

```
{"predictions":[{"label":1,"score":0.6},{"label":0,"score":0.3}]}
```