Mendapatkan permintaan Amazon S3 untuk IDs AWS Support - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mendapatkan permintaan Amazon S3 untuk IDs AWS Support

Setiap kali Anda menghubungi AWS Support karena mengalami kesalahan atau perilaku tak terduga di Amazon S3, Anda harus memberikan permintaan yang IDs terkait dengan tindakan yang gagal. AWS Support menggunakan permintaan ini IDs untuk membantu menyelesaikan masalah yang Anda alami.

Permintaan IDs datang berpasangan, dikembalikan dalam setiap respons yang diproses Amazon S3 (bahkan yang salah), dan dapat diakses melalui log verbose. Ada sejumlah metode umum untuk mendapatkan permintaan AndaIDs, termasuk log akses S3 dan AWS CloudTrail peristiwa atau peristiwa data.

Setelah Anda memulihkan log ini, salin dan pertahankan kedua nilai tersebut, karena Anda akan membutuhkannya saat menghubungi AWS Support. Untuk informasi tentang menghubungi AWS Support, lihat Kontak AWS atau AWS Support Dokumentasi.

Menggunakan HTTP untuk mendapatkan permintaan IDs

Anda dapat memperoleh permintaan AndaIDs, x-amz-request-id dan x-amz-id-2 dengan mencatat bit HTTP permintaan sebelum mencapai aplikasi target. Ada berbagai alat pihak ketiga yang dapat digunakan untuk memulihkan log verbose untuk HTTP permintaan. Pilih salah satu yang Anda percayai, lalu jalankan alat untuk mendengarkan di port tempat lalu lintas Amazon S3 Anda berjalan, saat Anda mengirimkan permintaan Amazon HTTP S3 lainnya.

Untuk HTTP permintaan, pasangan permintaan IDs akan terlihat seperti berikut:

x-amz-request-id: 79104EXAMPLEB723 x-amz-id-2: IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km
catatan

HTTPSpermintaan dienkripsi dan disembunyikan di sebagian besar tangkapan paket.

Menggunakan browser web untuk mendapatkan permintaan IDs

Sebagian besar peramban web memiliki alat pengembang yang dapat Anda gunakan untuk melihat header permintaan.

Untuk permintaan berbasis browser web yang mengembalikan kesalahan, pasangan permintaan IDs akan terlihat seperti contoh berikut.

<Error><Code>AccessDenied</Code><Message>Access Denied</Message> <RequestId>79104EXAMPLEB723</RequestId><HostId>IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km</HostId></Error>

Untuk mendapatkan pasangan ID permintaan dari permintaan yang berhasil, gunakan alat pengembang browser Anda untuk melihat header HTTP respons. Untuk informasi tentang alat developer untuk browser tertentu, lihat Pemecahan Masalah Amazon S3 - Cara memulihkan permintaan S3 Anda. IDs AWS re:Post

Menggunakan AWS SDKs untuk mendapatkan permintaan IDs

Bagian berikut mencakup informasi untuk mengonfigurasi logging dengan menggunakan file AWS SDK. Meskipun Anda dapat mengaktifkan pencatatan verbose di setiap permintaan dan respons, kami tidak menyarankan untuk mengaktifkan pencatatan di sistem produksi, karena permintaan atau respons yang besar dapat memperlambat aplikasi secara signifikan.

Untuk AWS SDK permintaan, pasangan permintaan IDs akan terlihat seperti contoh berikut.

Status Code: 403, AWS Service: Amazon S3, AWS Request ID: 79104EXAMPLEB723 AWS Error Code: AccessDenied AWS Error Message: Access Denied S3 Extended Request ID: IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km

Menggunakan SDK for Go untuk mendapatkan permintaan IDs

Anda dapat mengonfigurasi logging dengan menggunakan SDK Go. Untuk informasi selengkapnya, lihat Metadata respons di Panduan Pengembang SDK Go V2.

Menggunakan SDK for PHP untuk mendapatkan permintaan IDs

Anda dapat mengonfigurasi logging dengan menggunakanPHP. Untuk informasi lebih lanjut, lihat Bagaimana cara melihat data apa yang dikirim melalui kabel? di Panduan Pengembang AWS SDK for PHP .

Menggunakan SDK for Java untuk mendapatkan permintaan IDs

Anda dapat mengaktifkan pencatatan untuk permintaan atau respons tertentu untuk menangkap dan mengembalikan hanya header yang relevan. Untuk melakukannya, impor kelas com.amazonaws.services.s3.S3ResponseMetadata. Setelah itu, Anda dapat menyimpan permintaan dalam variabel sebelum melakukan permintaan aktual. Untuk mendapatkan permintaan atau respons yang dicatat, panggil getCachedResponseMetadata(AmazonWebServiceRequest request).getRequestID().

PutObjectRequest req = new PutObjectRequest(bucketName, key, createSampleFile()); s3.putObject(req); S3ResponseMetadata md = s3.getCachedResponseMetadata(req); System.out.println("Host ID: " + md.getHostId() + " RequestID: " + md.getRequestId());

Atau, Anda dapat menggunakan pencatatan log verbose untuk setiap permintaan dan respons Java. Untuk informasi selengkapnya, lihat Verbose Wire Logging di Panduan Pengembang AWS SDK for Java .

Menggunakan AWS SDK for .NET untuk mendapatkan permintaan IDs

Anda dapat mengonfigurasi logging AWS SDK for .NET dengan menggunakan alat System.Diagnostics logging bawaan. Untuk informasi selengkapnya, lihat Logging with the AWS SDK for. NETAWS Posting Blog Pengembang.

catatan

Secara default, log yang dikembalikan hanya berisi informasi kesalahan. Untuk mendapatkan permintaanIDs, file konfigurasi harus memiliki AWSLogMetrics (dan opsional,AWSResponseLogging) ditambahkan.

Menggunakan SDK for Python (Boto3) untuk mendapatkan permintaan IDs

Dengan itu AWS SDK for Python (Boto3), Anda dapat mencatat tanggapan tertentu. Anda dapat menggunakan fitur ini agar hanya menangkap header yang relevan. Kode berikut menunjukkan cara mencatat bagian dari respons terhadap file:

import logging import boto3 logging.basicConfig(filename='logfile.txt', level=logging.INFO) logger = logging.getLogger(__name__) s3 = boto3.resource('s3') response = s3.Bucket(bucket_name).Object(object_key).put() logger.info("HTTPStatusCode: %s", response['ResponseMetadata']['HTTPStatusCode']) logger.info("RequestId: %s", response['ResponseMetadata']['RequestId']) logger.info("HostId: %s", response['ResponseMetadata']['HostId']) logger.info("Date: %s", response['ResponseMetadata']['HTTPHeaders']['date'])

Anda juga dapat menangkap pengecualian dan mencatat informasi yang relevan ketika pengecualian diajukan. Untuk informasi selengkapnya, lihat Membedakan informasi berguna dari respons kesalahan di Referensi for AWS SDKPython (Boto). API

Selain itu, Anda dapat mengonfigurasi Boto3 agar mengeluarkan log debug verbose menggunakan kode berikut:

import boto3 boto3.set_stream_logger('', logging.DEBUG)

Untuk informasi selengkapnya, lihat set_stream_loggerAWSSDKReferensi untuk Python (Boto). API

Menggunakan SDK for Ruby untuk mendapatkan permintaan IDs

Anda bisa mendapatkan permintaan Anda IDs menggunakan SDK untuk Ruby Versi 1, 2, atau 3.

  • Menggunakan SDK untuk Ruby - Versi 1 - Anda dapat mengaktifkan HTTP wire logging secara global dengan baris kode berikut.

    s3 = AWS::S3.new(:logger => Logger.new($stdout), :http_wire_trace => true)
  • Menggunakan SDK untuk Ruby - Versi 2 atau Versi 3 - Anda dapat mengaktifkan HTTP wire logging secara global dengan baris kode berikut.

    s3 = Aws::S3::Client.new(:logger => Logger.new($stdout), :http_wire_trace => true)

Untuk tips mendapatkan informasi kawat dari AWS klien, lihat Tip debugging: Mendapatkan informasi jejak kawat dari klien.

Menggunakan AWS CLI untuk mendapatkan permintaan IDs

Untuk mendapatkan permintaan Anda IDs saat menggunakan AWS Command Line Interface (AWS CLI), tambahkan --debug ke perintah Anda.

Menggunakan Windows PowerShell untuk mendapatkan permintaan IDs

Untuk informasi tentang memulihkan log dengan Windows PowerShell, lihat Response Logging in AWS Tools for Windows PowerShell. NETPosting blog pengembangan.

Menggunakan peristiwa AWS CloudTrail data untuk mendapatkan permintaan IDs

Bucket Amazon S3 yang dikonfigurasi dengan peristiwa CloudTrail data untuk mencatat API operasi tingkat objek S3 memberikan informasi terperinci tentang tindakan yang diambil oleh pengguna, peran, atau layanan di AWS Amazon S3. Anda dapat mengidentifikasi permintaan S3 IDs dengan menanyakan CloudTrail acara dengan Athena.

Menggunakan log akses server S3 untuk mendapatkan permintaan IDs

Bucket Amazon S3 yang dikonfigurasi untuk pencatatan log akses server Amazon S3 memberikan catatan yang detail untuk setiap permintaan yang dibuat ke bucket. Anda dapat mengidentifikasi permintaan S3 IDs dengan menanyakan log akses server menggunakan Athena.