GetRecommendations - Amazon Personalize

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

GetRecommendations

返回推荐物品的列表。对于市场活动,必须提供市场活动的 Amazon 资源名称 (ARN),所需的用户和物品输入取决于用于创建支持市场活动的解决方案的食谱类型,如下所示:

  • USER_PERSONALIZATION - userId 必填项,未使用 itemId

  • RELATED_ITEMS - itemId 必填项,未使用 userId

注意

由利用 PERSONALIZED_RANKING 类型的食谱创建的解决方案支持的市场活动使用 GetPersonalizedRanking API。

对于推荐器,推荐器的 ARN 是必填项,所需的物品和用户输入取决于支持推荐器的使用案例(基于域的食谱)。有关使用案例要求的信息,请参阅选择推荐器使用案例

请求语法

POST /recommendations HTTP/1.1 Content-type: application/json { "campaignArn": "string", "context": { "string" : "string" }, "filterArn": "string", "filterValues": { "string" : "string" }, "itemId": "string", "metadataColumns": { "string" : [ "string" ] }, "numResults": number, "promotions": [ { "filterArn": "string", "filterValues": { "string" : "string" }, "name": "string", "percentPromotedItems": number } ], "recommenderArn": "string", "userId": "string" }

URI 请求参数

该请求不使用任何 URI 参数。

请求体

请求接受采用 JSON 格式的以下数据。

campaignArn

用于获取建议的市场活动的 Amazon 资源名称 (ARN)。

类型:字符串

长度约束:最大长度为 256。

模式:arn:([a-z\d-]+):personalize:.*:.*:.+

必需:否

context

获取建议时要使用的上下文元数据。上下文元数据包括在获取用户建议时可能相关的任何交互信息,例如用户的当前位置或设备类型。

类型:字符串到字符串映射

映射条目:最多 150 项。

键长度限制:最大长度为 150。

键模式:[A-Za-z\d_]+

值长度限制:最大长度为 1000。

必需:否

filterArn

要应用于返回建议的筛选器的 ARN。有关更多信息,请参阅筛选建议

使用此参数时,确保筛选器资源为 ACTIVE

类型:字符串

长度约束:最大长度为 256。

模式:arn:([a-z\d-]+):personalize:.*:.*:.+

必需:否

filterValues

筛选建议时要使用的值。对于筛选器表达式中的每个占位符参数,提供参数名称(大小写相符)作为键,提供筛选器值作为对应的值。用英文逗号分隔一个参数的多个值。

对于使用 INCLUDE 元素来包含物品的筛选器表达式,您必须为表达式中定义的所有参数提供值。对于带有使用 EXCLUDE 元素排除物品的表达式的筛选器,您可以省略 filter-values。在这种情况下,Amazon Personalize 不会使用表达式的这一部分来筛选建议。

有关更多信息,请参阅筛选建议和用户细分

类型:字符串到字符串映射

映射条目:最多 25 项。

键长度限制:最大长度为 50。

键模式:[A-Za-z0-9_]+

值长度限制:最大长度为 1000。

必需:否

itemId

要提供建议的物品 ID。

RELATED_ITEMS 食谱类型为必填项。

类型:字符串

长度约束:最大长度为 256。

必需:否

metadataColumns

如果您在创建或更新市场活动或推荐器时在建议中启用了元数据,请从您的物品数据集中指定要包含在物品建议中的元数据列。映射键为 ITEMS,值是物品数据集中的列名称列表。您可以提供的最大列数为 10。

有关为市场活动启用元数据的信息,请参阅在市场活动建议中启用元数据。有关为推荐器启用元数据的信息,请参阅在推荐器建议中启用元数据

类型:字符串到字符串数组映射

映射条目:最多 1 个物品。

密钥长度限制:最大长度为 256。

数组成员:最多 99 个物品。

长度限制:最大长度为 150。

必需:否

numResults

要返回的结果数量。默认值为 25。如果您在建议中包含元数据,则最大值为 50。否则,最大值为 500。

类型:整数

有效范围:最小值为 0。

必需:否

promotions

要应用于建议请求的推广。推广定义了其他业务规则,这些规则适用于可配置的建议物品子集。

类型:Promotion 对象数组

数组成员:最多 1 个物品。

必需:否

recommenderArn

用于获取建议的推荐器的 Amazon 资源名称 (ARN)。如果您创建了包含域使用案例推荐器的域数据集组,请提供推荐器 ARN。

类型:字符串

长度约束:最大长度为 256。

模式:arn:([a-z\d-]+):personalize:.*:.*:.+

必需:否

userId

要提供建议的用户 ID。

USER_PERSONALIZATION 食谱类型为必填项。

类型:字符串

长度约束:最大长度为 256。

必需:否

响应语法

HTTP/1.1 200 Content-type: application/json { "itemList": [ { "itemId": "string", "metadata": { "string" : "string" }, "promotionName": "string", "reason": [ "string" ], "score": number } ], "recommendationId": "string" }

响应元素

如果此操作成功,则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回以下数据。

itemList

按预测分数降序排序的建议列表。列表中最多可以有 500 个物品。

类型:PredictedItem 对象数组

recommendationId

建议的 ID。

类型:字符串

错误

InvalidInputException

为字段或参数提供有效值。

HTTP 状态代码:400

ResourceNotFoundException

指定的资源不存在。

HTTP 状态代码:404

另请参阅

有关在特定语言的 AWS SDK 中使用此 API 的更多信息,请参阅以下内容: