Невозможно использовать json.loads для boto3.client.get_batch_predictions()

Я получаю следующую ошибку при попытке разобрать ответ JSON

ожидаемая строка или буфер

В моей модели Django у меня есть следующее:

def get_batch_prediction(self):
    client = boto3.client('machinelearning', region_name=settings.region, aws_access_key_id=settings.aws_access_key_id, aws_secret_access_key=settings.aws_secret_access_key)
    return client.get_batch_prediction(
        BatchPredictionId=str(self.id)
        )

Я тогда называю это так

batch = BatchPrediction.objects.get(id=batch_id)
response = batch.get_batch_prediction()
response = json.loads(response)

Я знаю, что ответ json поэтому я ожидал, что это изменит его на словарь, но вместо этого я получаю ошибку выше.

В чем дело?

1 ответ

Решение

Документы boto3 предполагают, что get_batch_prediction возвращает словарь, а не строку. Вы не должны использовать json.loads(),

Другие вопросы по тегам