【以下的问题经过翻译处理】 我想在特定的端点上启用数据捕获(目前仅通过控制台)。该端点功能正常,还记录和返回所需结果。但是,没有文件写入指定的S3位置。
端点配置
该端点基于一个具有scikit learn分类器的训练作业。它只有一种变体,即“ml.m4.xlarge”实例类型。使用100%的采样百分比启用数据捕获。作为数据捕获存储位置,我尝试使用s3://<bucket-name>
以及s3://<bucket-name>/<some-other-path>
。在“捕获内容类型”中,我尝试将所有内容留空,在“CSV / Text”中设置“text / csv”,在“JSON”中设置“application / json”。
端点调用
端点在具有客户端的Lambda函数中调用。这是调用:
sagemaker_body_source = {
"segments": segments,
"language": language
}
payload = json.dumps(sagemaker_body_source).encode()
response = self.client.invoke_endpoint(EndpointName=endpoint_name,
Body=payload,
ContentType='application/json',
Accept='application/json')
result = json.loads(response['Body'].read().decode())
return result["predictions"]
在内部,端点使用Flask API,具有返回结果的/invocation
路径。
日志
端点本身运行良好,Flask API记录输入和输出:
INFO:api:body: {'segments': [<strings...>], 'language': 'de'}
INFO:api:output: {'predictions': [{'text': 'some text', 'label': 'some_label'}, ....]}