Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Men-deploy fungsi Lambda Karat dengan arsip file .zip
catatan
Klien runtime Rust
Halaman ini menjelaskan cara mengkompilasi fungsi Rust Anda, dan kemudian menerapkan biner yang dikompilasi untuk AWS Lambda menggunakan Cargo Lambda
Bagian-bagian
Prasyarat
Membangun fungsi Rust pada macOS, Windows, atau Linux
-
Instal Cargo Lambda, subperintah Cargo, yang mengompilasi fungsi Rust untuk Lambda pada macOS, Windows, dan Linux.
Untuk menginstal Cargo Lambda pada sistem apa pun yang telah menginstal Python 3, gunakan pip:
pip3 install cargo-lambda
Untuk menginstal Cargo Lambda di macOS atau Linux, gunakan Homebrew:
brew tap cargo-lambda/cargo-lambda brew install cargo-lambda
Untuk menginstal Cargo Lambda di Windows, gunakan Scoop:
scoop bucket add cargo-lambda scoop install cargo-lambda/cargo-lambda
Untuk opsi lain, lihat Instalasi
di dokumentasi Cargo Lambda. -
Buat struktur paket. Perintah ini membuat beberapa kode fungsi dasar di
src/main.rs
. Anda dapat menggunakan kode ini untuk menguji atau menggantinya dengan kode Anda sendiri.cargo lambda new
my-function
-
Di dalam direktori root paket, jalankan subperintah build
untuk mengkompilasi kode dalam fungsi Anda. cargo lambda build --release
(Opsional) Jika Anda ingin menggunakan AWS Graviton2 di Lambda, tambahkan
--arm64
bendera untuk mengkompilasi kode Anda. ARM CPUscargo lambda build --release --arm64
-
Sebelum menerapkan fungsi Rust Anda, konfigurasikan AWS kredensil pada mesin Anda.
aws configure
Menerapkan biner fungsi Rust dengan Cargo Lambda
Gunakan subperintah deploy
cargo lambda deploy
my-function
Menerapkan biner fungsi Rust Anda dengan AWS CLI
Anda juga dapat menerapkan biner Anda dengan. AWS CLI
-
Gunakan subperintah build
untuk membangun paket deployment .zip. cargo lambda build --release --output-format zip
-
Untuk menyebarkan paket.zip ke Lambda, jalankan perintah create-function.
-
Untuk
--runtime
, tentukanprovided.al2023
. Ini adalah runtime khusus OS. Runtime khusus OS digunakan untuk menyebarkan binari yang dikompilasi dan runtime khusus ke Lambda. -
Untuk
--role
, tentukan ARN peran eksekusi.
aws lambda create-function \ --function-name
my-function
\ --runtimeprovided.al2023
\ --rolearn:aws:iam::111122223333:role/lambda-role
\ --handler rust.handler \ --zip-file fileb://target/lambda/my-function/bootstrap.zip -
Menerapkan biner fungsi Rust Anda dengan AWS SAM CLI
Anda juga dapat menerapkan biner Anda dengan. AWS SAM CLI
-
Buat AWS SAM template dengan definisi sumber daya dan properti. Untuk
Runtime
, tentukanprovided.al2023
. Ini adalah runtime khusus OS. Runtime khusus OS digunakan untuk menyebarkan binari yang dikompilasi dan runtime khusus ke Lambda.Untuk informasi selengkapnya tentang penerapan fungsi Lambda AWS SAM menggunakan, AWSlihat: :Serverless: :Function dalam Panduan Pengembang.AWS Serverless Application Model
contoh SAMdefinisi sumber daya dan properti untuk biner Rust
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: SAM template for Rust binaries Resources: RustFunction: Type: AWS::Serverless::Function Properties: CodeUri: target/lambda/my-function/ Handler: rust.handler Runtime: provided.al2023 Outputs: RustFunction: Description: "Lambda Function ARN" Value: !GetAtt RustFunction.Arn
-
Gunakan subperintah build
untuk mengkompilasi fungsi. cargo lambda build --release
-
Gunakan perintah sam deploy untuk menyebarkan fungsi ke Lambda.
sam deploy --guided
Untuk informasi selengkapnya tentang membangun fungsi Rust dengan AWS SAM CLI, lihat Membangun fungsi Lambda Karat dengan Cargo Lambda di Panduan Pengembang.AWS Serverless Application Model
Memanggil fungsi Rust Anda dengan Cargo Lambda
Gunakan subperintah pemanggilan
cargo lambda invoke --remote --data-ascii '{"command": "Hello world"}'
my-function
Memanggil fungsi Rust Anda dengan AWS CLI
Anda juga dapat menggunakan AWS CLI untuk menjalankan fungsi.
aws lambda invoke --function-name
my-function
--cli-binary-format raw-in-base64-out --payload '{"command": "Hello world"}' /tmp/out.txt
cli-binary-formatOpsi ini diperlukan jika Anda menggunakan AWS CLI versi 2. Untuk menjadikan ini pengaturan default, jalankanaws configure set cli-binary-format raw-in-base64-out
. Untuk informasi selengkapnya, lihat opsi baris perintah global yang AWS CLI didukung di Panduan AWS Command Line Interface Pengguna untuk Versi 2.