无法在 boto3.client.get_batch_predictions() 上使用 json.loads

Unable to use json.loads on boto3.client.get_batch_predictions()

我在尝试解析 json 响应时遇到以下错误

expected string or buffer

在我的 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,所以我希望这会将其更改为字典,但是,我得到了上面的错误。

怎么回事?

boto3 docs 建议 get_batch_prediction returns 字典不是字符串。你不应该使用 json.loads().