本文以Java、Python和Go语言为例,介绍如何获取日志服务请求的RequestId。
本文的代码是通过GetProject - 获取指定Project接口,分别介绍三种语言如何获取RequestId。
Java
Python
Go
如代码所示:代码执行错误,可以通过exp.getRequestId()
获取RequestId。
代码示例
import com.aliyun.openservices.log.Client; import com.aliyun.openservices.log.exception.LogException; import com.aliyun.openservices.log.response.GetProjectResponse; public class GetProject { public static void main(String[] args) throws LogException { // 本示例从环境变量中获取AccessKey ID和AccessKey Secret。 String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"); String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"); // 输入Project名称。 String projectName = "aliyun-test-project"; // 设置服务接入点。此处以杭州为例,其它地域请根据实际情况填写。 String host = "https://cn-hangzhou.log.aliyuncs.com"; // 创建日志服务Client。 Client client = new Client(host, accessId, accessKey); try { System.out.println("ready to get project"); // 查询指定Project。 GetProjectResponse response = client.GetProject(projectName); System.out.println(String.format("get project %s success",projectName)); // 获取RequestId System.out.println(response.GetRequestId()); } catch (LogException e) { System.out.println("LogException e :" + exp.getRequestId()); } } }
返回结果
67F8B986CFECBABE7BCF****
如代码所示:代码执行错误,可以通过error.get_request_id()
获取RequestId。
代码示例
from aliyun.log import LogClient import os # 本示例从环境变量中获取AccessKey ID和AccessKey Secret access_key_id = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '') access_key_secret = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '') # 日志服务的服务接入点 endpoint = "cn-hangzhou.log.aliyuncs.com" client = LogClient(endpoint, access_key_id, access_key_secret) # Project名称 project_name = "aliyun-test-project" # 获取指定Project的信息 def main(): try: res = client.get_project(project_name) print(res.get_request_id()) except Exception as error: print(error.get_request_id()) if __name__ == '__main__': main()
返回结果
67F8B986CFECBABE7BCF****
如代码所示,代码执行错误,在返回结果获取RequestId。
代码示例
package main import ( "fmt" "os" sls "github.com/aliyun/aliyun-log-go-sdk" ) func main() { // 日志服务的服务入口。此处以杭州为例,其它地域请根据实际情况填写。 Endpoint := "cn-hangzhou.log.aliyuncs.com" // 本示例从环境变量中获取AccessKey ID和AccessKey Secret。 AccessKeyId := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID") AccessKeySecret := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET") // RAM用户角色的临时安全令牌。此处取值为空,表示不使用临时安全令牌。 SecurityToken := "" // 创建日志服务Client。 provider := sls.NewStaticCredentialsProvider(AccessKeyId, AccessKeySecret, SecurityToken) client := sls.CreateNormalInterfaceV2(Endpoint, provider) // 查看Project。 name := "ali-test-project" project, err := client.GetProject(name) if err != nil { panic(err) } fmt.Println(project.Description) }
返回结果
panic: { "httpCode": 401, "errorCode": "Unauthorized", "errorMessage": "The project does not belong to you.", "requestID": "67F8CBEDE549DF37E48E****" }
该文章对您有帮助吗?