天天看点

OSS PostObject未发生回调的问题排查

今天排查一个问题,走了一些弯路,总结一下,希望可以为后来者提供参考建议。

XX反馈,使用OSS PostObject的callback没有发生回调。但是通过putobject用同样的callback是有回调发生的。客户怀疑我们的PostObject有问题。

OSS回调流程为 客户端->OSS->应用服务器->客户端

OSS PostObject未发生回调的问题排查

创建一台ECS用于当测试应用服务器

创建一个asp.net 的ashx,代码自行实现,用于获取OSS callback参数。

写了两个上传demo

Put方式,应用服务器上有OSS的回调请求。

OSS PostObject未发生回调的问题排查

Post方式,应用服务器无任何回调请求

OSS PostObject未发生回调的问题排查

按理说,如果json格式有错误或者回调失败,都应该会返回对应的msg,而上传后一切成功但为什么没有发生回调呢,难道是bug?不太可能,如果是线上bug,工单早就爆了。

检查代码和OSS后端同学沟通。检查到在发送请求时callback的参数是在file下面。

OSS PostObject未发生回调的问题排查

这样就会作为file的一部分。调整一下位置

OSS PostObject未发生回调的问题排查

业务服务器上也如愿的抓到了请求

OSS PostObject未发生回调的问题排查

总结一下就是细心,还是细心。不要急躁多调试,最终会得到想得到的。