AWS SageMaker异步端点S3大文件上传超时问题咨询
解决AWS SageMaker异步端点大文件S3上传超时问题
针对SageMaker异步端点处理大于300KB的txt结果文件时,推理完成但S3上传超时的问题,可尝试以下几种方案:
自定义推理脚本手动上传
绕过SageMaker默认的上传机制,在推理脚本中使用boto3手动实现S3上传,自定义超时参数:import boto3 from botocore.config import Config # 创建带超时配置的S3客户端 s3 = boto3.client( 's3', config=Config( read_timeout=300, # 调整为合适的超时时间(秒) connect_timeout=60, retries={'max_attempts': 5} ) ) # 上传本地推理结果文件 with open('/tmp/inference_result.txt', 'rb') as f: s3.put_object( Bucket='<your-bucket-name>', Key='model/results/<your-file-key>.txt', Body=f )若文件过大,可启用分块上传优化:
transfer_config = boto3.s3.transfer.TransferConfig( multipart_threshold=1024*1024, # 1MB以上自动分块 max_concurrency=10 ) s3.upload_file( '/tmp/inference_result.txt', '<your-bucket-name>', 'model/results/<your-file-key>.txt', Config=transfer_config )优化VPC网络配置
- 为端点所在VPC配置S3网关端点,让实例直接通过内网访问S3,避免公网传输的延迟和不稳定。
- 检查安全组规则,确保允许实例出站访问S3的流量,或者在VPC端点策略中添加目标存储桶的访问权限。
拆分结果文件(业务允许时)
将大txt文件拆分为多个小于300KB的子文件,分别上传至S3。后续可通过S3 Select工具或Lambda函数触发合并操作,恢复完整结果。升级端点实例规格
若当前实例CPU、内存资源不足,上传大文件时可能因资源瓶颈导致超时。尝试升级实例规格(如从t2.medium改为c5.large),确保有足够资源支撑文件上传操作。
内容的提问来源于stack exchange,提问作者Daniele
相关产品推荐
相关产品推荐

