天天看點

OSS - 如果擷取 requestID

背景

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。

OSS - 如果擷取 requestID

如果是上傳的動作,那麼Request ID所在的資源名稱是你的Endpoint。

OSS - 如果擷取 requestID

通過指令行擷取

如果是下載下傳檔案,可以直接在Linux中通過指令行下載下傳擷取HTTP響應頭來擷取Request ID,友善快捷。當然,需要先在控制台擷取檔案的URL。

OSS - 如果擷取 requestID

通過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