我想通过 REST API 向客户公开来自 AWS Personalize 的建议。此时我正在考虑 AWS API Gateway > AWS Lambda > AWS Personalise。有没有一种本地方法可以做到这一点或更好的方法来做到这一点?
1 回答
使用 API Gateway 和 Lambda 函数是围绕 Personalize 活动创建 REST API 的更常见方法之一。API Gateway 使您能够添加缓存、限制、替代安全模式等。由于 Personalize GetRecommendations/GetPersonalizedRanking API仅返回 itemIds 和分数,因此您通常希望使用客户端呈现推荐所需的项目元数据(例如,项目价格、名称、描述、图像 URL 等)来装饰 itemIds。否则,您的客户可能不得不在其他地方查找该信息。Lambda 函数为您提供了从项目目录中查找项目元数据所需的层,并返回更适合在应用程序中呈现的响应。Amazon Personalize Samples GitHub 存储库有一个示例使用 SAM 部署 Lambda 函数,以便在 API Gateway 后面提供建议和摄取事件。
其他一些选项包括AWS App Runner,它支持部署来自 GitHub 存储库的代码或来自自动扩展 API 后面的 ECR 的 Docker 容器映像或应用程序负载均衡器后面的 ECS/EKS 中的微服务。REST 的替代方法是使用带有 Lambda 函数的AWS AppSync的 GraphQL 终端节点,如上所述。
最佳选择归结为最适合您现有架构或体验的方法。