我正在尝试打印Amazon Rekognition调用的结果,但它返回错误:
列表索引超出范围:IndexError
Traceback(最近一次调用最后一次):文件 “/var/task/lambda_function.py”,第57行,lambda_handler
time = response ['Persons'] [0] ['Timestamp']
IndexError:列表索引超出范围
我把索引[0],我真的不明白为什么它会发生在索引范围之外。
任何人都可以帮忙吗?
response = get_face_search(jobID)
time = response['Persons'][0]['Timestamp']
print(time)
#below is the format:
--------------------------------------------
{
'JobStatus': 'IN_PROGRESS'|'SUCCEEDED'|'FAILED',
'StatusMessage': 'string',
'NextToken': 'string',
'VideoMetadata': {
'Codec': 'string',
'DurationMillis': 123,
'Format': 'string',
'FrameRate': ...,
'FrameHeight': 123,
'FrameWidth': 123
},
'Persons': [
{
'Timestamp': 123,
'Person': {
'Index': 123,
'BoundingBox': {
'Width': ...,
'Height': ...,
'Left': ...,
'Top': ...
},
'Face': {
'BoundingBox': {
'Width': ...,
'Height': ...,
'Left': ...,
'Top': ...
},
'AgeRange': {
'Low': 123,
'High': 123
},
'Smile': {
'Value': True|False,
'Confidence': ...
},
],
'Pose': {
'Roll': ...,
'Yaw': ...,
'Pitch': ...
},
'Quality': {
'Brightness': ...,
'Sharpness': ...
},
'Confidence': ...
}
},
'FaceMatches': [
{
'Similarity': ...,
'Face': {
'FaceId': 'string',
'BoundingBox': {
'Width': ...,
'Height': ...,
'Left': ...,
'Top': ...
},
'ImageId': 'string',
'ExternalImageId': 'string',
'Confidence': ...
}
},
]
},
]
}
答案 0 :(得分:0)
你的代码很好。问题是您的response
对象不包含预期的数据。
boto3
要求所有输入参数必须是关键字,因此:
response = get_face_search(jobID)
应该是:
response = get_face_search(JobId = jobID)
有关处理get_face_search()
结果的Python脚本示例,请参阅:Automated video editing with YOU as the star! | AWS Machine Learning Blog