背景
1、本文主要介绍可以通过哪些途径来获取OSS的Request ID以及通过Request ID查询到的日志字段描述;
2、要注意的是OSS Request ID是由数字5开头的;
3、502 503 504没有Request ID。
获取OSS Request ID的方法
在控制台通过网页端获取(以下载文件为例)
首先浏览器F12打开开发者模式,然后在文件右侧的更多选项里点取下载,找到开发者模式中对应的文件名(可以现在搜索框用yourbucketname.oss搜索)。这里可能会有%这种乱码的情况,是因为经过了URL编码,主要关注后缀名即可,比如我下载的是“12号日志.txt”,那么找到.txt的这个文件的元素即可。选中元素点进去之后,在Headers的内容里找到Response Headers里的x-oss-request-id,这部分内容就是下载操作产生的Request ID。
如果是上传的动作,那么Request ID所在的资源名称是你的Endpoint。
通过命令行获取
如果是下载文件,可以直接在Linux中通过命令行下载获取HTTP响应头来获取Request ID,方便快捷。当然,需要先在控制台获取文件的URL。
通过SDK获取,以python上传文件为例
初始化bucket之后,可以利用初始化之后的实例来调用各种操作方法,比如put类get类等。调用这个方法之后,可以再继续调用该方法的子方法request_id,就可以获取到这次操作的Request ID。示例代码如下:
import oss2
# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth('********', '********')
# Endpoint以杭州为例,其它Region请按实际情况填写。
bucket = oss2.Bucket(auth, 'http://oss-cn-beijing.aliyuncs.com', 'yourbucketname')
# The object key in the bucket is story.txt
key = '15号日志.txt'
# Upload
rq = bucket.put_object(key, 'Ali Baba is a happy youth.').request_id
print(rq)
返回结果:
5E2717B97FFDC23330B6763D