Membangun fungsi Lambda dengan Ruby - AWS Lambda

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

Membangun fungsi Lambda dengan Ruby

Anda dapat menjalankan kode Ruby di AWS Lambda. Lambda menyediakan runtime untuk Ruby yang menjalankan kode Anda untuk memproses peristiwa. Kode Anda berjalan di lingkungan yang menyertakan AWS SDK for Ruby, dengan kredensi dari peran AWS Identity and Access Management (IAM) yang Anda kelola. Untuk mempelajari lebih lanjut tentang versi SDK yang disertakan dengan runtime Ruby, lihat. Versi SDK yang disertakan Runtime

Lambda mendukung runtime Ruby berikut.

Ruby
Nama Pengidentifikasi Sistem operasi Tanggal pengusangan Buat fungsi blok Pembaruan fungsi blok

Ruby 3.3

ruby3.3

Amazon Linux 2023

Ruby 3.2

ruby3.2

Amazon Linux 2

Untuk membuat fungsi Ruby
  1. Buka Konsol Lambda.

  2. Pilih Buat fungsi.

  3. Konfigurasikan pengaturan berikut:

    • Nama fungsi: Masukkan nama untuk fungsi tersebut.

    • Runtime: Pilih Ruby 3.2.

  4. Pilih Buat fungsi.

  5. Untuk mengonfigurasi peristiwa uji, pilih Uji.

  6. Untuk Nama peristiwa, masukkan test.

  7. Pilih Simpan perubahan.

  8. Untuk mengaktifkan fungsi, pilih Uji.

Konsol membuat fungsi Lambda dengan satu file sumber bernama lambda_function.rb. Anda dapat mengedit file ini dan menambahkan lebih banyak file di editor kode bawaan. Untuk menyimpan perubahan Anda, pilih Simpan. Selanjutnya, untuk menjalankan kode, pilih Uji.

catatan

Konsol Lambda digunakan AWS Cloud9 untuk menyediakan lingkungan pengembangan terintegrasi di browser. Anda juga dapat menggunakan AWS Cloud9 untuk mengembangkan fungsi Lambda di lingkungan Anda sendiri. Untuk informasi selengkapnya, lihat Bekerja dengan AWS Lambda fungsi menggunakan AWS Toolkit dalam panduan AWS Cloud9 pengguna.

File lambda_function.rb mengekspor fungsi bernama lambda_handler yang menerima objek peristiwa dan objek konteks. Ini adalah fungsi handler yang dipanggil Lambda saat fungsi tersebut dipanggil. Fungsi waktu habis Ruby mendapatkan peristiwa invokasi dari Lambda dan meneruskannya ke handler. Dalam konfigurasi fungsi, nilai handler adalah lambda_function.lambda_handler.

Saat Anda menyimpan kode fungsi, konsol Lambda membuat paket penyebaran arsip file.zip. Saat Anda mengembangkan kode fungsi di luar konsol (menggunakan IDE), Anda perlu membuat paket penerapan untuk mengunggah kode Anda ke fungsi Lambda.

catatan

Untuk memulai pengembangan aplikasi di lingkungan lokal Anda, gunakan salah satu contoh aplikasi yang tersedia di GitHub repositori panduan ini.

Aplikasi sampel Lambda di Ruby
  • blank-ruby — Fungsi Ruby yang menunjukkan penggunaan logging, variabel lingkungan, AWS X-Ray tracing, layer, pengujian unit, dan SDK. AWS

  • Sampel Kode Ruby untuk AWS Lambda — Contoh kode yang ditulis dalam Ruby yang menunjukkan cara berinteraksi dengan Lambda. AWS

Runtime fungsi meneruskan objek konteks ke handler, selain peristiwa invokasi. Objek konteks berisi informasi tambahan tentang lingkungan invokasi, fungsi, dan eksekusi. Informasi selengkapnya tersedia dari variabel lingkungan.

Fungsi Lambda Anda dilengkapi dengan grup CloudWatch log Log. Fungsi runtime mengirimkan detail tentang setiap pemanggilan ke Log. CloudWatch Detail tersebut menyampaikan log yang dihasilkan fungsi Anda selama invokasi. Jika fungsi mengembalikan kesalahan, Lambda memformat kesalahan dan mengembalikannya ke pemanggil.

Versi SDK yang disertakan Runtime

Versi AWS SDK yang disertakan dalam runtime Ruby bergantung pada versi runtime dan versi Anda. Wilayah AWS AWS SDK for Ruby dirancang untuk modular dan dipisahkan oleh. Layanan AWS Untuk menemukan nomor versi permata layanan tertentu yang disertakan dalam runtime yang Anda gunakan, buat fungsi Lambda dengan kode dalam format berikut. Ganti aws-sdk-s3 dan Aws::S3 dengan nama permata layanan yang digunakan kode Anda.

require 'aws-sdk-s3' def lambda_handler(event:, context:) puts "Service gem version: #{Aws::S3::GEM_VERSION}" puts "Core version: #{Aws::CORE_GEM_VERSION}" end

Mengaktifkan Ruby JIT Lainnya (YJIT)

Runtime Ruby 3.2 mendukung YJIT, compiler Ruby JIT yang ringan dan minimalis. YJIT memberikan kinerja yang jauh lebih tinggi, tetapi juga menggunakan lebih banyak memori daripada penerjemah Ruby. YJIT direkomendasikan untuk beban kerja Ruby on Rails.

YJIT tidak diaktifkan secara default. Untuk mengaktifkan YJIT untuk fungsi Ruby 3.2, atur variabel RUBY_YJIT_ENABLE lingkungan ke. 1 Untuk mengonfirmasi bahwa YJIT diaktifkan, cetak hasil metode. RubyVM::YJIT.enabled?

contoh — Konfirmasikan bahwa YJIT diaktifkan
puts(RubyVM::YJIT.enabled?()) # => true