Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 亚马逊Rekognition打印结果给出索引器_Python_Amazon Web Services_Aws Lambda_Amazon Rekognition - Fatal编程技术网

Python 亚马逊Rekognition打印结果给出索引器

Python 亚马逊Rekognition打印结果给出索引器,python,amazon-web-services,aws-lambda,amazon-rekognition,Python,Amazon Web Services,Aws Lambda,Amazon Rekognition,我试图打印Amazon Rekognion调用的结果,但它返回错误: 列表索引超出范围:索引器 回溯(最近一次调用上次):文件 lambda_处理程序中的第57行“/var/task/lambda_function.py” 时间=响应['Persons'][0]['Timestamp'] 索引器:列表索引超出范围 我把索引[0]放进去,我真的不明白为什么它会超出索引范围 有人能帮忙吗 response = get_face_search(jobID) time = response['Perso

我试图打印Amazon Rekognion调用的结果,但它返回错误:

列表索引超出范围:索引器

回溯(最近一次调用上次):文件 lambda_处理程序中的第57行“/var/task/lambda_function.py”

时间=响应['Persons'][0]['Timestamp']

索引器:列表索引超出范围

我把索引[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': ...
                }
            },
        ]
    },
]
}

你的代码很好。问题在于
响应
对象不包含预期数据

bot3
要求所有输入参数必须是关键字,因此:

response = get_face_search(jobID)
应该是:

response = get_face_search(JobId = jobID)

有关处理
get\u face\u search()
结果的Python脚本示例,请参阅:

您已经向我们展示了响应的(预期的?)格式,但是转储实际响应的结构如何?如果没有
人员
元素怎么办?您好,谢谢您的回复。我想我发现了问题所在。即get face搜索实际上需要几秒钟来推送结果,在推送过程中,它将显示状态,如“成功”、“进行中”、“失败”,每次处理程序尝试打印结果时,get_face_搜索方法都会使用Persons[]和“jobstatus”=“进行中”获取返回值,我正在考虑写一个循环来保持读取jobstatus,直到它==成功。是的,您可以这样做。Rekognition将向SNS主题发送一条消息,该消息可用于触发结果检索。否则,每隔几秒钟轮询一次响应就足够了。您好,感谢您的建议,我正在尝试使用SNS主题,只是想知道另一个lambda中的get_face_search()函数如何检索从start_face_search()生成的作业ID?许多感谢来自:Rekognition视频向注册的Amazon SNS主题发送分析完成通知。通知包括JSON字符串中的作业标识符和操作完成状态。