Как использовать AWS для персонализации вызовов кампаний в реальном времени из AWS Lambda?

#python #amazon-web-services #aws-lambda #aws-sdk #recommendation-engine

#python #amazon-веб-сервисы #aws-lambda #aws-sdk #механизм рекомендаций

Вопрос:

AWS Personalize — это новый сервис Amazon для персонализированных рекомендаций. Поскольку этот сервис еще не интегрирован в boto3, как я могу использовать его из функции Lambda. Есть способ вызвать это из local с помощью python с некоторыми дополнительными шагами, упомянутыми здесь на шаге 3-6 AWS Python SDK

Однако для этого необходимо загрузить некоторые JSON-файлы и добавить модели в сервис AWS.

Мы были бы признательны за некоторую помощь!

Комментарии:

1. Чтобы узнать, как использовать AWS personalize campaign, вам следует обратиться к разделу «Начало работы с aws-персонализация на python» и «Создание кампании» — Amazon Personalize . Также я думаю, что вам следует добавить еще несколько деталей к вашему вопросу.

2. @NiraliAcharya Я сослался на документацию, и процесс прост, однако BOTO 3 не включил AWS Personalize service в свой SDK, и поэтому я сталкиваюсь с проблемами. Шаги, которые я упомянул (шаг 3-6 по ссылке) в моем посте, объясняют вызов кампании с локального компьютера, но мне нужно повторить те же шаги в среде Lambda.

Ответ №1:

У меня это работает следующим образом:

 import boto3
import os
import json
import importlib

path = '/tmp/models/personalize-runtime/2018-05-22/'
os.makedirs(path)

BUCKET_NAME = 'personalize-dataset' # replace with your bucket name
KEY = 'personalize-runtime.json' # replace with your object key
FILENAME = '/tmp/models/personalize-runtime/2018-05-22/service-2.json'

s3 = boto3.resource('s3')
s3.Bucket(BUCKET_NAME).download_file(KEY, '/tmp/models/personalize-runtime/2018-05-22/service-2.json')


importlib.reload(boto3)
  

И вам нужно добавить переменную среды в lambda: AWS_DATA_PATH == /tmp/models