使用Adobe PDF Services API上传成功仍提示‘Asset not found’的问题
Adobe PDF Services API:上传成功后Asset not found的排查与解决
可能的原因及对应解决方案
1. API区域不匹配
Adobe PDF Services API按区域划分,AssetID与生成它的区域绑定,必须使用对应区域的API端点执行后续操作:
- 你的AssetID为
urn:aaid:AS:EW1:2ceb2ab0-e94b-4664-9bfa-0789e3fe111d,其中EW1代表欧洲西部区域,调用exportpdf时应使用欧洲西部端点:https://pdf-services-ew1.adobe.io/operation/exportpdf,而非美国东部的ue1端点。 - 确保生成Asset、调用转换的全流程使用同一区域API,避免跨区域操作。
2. 上传时未设置正确的Content-Type
预签名URL的X-Amz-SignedHeaders包含content-type,要求PUT上传时必须携带完全匹配的请求头:
- 上传PDF文件时,必须设置
Content-Type: application/pdf,否则即使返回200 OK,Adobe系统也无法将上传文件与AssetID关联。 - 在Postman的PUT请求「Headers」标签中添加该头并确认值正确。
3. AssetID拼写或格式错误
检查exportpdf请求中使用的AssetID是否与生成时完全一致:
- 确保无字符遗漏、大小写错误(URN格式不区分大小写,但建议完全复制生成的字符串)。
- 转换为Docx的正确请求体示例:
{ "assetID": "urn:aaid:AS:EW1:2ceb2ab0-e94b-4664-9bfa-0789e3fe111d", "targetFormat": "docx" }
4. 上传后系统未完成同步
S3存储与Adobe PDF Services系统存在短暂同步延迟:
- 上传成功后等待3-5秒,再发起
exportpdf请求,避免因系统未同步导致的Asset未找到错误。
5. 预签名URL已过期
预签名URL的有效期为1小时(X-Amz-Expires=3600):
- 确认上传操作在生成预签名URL后的1小时内完成,过期后上传的文件不会被Adobe系统识别,需重新生成AssetID和预签名URL。
内容的提问来源于stack exchange,提问作者Chhavi Batra
相关产品推荐
相关产品推荐

