• 首页 > 
  • OSS中如何获取Request ID

OSS中如何获取Request ID

KB: 194067

 · 

更新时间:2020-12-08 14:50

概述

本文主要介绍OSS中如何获取Request ID和对应的日志信息。

详细信息

在OSS存储服务中,提供了Request ID作为关联各处日志信息的标识符,即为接收的每个请求分配唯一的服务器请求ID。在OSS对象存储中上传下载Object失败时,您可能需要提工单寻求解决方案,此时建议您将提交失败请求的Request ID也提交给阿里云技术支持,方便进行问题分析,下面是在不同场景下获取Request ID的几种方法:

下载或使用GetObject失败时获取Request ID

控制台日志获取

  1. 登录OSS控制台,在您使用GetObject下载失败后,进入指定Bukcet的管理页面。
  2. 依次单击左侧菜单栏的日志管理>实时查询
  3. Ctrl+F键,搜索request_id,获取Request ID。

在Linux系统中通过命令行获取

  1. 您可以先登录OSS控制台,获取Object的URL。
  2. 在Linux系统中,执行以下命令,获取HTTP响应头中的Request ID。
    curl -voa "[$URL]"
    说明:[$URL]为上一步获取的URL。
    系统返回类似如下。

在控制台通过浏览器获取

  1. 进入浏览器后,按F12键,进入浏览器的开发者工具页面。
  2. 在开发者工具页面中,单击上方的Network
  3. 登录OSS控制台,进入待下载Object的文件管理页面。
  4. 依次单击Object右侧对应的更多>下载
  5. 在开发者工具页面中,搜索Object名称进行过滤,例如“tupian”。
    说明:下载的Object对应的元素一般以Object名称开头。如果是上传Object的操作,则搜索当前资源的Endpint,各地域Endpoint可参见访问域名和数据中心
  6. 单击tupian文件对应的元素,然后单击右侧区域上方的Headers
  7. Response Headers区域中,获取Request ID信息。

通过SDK获取

以通过Python上传文件为例,获取当前操作Request ID的示例代码如下所示。

说明:如果出现“No module named oss2”报错,请参见使用Python操作OSS时出现“No module named oss2”报错

# -*- coding: utf-8 -*-
import oss2
auth = oss2.Auth('[$AccessKey_ID]', '[$AccessKey_Secret]')
bucket = oss2.Bucket(auth, '[$Endpoint]', '[$Bucket_Name]')
requestid = bucket.get_object_to_file('[$Object_Name]', '[$Local_File]').request_id
print(requestid)

说明

  • [$AccessKey_ID]:您的AccessKey ID。
  • [$AccessKey_Secret]:您的AccessKey Secret。
  • [$Endpoint]:资源的访问域名,可参见访问域名和数据中心获取当前资源的endpoint。
  • [$Bucket_Name]:您的Bucket名称。
  • [$Object_Name]:您的Object真实路径,如果在名为abc的Bucket下有001/a.txt的Object,则填写“001/a.txt”。
  • [$Local_File]:存放下载资源的路径,如果下载资源需要存放到/tmp中,并将文件取名为local,则填写“/tmp/local”。

简单上传或使用PostObject失败时获取Request ID

控制台日志获取

  1. 登录OSS控制台,在您使用PostObject上传失败后,进入指定Bukcet的管理页面。
  2. 依次单击左侧菜单栏的日志管理>实时查询
  3. Ctrl+F键,搜索request_id,获取Request ID。

在控制台通过浏览器获取

  1. 进入浏览器后,按F12键,进入浏览器的开发者工具页面。
  2. 在开发者工具页面中,单击上方的Network
  3. 登录OSS控制台,在Bucket中上传指定Object。
  4. 在开发者工具页面中,搜索当前资源的Endpoint进行过滤,各地域Endpoint可参见访问域名和数据中心
  5. 单击过滤后的元素,然后单击右侧区域上方的Headers
  6. Response Headers区域中,获取Request ID信息。

通过SDK获取

以通过Python上传文件为例,获取当前操作Request ID的示例代码如下所示。

说明:如果出现“No module named oss2”报错,请参见使用Python操作OSS时出现“No module named oss2”报错

# -*- coding: utf-8 -*-
import oss2
auth = oss2.Auth('[$AccessKey_ID]', '[$AccessKey_Secret]')
bucket = oss2.Bucket(auth, '[$Endpoint]', '[$Bucket_Name]')
key = '[$Object_Name]'
requestid= bucket.put_object(key, '[$Object_Content]').request_id
print(requestid)

说明:[$Object_Content]为需要上传的字符串内容。

适用于

  • 对象存储OSS