

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 表格数据的端点请求
<a name="clarify-processing-job-data-format-tabular-request"></a>

为了获得训练后偏差分析和特征重要性分析的模型预测， SageMaker Clarify 处理作业将表格数据序列化为字节，并将其作为请求有效载荷发送到推理端点。此表格数据要么来自输入数据集，要么是生成的。如果是合成数据，则由解释者生成，用于 SHAP 分析或 PDP 分析。

请求负载的数据格式应由分析配置 `content_type` 参数指定。如果未提供该参数，则 Cl SageMaker arify 处理作业将使用该`dataset_type`参数的值作为内容类型。有关 `content_type` 或 `dataset_type` 的更多信息，请参阅 [分析配置文件](clarify-processing-job-configure-analysis.md)。

以下几节介绍了 CSV 和 JSON 行格式的端点请求示例。

## CSV 格式的端点请求
<a name="clarify-processing-job-data-format-tabular-request-csv"></a>

Cl SageMaker arify 处理任务可以将数据序列化为 CSV 格式（MIME 类型:`text/csv`）。下表列出了序列化请求负载的示例。


| 端点请求负载（字符串表示形式） | 评论 | 
| --- | --- | 
| '1,2,3,4' | 单条记录（四个数字特征）。 | 
| '1,2,3,4\\n5,6,7,8' | 两条记录，用换行符“\\n”分隔。 | 
| '"This is a good product",5' | 单条记录（文本特征和数字特征）。 | 
| ‘"This is a good product",5\\n"Bad shopping experience",1’ | 两条记录。 | 

## 端点请求采用 JSON 行格式
<a name="clarify-processing-job-data-format-tabular-request-jsonlines"></a>

Cl SageMaker arify 处理任务可以将数据序列化为 SageMaker AI JSON Lines 密集格式（MIME 类型:`application/jsonlines`）。有关 JSON 行的更多信息，请参阅[JSONLINES 请求格式](cdf-inference.md#cm-jsonlines)。

要将表格数据转换为 JSON 数据，请为分析配置 `content_template` 参数提供模板字符串。有关 `content_template` 的更多信息，请参阅 [分析配置文件](clarify-processing-job-configure-analysis.md)。下表列出了序列化 JSON 行请求负载的示例。


| 端点请求负载（字符串表示形式） | 评论 | 
| --- | --- | 
| '{"data":{"features":[1,2,3,4]}}' | 单条记录。在本例中，模板看起来像 `'{"data":{"features":$features}}' `，并且 `$features` 替换为特征列表 `[1,2,3,4]`。 | 
| '{"data":{"features":[1,2,3,4]}}\\n{"data":{"features":[5,6,7,8]}}' | 两个记录。 | 
| '{"features":["This is a good product",5]}' | 单条记录。在本例中，模板看起来像 `'{"features":$features}'`，并且 $features 替换为特征列表 `["This is a good product",5]`。 | 
| '{"features":["This is a good product",5]}\\n{"features":["Bad shopping experience",1]}' | 两个记录。 | 

## 端点请求采用 JSON 格式
<a name="clarify-processing-job-data-format-tabular-request-json"></a>

Cl SageMaker arify 处理任务可以将数据序列化为任意 JSON 结构（MIME 类型:`application/json`）。为此，必须为分析配置 `content_template` 参数提供模板字符串。Clarify 处理 SageMaker 任务使用它来构造外部 JSON 结构。您还必须为 `record_template` 提供模板字符串，用于为每条记录构建 JSON 结构。有关 `content_template` 和 `record_template` 的更多信息，请参阅 [分析配置文件](clarify-processing-job-configure-analysis.md)。

**注意**  
由于 `content_template` 和 `record_template` 都是字符串参数，因此 JSON 序列化结构中的任何双引号字符 (`"`) 都应在配置中注明为转义字符。例如，如果要在 Python 中对双引号进行转义，可以在 `content_template` 中输入以下内容。  

```
"{\"data\":{\"features\":$record}}}"
```

下表列出了序列化 JSON 请求负载的示例，以及构造这些负载所需的相应 `content_template` 和 `record_template` 参数。


| 端点请求负载（字符串表示形式） | 评论 | content\_template | record\_template | 
| --- | --- | --- | --- | 
| '{"data":{"features":[1,2,3,4]}}' | 一次单条记录。 | '{"data":{"features":$record}}}' | “$features” | 
| '{"instances":[[0, 1], [3, 4]], "feature-names": ["A", "B"]}' | 带有特征名称的多条记录。 | ‘{"instances":$records, "feature-names":$feature\_names}' | “$features" | 
| '[{"A": 0, "B": 1}, {"A": 3, "B": 4}]' | 多条记录，以及键值对。 | “$records" | “$features\_kvp" | 
| ‘{"A": 0, "B": 1}' | 一次单条记录，以及键值对。 | "$record" | "$features\_kvp" | 
| ‘{"A": 0, "nested": {"B": 1}}' | 或者，对任意结构使用详细的 record\_template。 | "$record" | '{"A": "${A}", "nested": {"B": "${B}"}}' | 