Buat klien layanan - AWS SDK for Rust

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

Buat klien layanan

Untuk membuat permintaan ke Layanan AWS, pertama-tama Anda membuat instance klien untuk layanan itu. Anda dapat mengonfigurasi pengaturan umum untuk klien layanan seperti batas waktu, klien HTTP, dan konfigurasi coba lagi.

Setiap klien layanan membutuhkan Wilayah AWS dan penyedia kredensi. SDK menggunakan nilai-nilai ini untuk mengirim permintaan ke Wilayah yang benar untuk sumber daya Anda dan untuk menandatangani permintaan dengan kredenal yang benar. Anda dapat menentukan nilai-nilai ini secara terprogram dalam kode atau membuatnya dimuat secara otomatis dari lingkungan.

catatan

Pelanggan layanan bisa mahal untuk dibangun dan umumnya dimaksudkan untuk dibagikan. Untuk memfasilitasi ini, semua Client struct menerapkanClone.

SDK memiliki serangkaian tempat (atau sumber) yang diperiksa untuk menemukan nilai untuk pengaturan konfigurasi.

  1. Pengaturan eksplisit apa pun yang disetel dalam kode atau pada klien layanan itu sendiri lebih diutamakan daripada yang lain.

  2. Variabel-variabel lingkungan

    • Untuk detail tentang pengaturan variabel lingkungan, lihat variabel lingkungan di Panduan Referensi Alat AWS SDKs dan Alat.

  3. Berbagi config dan credentials file

  4. Setiap nilai default yang disediakan oleh kode sumber SDK itu sendiri digunakan terakhir.

    • Beberapa properti, seperti Region, tidak memiliki default. Anda harus menentukannya secara eksplisit dalam kode, dalam pengaturan lingkungan, atau dalam file bersamaconfig. Jika SDK tidak dapat menyelesaikan konfigurasi yang diperlukan, permintaan API dapat gagal saat runtime.

Sebagian besar pengaturan variabel lingkungan dan pengaturan credentials file config dan dibagikan oleh beberapa AWS SDKs dan alat untuk perilaku yang konsisten. Untuk melihat semua pengaturan yang dapat diselesaikan SDK dari variabel lingkungan atau file konfigurasi, lihat referensi Pengaturan di Panduan Referensi Alat AWS SDKs dan Alat.

Konfigurasikan klien dari lingkungan

Untuk membuat klien dengan konfigurasi bersumber lingkungan, gunakan metode statis dari peti: aws-config

let config = aws_config::defaults(BehaviorVersion::latest()) .load() .await; let s3 = aws_sdk_s3::Client::new(&config);

Membuat klien dengan cara ini berguna saat berjalan di Amazon Elastic Compute Cloud AWS Lambda,, atau konteks lain di mana konfigurasi klien layanan tersedia langsung dari lingkungan. Ini memisahkan kode Anda dari lingkungan tempat ia berjalan dan membuatnya lebih mudah untuk menerapkan aplikasi Anda ke beberapa Wilayah AWS tanpa mengubah kode.

Anda dapat secara eksplisit mengganti properti tertentu. Konfigurasi eksplisit lebih diutamakan daripada konfigurasi yang diselesaikan dari lingkungan eksekusi. Contoh berikut memuat konfigurasi dari lingkungan, tetapi secara eksplisit mengesampingkan: Wilayah AWS

let config = aws_config::defaults(BehaviorVersion::latest()) .region("us-east-1") .load() .await; let s3 = aws_sdk_s3::Client::new(&config);
catatan

Tidak semua nilai konfigurasi bersumber oleh klien pada waktu pembuatan. Pengaturan terkait kredensil, seperti kunci akses sementara dan konfigurasi IAM Identity Center, diakses oleh lapisan penyedia kredensi ketika klien digunakan untuk membuat permintaan.

Kode yang BehaviorVersion::latest() ditampilkan dalam contoh sebelumnya menunjukkan versi SDK yang akan digunakan untuk default. BehaviorVersion::latest()sesuai untuk sebagian besar kasus. Untuk detailnya, lihat Versi perilaku.

Gunakan pola pembangun untuk pengaturan khusus layanan

Ada beberapa opsi yang hanya dapat dikonfigurasi pada jenis klien layanan tertentu. Namun, paling sering, Anda masih ingin memuat sebagian besar konfigurasi dari lingkungan, dan kemudian secara khusus menambahkan opsi tambahan. Pola pembangun adalah pola umum di dalam AWS SDK for Rust peti. Pertama-tama Anda memuat konfigurasi umum menggunakanaws_config::defaults, kemudian menggunakan from metode untuk memuat konfigurasi itu ke pembuat untuk layanan yang Anda kerjakan. Anda kemudian dapat mengatur nilai konfigurasi unik apa pun untuk layanan dan panggilan tersebutbuild. Terakhir, klien dibuat dari konfigurasi termodfikasi ini.

// Call a static method on aws-config that sources default config values. let config = aws_config::defaults(BehaviorVersion::latest()) .load() .await; // Use the Builder for S3 to create service-specific config from the default config. let s3_config = aws_sdk_s3::config::Builder::from(&config) .accelerate(true) // Set an S3-only configuration option .build(); // Create the client. let s3 = aws_sdk_s3::Client::from_conf(s3_config);

Salah satu cara untuk menemukan metode tambahan yang tersedia untuk jenis klien layanan tertentu adalah dengan menggunakan dokumentasi API, seperti untuk aws_sdk_s3::config::Builder.

Konfigurasi klien eksplisit tingkat lanjut

Untuk mengonfigurasi klien layanan dengan nilai tertentu alih-alih memuat konfigurasi dari lingkungan, Anda dapat menentukannya pada Config pembuat klien seperti yang ditunjukkan dalam berikut ini:

let conf = aws_sdk_s3::Config::builder() .region("us-east-1") .endpoint_resolver(my_endpoint_resolver) .build(); let s3 = aws_sdk_s3::Client::from_conf(conf);

Saat Anda membuat konfigurasi layanan denganaws_sdk_s3::Config::builder(), tidak ada konfigurasi default yang dimuat. Default hanya dimuat saat membuat konfigurasi berdasarkan. aws_config::defaults

Ada beberapa opsi yang hanya dapat dikonfigurasi pada jenis klien layanan tertentu. Contoh sebelumnya menunjukkan contoh ini dengan menggunakan endpoint_resolver fungsi pada klien Amazon S3.