Dasar-dasar - AWS SDK for Rust

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

Dasar-dasar

Prasyarat

Untuk menggunakan AWS SDK for Rust, Anda harus menginstal Rust and Cargo.

Alat opsional berikut dapat diinstal di IDE Anda untuk membantu penyelesaian kode dan pemecahan masalah.

Dasar-dasar karat

Berikut ini adalah beberapa dasar-dasar bahasa pemrograman Rust yang akan membantu untuk diketahui. Semua referensi untuk informasi lebih lanjut berasal dari The Rust Programming Language.

  • Cargo.tomladalah file konfigurasi proyek Rust standar, berisi dependensi dan beberapa metadata tentang proyek. File sumber Rust memiliki ekstensi .rs file. Lihat Halo, Kargo! .

    • Cargo.tomlDapat disesuaikan dengan profil, lihat Menyesuaikan Build dengan Profil Rilis. Profil ini sama sekali tidak terkait dan independen dari AWS penggunaan profil dalam AWS config file bersama.

    • Cara umum untuk menambahkan dependensi pustaka ke proyek Anda dan file ini adalah dengan menggunakan. cargo add Lihat cargo-add.

  • Karat memiliki struktur fungsi dasar seperti berikut ini. letKata kunci mendeklarasikan variabel dan mungkin dipasangkan dengan penugasan (=). Jika Anda tidak menentukan tipe setelahnyalet, maka kompiler akan menyimpulkan satu. Lihat Variabel dan Mutabilitas.

    fn main() { let w = "world"; println!("Hello {}!", w); }
  • Untuk mendeklarasikan variabel x dengan tipe eksplisitT, Rust menggunakan sintaks. x: T Lihat Tipe Data.

  • struct X {}mendefinisikan tipe X baru. Metode diimplementasikan pada tipe X struct khusus. Metode untuk tipe X dideklarasikan dengan blok implementasi diawali dengan kata kunciimpl. Di dalam blok implementasi, self mengacu pada instance struct tempat metode dipanggil. Lihat Kata Kunci impl dan Sintaks Metode.

  • Jika tanda seru (“!”) mengikuti apa yang tampaknya menjadi definisi fungsi atau panggilan fungsi, maka kode mendefinisikan atau memanggil makro. Lihat Makro.

  • Di Rust, kesalahan yang tidak dapat dipulihkan diwakili oleh makro. panic! Ketika sebuah program bertemu dengan program panic! itu akan berhenti berjalan, mencetak pesan kegagalan, melepas lelah, membersihkan tumpukan, dan berhenti. Lihat Kesalahan yang Tidak Dapat Dipulihkan dengan. panic!

  • Rust tidak mendukung pewarisan fungsionalitas dari kelas dasar seperti bahasa pemrograman lainnya; traits adalah bagaimana Rust menyediakan metode yang berlebihan. Sifat mungkin dianggap secara konseptual mirip dengan antarmuka. Namun, sifat dan antarmuka sejati memiliki perbedaan dan sering digunakan secara berbeda dalam proses desain. Lihat Sifat: Mendefinisikan Perilaku Bersama.

  • Rust sangat eksplisit tentang memori. Smart pointer “adalah struktur data yang bertindak seperti pointer tetapi juga memiliki metadata dan kemampuan tambahan”. Lihat Smart Pointer.

    • Jenisnya Cow adalah penunjuk clone-on-write pintar yang membantu mentransfer kepemilikan memori ke penelepon bila diperlukan. Lihat Enum std::borrow::Cow.

    • Tipenya Arc adalah penunjuk pintar Terhitung Referensi Atom yang menghitung instance yang dialokasikan. Lihat Struct std::sync::Arc.

  • SDK untuk Rust sering menggunakan pola pembangun untuk membuat tipe kompleks.

AWS SDK for Rust dasar-dasar peti

  • Pustaka SDK untuk Rust dipisahkan menjadi peti pustaka yang berbeda oleh masing-masing. Layanan AWS Peti ini tersedia di https://docs.rs/.

  • Layanan AWS peti mengikuti konvensi penamaanaws-sdk-[servicename], seperti aws-sdk-s3 danaws-sdk-dynamodb.

  • Peti inti utama untuk fungsionalitas SDK untuk Rust adalah. aws-config Ini termasuk dalam sebagian besar proyek karena menyediakan fungsionalitas untuk membaca konfigurasi dari lingkungan.

    • Jangan bingung ini dengan Layanan AWS yang disebut AWS Config. Karena itu adalah layanan, ia mengikuti konvensi standar dan disebutaws-sdk-config.

Konfigurasi proyek untuk bekerja dengan Layanan AWS

  • Anda perlu menambahkan peti ke proyek Anda untuk setiap Layanan AWS yang Anda ingin aplikasi Anda gunakan.

  • Cara yang disarankan untuk menambahkan peti adalah menggunakan baris perintah di direktori proyek Anda dengan menjalankancargo add [crateName], seperticargo add aws-sdk-s3.

    • Ini akan menambahkan baris ke proyek Anda di Cargo.toml bawah[dependencies].

    • Secara default, ini akan menambahkan versi terbaru peti ke proyek Anda.

  • Dalam file sumber Anda, gunakan use pernyataan untuk membawa item dari peti mereka ke dalam ruang lingkup. Lihat Menggunakan Paket Eksternal di situs web Bahasa Pemrograman Rust.

    • Nama peti sering diberi tanda hubung, tetapi tanda hubung diubah menjadi garis bawah saat benar-benar menggunakan peti. Misalnya, aws-config peti digunakan dalam use pernyataan kode sebagai:use aws_config.

  • Konfigurasi adalah topik yang kompleks. Konfigurasi dapat terjadi secara langsung dalam kode, atau ditentukan secara eksternal dalam variabel lingkungan atau file konfigurasi. Untuk informasi selengkapnya, lihat Opsi konfigurasi.

    • Saat SDK memuat konfigurasi Anda, nilai yang tidak valid dicatat alih-alih menghentikan eksekusi karena sebagian besar pengaturan memiliki default yang wajar. Untuk mempelajari cara mengaktifkan logging, lihatAktifkan pencatatan AWS SDK for Rust kode.

    • Sebagian besar variabel lingkungan dan pengaturan file konfigurasi dimuat sekali ketika program Anda dimulai. Setiap pembaruan pada nilai tidak akan terlihat sampai Anda memulai ulang program Anda.

Runtime Tokio

  • Tokio adalah runtime asinkron untuk SDK untuk bahasa pemrograman Rust, ia menjalankan tugas. async Lihat tokio.rs dan docs.rs/tokio.

  • SDK untuk Rust memerlukan runtime async. Kami menyarankan Anda menambahkan peti berikut ke proyek Anda:

    $ cargo add tokio --features=full
  • tokio::mainAtribut makro menciptakan titik masuk utama async ke program Anda. Untuk menggunakan makro ini, tambahkan ke baris sebelum main metode Anda, seperti yang ditunjukkan pada berikut ini:

    #[tokio::main] async fn main() -> Result<(), Error> {