Object Storage Service (OSS) memberikan ID unik untuk setiap permintaan yang diterima. Anda dapat menggunakan ID permintaan ini untuk menanyakan informasi terkait permintaan di berbagai log. Saat menghubungi dukungan teknis untuk menyelesaikan kesalahan yang terjadi di OSS, Anda harus menyediakan ID dari permintaan yang gagal. Dukungan teknis dapat menggunakan ID tersebut untuk menemukan dan menyelesaikan masalah Anda. Topik ini menjelaskan cara memperoleh ID permintaan.
Memperoleh ID Permintaan dengan Menggunakan OSS SDK
Contoh kode berikut menunjukkan cara memperoleh ID permintaan menggunakan OSS SDK untuk beberapa bahasa pemrograman umum.
import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;
import java.io.File;
public class Demo {
public static void main(String[] args) throws Exception {
// Dalam contoh ini, endpoint wilayah Tiongkok (Hangzhou) digunakan. Tentukan endpoint sebenarnya Anda.
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// Tentukan nama bucket. Contoh: examplebucket.
String bucketName = "examplebucket";
// Tentukan jalur penuh objek. Jangan sertakan nama bucket dalam jalur penuh. Contoh: exampledir/exampleobject.txt.
String objectName = "exampledir/exampleobject.txt";
// Tentukan jalur penuh file lokal yang ingin Anda unggah. Contoh: D:\\localpath\\examplefile.txt.
// Secara default, jika jalur file lokal tidak ditentukan, file lokal akan diunggah dari jalur proyek tempat program contoh ini berada.
String filePath= "D:\\localpath\\examplefile.txt";
// Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), atur wilayah ke cn-hangzhou.
String region = "cn-hangzhou";
// Buat instance OSSClient.
// Panggil metode shutdown untuk melepaskan sumber daya terkait ketika OSSClient tidak lagi digunakan.
ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
OSS ossClient = OSSClientBuilder.create()
.endpoint(endpoint)
.credentialsProvider(credentialsProvider)
.clientConfiguration(clientBuilderConfiguration)
.region(region)
.build();
try {
// Buat objek PutObjectRequest.
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, new File(filePath));
// Kode contoh berikut memberikan contoh tentang cara menentukan kelas penyimpanan dan ACL objek saat Anda mengunggah objek:
// ObjectMetadata metadata = new ObjectMetadata();
// metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString());
// metadata.setObjectAcl(CannedAccessControlList.Private);
// putObjectRequest.setMetadata(metadata);
// Unggah file lokal.
PutObjectResult result = ossClient.putObject(putObjectRequest);
} catch (OSSException oe) {
System.out.println("Tangkap OSSException, yang berarti permintaan Anda sampai ke OSS, "
+ "tetapi ditolak dengan respons kesalahan karena alasan tertentu.");
System.out.println("Pesan Kesalahan:" + oe.getErrorMessage());
System.out.println("Kode Kesalahan:" + oe.getErrorCode());
System.out.println("ID Permintaan:" + oe.getRequestId());
System.out.println("ID Host:" + oe.getHostId());
} catch (ClientException ce) {
System.out.println("Tangkap ClientException, yang berarti klien mengalami "
+ "masalah internal serius saat mencoba berkomunikasi dengan OSS, "
+ "seperti tidak dapat mengakses jaringan.");
System.out.println("Pesan Kesalahan:" + ce.getMessage());
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
}
}<?php
if (is_file(__DIR__ . '/../autoload.php')) {
require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\OssClient;
use OSS\Core\OssException;
use OSS\Model\StyleConfig;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
$accessKeyId = getenv("OSS_ACCESS_KEY_ID");
$accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET");
// Tentukan endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Tentukan nama bucket.
$bucket= "examplebucket";
try{
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$result = $ossClient->getObject($bucket, "demo.txt");
} catch(OssException $e) {
printf($e->getMessage() . "\n");
printf($e->getRequestId() . "\n");
}const OSS = require('ali-oss')
const path=require("path")
const client = new OSS({
// Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), atur wilayah ke oss-cn-hangzhou.
region: 'yourregion',
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan Anda telah mengonfigurasi variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Tentukan nama bucket.
bucket: 'examplebucket',
});
// Tambahkan header permintaan kustom.
const headers = {
// Tentukan kelas penyimpanan objek.
'x-oss-storage-class': 'Standard',
// Tentukan daftar kontrol akses (ACL) objek.
'x-oss-object-acl': 'private',
// Saat Anda mengakses objek menggunakan URL objek, tentukan bahwa objek diunduh sebagai lampiran. Dalam contoh ini, nama objek yang diunduh adalah example.jpg.
'Content-Disposition': 'attachment; filename="example.txt"',
// Tentukan tag untuk objek. Anda dapat menentukan beberapa tag untuk objek pada saat yang sama.
'x-oss-tagging': 'Tag1=1&Tag2=2',
// Tentukan apakah operasi PutObject menimpa objek dengan nama yang sama. Dalam contoh ini, parameter x-oss-forbid-overwrite disetel ke true, yang menentukan bahwa objek yang ada dengan nama yang sama tidak dapat ditimpa oleh objek yang diunggah.
'x-oss-forbid-overwrite': 'true',
};
async function put () {
try {
// Tentukan jalur penuh objek dan file lokal. Jangan sertakan nama bucket dalam jalur penuh objek.
// Jika jalur file lokal tidak ditentukan, file lokal akan diunggah dari jalur proyek tempat program contoh ini berada.
const result = await client.put('exampleobject.txt', path.normalize('D:\\localpath\\examplefile.txt')
// Tentukan header kustom.
,{headers}
);
console.log(result);
} catch (e) {
console.log(e);
}
}
put();# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan Anda telah mengonfigurasi variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# Tentukan endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tentukan ID wilayah yang sesuai dengan endpoint. Contoh: cn-hangzhou. Parameter ini diperlukan jika Anda menggunakan algoritma tanda tangan V4.
region = "cn-hangzhou"
# Tentukan nama bucket.
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)
try:
# Tentukan nama objek yang diunduh. Contoh: exampleobject.txt.
stream = bucket.get_object('exampleobject.txt')
except oss2.exceptions.NoSuchKey as e:
print('status={0}, request_id={1}'.format(e.status, e.request_id)) package main
import (
"fmt"
"net/http"
"os"
"strings"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
// Fungsi untuk penanganan kesalahan.
func HandleError(err error) {
fmt.Println("Kesalahan:", err)
os.Exit(-1)
}
func main() {
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
provider, err := oss.NewEnvironmentVariableCredentialsProvider()
if err != nil {
fmt.Println("Kesalahan:", err)
os.Exit(-1)
}
// Buat instance OSSClient.
// Tentukan endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com. Tentukan endpoint sebenarnya Anda.
// Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Menggunakan kredensial ini untuk melakukan operasi di OSS merupakan operasi berisiko tinggi. Kami merekomendasikan Anda menggunakan pengguna RAM untuk memanggil operasi API atau melakukan operasi rutin O&M. Untuk membuat pengguna RAM, masuk ke konsol RAM.
client, err := oss.New("https://oss-cn-hangzhou.aliyuncs.com", "", "", oss.SetCredentialsProvider(&provider))
if err != nil {
HandleError(err)
}
// Tentukan nama bucket. Contoh: examplebucket.
bucketName := "examplebucket"
// Tentukan nama objek. Contoh: exampleobject.txt.
objectName := "exampleobject.txt"
bucket, err := client.Bucket(bucketName)
if err != nil {
HandleError(err)
}
var responseHeader http.Header
// Unggah string.
err = bucket.PutObject(objectName, strings.NewReader("Hello OSS"), oss.GetResponseHeader(&responseHeader))
if err != nil {
if _, ok := err.(oss.ServiceError); ok {
// err bertipe oss.ServiceError.
fmt.Println("Pesan Kesalahan:", err.(oss.ServiceError).Message)
fmt.Println("Kode Kesalahan:", err.(oss.ServiceError).Code)
fmt.Println("ID Permintaan:", err.(oss.ServiceError).RequestID)
fmt.Println("ID Host:", err.(oss.ServiceError).HostID)
} else {
// err bukan bertipe oss.ServiceError.
fmt.Println("Kesalahan:", err)
os.Exit(-1)
}
}
requestId := oss.GetRequestId(responseHeader)
fmt.Println("ID Permintaan:", requestId)
}
Memperoleh ID Permintaan dengan Menggunakan Alat Pengembang Browser Jika Anda Mengakses Objek Langsung dari Browser
Berikut adalah langkah-langkah untuk memperoleh ID permintaan jika Anda mengakses objek OSS langsung dari Google Chrome di Windows:
Buka browser Anda dan tekan
F12.Di halaman alat pengembang, klik Network.
Klik tab Name, lalu pilih objek yang diinginkan.
Klik tab Headers. Di bagian Response Headers, peroleh ID permintaan dari x-oss-request-id.

Memperoleh ID Permintaan dari Log Waktu Nyata
Untuk memperoleh ID permintaan, Anda dapat menanyakan log waktu nyata yang mencatat operasi pada bucket dan objek di konsol OSS.
Masuk ke konsol OSS.
Di panel navigasi kiri, klik Buckets. Di halaman Buckets, klik nama bucket.
Pilih .
Tekan
Ctrl+Fdan masukkan request_id untuk mencari ID permintaan.
Memperoleh ID Permintaan dengan Menggunakan ossutil
Jika Anda menjalankan perintah di ossutil, Anda dapat memperoleh ID permintaan dari log yang dikembalikan.

Memperoleh ID Permintaan dengan Menggunakan CLI di Linux
Berikut adalah langkah-langkah untuk memperoleh ID permintaan menggunakan CLI di Linux:
Dapatkan URL objek.
Masuk ke konsol OSS.
Di panel navigasi kiri, klik Buckets. Di halaman Buckets, temukan dan klik bucket yang diinginkan.
Di panel navigasi kiri, pilih .
Temukan objek yang diinginkan dan klik View Details di kolom Aksi. Lalu, klik Copy Object URL.
Jalankan perintah berikut untuk mendapatkan ID permintaan di header respons HTTP:
curl -voa "[$URL]"Atur [$URL] ke URL yang Anda salin.
Gambar berikut menunjukkan hasil yang dikembalikan.
Memperoleh ID Permintaan dengan Menggunakan Alat Pengembang Saat Anda Mengunggah Objek di Konsol OSS
Berikut adalah langkah-langkah untuk menggunakan alat pengembang Google Chrome guna memperoleh ID permintaan saat Anda mengunggah objek:
Buka alat pengembang browser Anda.
Buka browser Anda dan tekan
F12.Di halaman alat pengembang, klik Network.
Unggah objek.
Masuk ke konsol OSS. Di panel navigasi kiri, klik Buckets. Di halaman Buckets, klik nama bucket tempat Anda ingin mengunggah objek.
Di pohon navigasi kiri, pilih Object Management > Objects.
Unggah objek. Untuk informasi lebih lanjut, lihat Unggah objek.
Gunakan alat pengembang browser untuk memperoleh ID permintaan unggah.
Di halaman alat pengembang browser Anda, klik tab Name dan pilih objek yang Anda unggah di Langkah 2.
Klik tab Headers. Di bagian Response Headers, peroleh ID permintaan dari x-oss-request-id.
