

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

# Repositori sumber terbuka
<a name="runtimes-open-source"></a>

AWS Lambda menyediakan berbagai alat sumber terbuka, pustaka, dan komponen untuk membantu Anda membangun, menyesuaikan, dan mengoptimalkan aplikasi tanpa server Anda. Sumber daya ini termasuk klien antarmuka runtime, pustaka peristiwa, gambar basis kontainer, alat pengembangan, dan proyek sampel yang dikelola oleh AWS dan tersedia di GitHub. Dengan menggunakan repositori open source ini, Anda dapat memperluas kemampuan Lambda, membuat runtime khusus, memproses peristiwa dari berbagai AWS layanan, dan mendapatkan wawasan yang lebih dalam tentang kinerja fungsi Anda. Halaman ini memberikan ikhtisar proyek open source utama yang mendukung pengembangan Lambda.

## Klien Antarmuka Runtime
<a name="open-source-ric"></a>

Lambda Runtime Interface Clients (RICs) adalah pustaka open source yang mengimplementasikan [ Runtime API ](runtimes-api.md) dan mengelola interaksi antara kode fungsi Anda dan layanan Lambda. Klien ini menangani penerimaan peristiwa pemanggilan, meneruskan informasi konteks, dan melaporkan kesalahan.

Klien antarmuka runtime yang digunakan oleh runtime terkelola Lambda dan gambar basis kontainer diterbitkan sebagai sumber terbuka. Saat Anda membuat runtime khusus atau memperpanjang yang sudah ada, Anda dapat menggunakan pustaka sumber terbuka ini untuk menyederhanakan implementasi Anda. GitHub Repositori open source berikut berisi kode sumber untuk RIC Lambda:
+ [Node.js Klien Antarmuka Runtime ](https://github.com/aws/aws-lambda-nodejs-runtime-interface-client)
+ [Klien Antarmuka Runtime Python ](https://github.com/aws/aws-lambda-python-runtime-interface-client)
+ [Klien Antarmuka Runtime Java ](https://github.com/aws/aws-lambda-java-libs/tree/main/aws-lambda-java-runtime-interface-client)
+ [Klien Antarmuka Runtime Ruby ](https://github.com/aws/aws-lambda-ruby-runtime-interface-client)
+ [Klien Antarmuka Runtime .NET ](https://github.com/aws/aws-lambda-dotnet)
+ [Klien Antarmuka Runtime Rust ](https://github.com/aws/aws-lambda-rust-runtime)
+ [Klien Antarmuka Go Runtime ](https://github.com/aws/aws-lambda-go)
+ [Klien Antarmuka Runtime Swift ](https://github.com/awslabs/swift-aws-lambda-runtime) (eksperimental)
+ [Klien Antarmuka Runtime C\+\+ ](https://github.com/awslabs/aws-lambda-cpp) (eksperimental)
+ [Gambar Dasar Lambda ](https://github.com/aws/aws-lambda-base-images)

Untuk informasi selengkapnya tentang menggunakan klien ini untuk membuat runtime khusus, lihat[Membangun runtime khusus untuk AWS Lambda](runtimes-custom.md).

## Perpustakaan acara
<a name="open-source-event-libraries"></a>

Pustaka peristiwa Lambda menyediakan definisi tipe dan utilitas pembantu untuk memproses peristiwa dari berbagai AWS layanan. Pustaka ini membantu Anda mengurai dan menangani data peristiwa dengan cara yang aman untuk tipe, membuatnya lebih mudah untuk bekerja dengan peristiwa dari layanan seperti Amazon S3, Amazon DynamoDB, dan Amazon API Gateway.

Untuk bahasa yang dikompilasi, AWS menyediakan pustaka acara berikut:
+ [Perpustakaan Acara Java ](https://github.com/aws/aws-lambda-java-libs/tree/main/aws-lambda-java-events)
+ [Perpustakaan Acara .NET ](https://github.com/aws/aws-lambda-dotnet/tree/master/Libraries/src)
+ [Perpustakaan Acara Go ](https://github.com/aws/aws-lambda-go/tree/main/events)
+ [Perpustakaan Acara Rust ](https://github.com/awslabs/aws-lambda-rust-runtime)

Untuk bahasa yang ditafsirkan seperti Node.js, Python, dan Ruby, peristiwa dapat diurai secara langsung sebagai objek JSON tanpa memerlukan pustaka terpisah. Namun, pengembang yang menggunakan Node.js dan Python dapat menggunakan powertools untuk AWS Lambda, yang menyediakan skema bawaan untuk AWS acara yang menawarkan petunjuk tipe, validasi data, dan fungsionalitas yang mirip dengan apa yang disediakan pustaka bahasa yang dikompilasi.
+ [Powertools untuk TypeScript ](https://docs.aws.amazon.com/powertools/typescript/latest/features/parser/#built-in-schemas)
+ [Powertools untuk Python ](https://docs.aws.amazon.com/powertools/python/latest/utilities/parser/#built-in-models)

## Gambar basis kontainer
<a name="open-source-container-base-images"></a>

AWS menyediakan gambar basis wadah sumber terbuka yang dapat Anda gunakan sebagai titik awal untuk membangun gambar kontainer untuk fungsi Lambda Anda. Gambar dasar ini mencakup klien antarmuka runtime dan komponen lain yang diperlukan untuk menjalankan fungsi Anda di lingkungan eksekusi Lambda.

Untuk informasi lebih lanjut tentang gambar dasar yang tersedia dan cara menggunakannya, lihat [ repositori Gambar Das ](https://github.com/aws/aws-lambda-base-images)AWS ar Lambda dan[Buat fungsi Lambda menggunakan gambar kontainer](images-create.md).

## Alat pengembangan
<a name="open-source-development-tools"></a>

AWS menyediakan alat pengembangan sumber terbuka tambahan untuk membantu Anda membangun dan mengoptimalkan fungsi Lambda Anda:

### Powertools untuk AWS Lambda
<a name="open-source-powertools"></a>

Powertools untuk AWS Lambda menyederhanakan pengembangan tanpa server dengan utilitas penting untuk mencegah pemrosesan duplikat, dan pemrosesan batch untuk penanganan multi-rekaman dan pustaka konsumen Kafka. Fitur-fitur ini membantu Anda meminimalkan kompleksitas kode dan overhead operasional.

Anda juga dapat menggunakan validasi skema peristiwa bawaan, pencatatan dan pelacakan terstruktur, dan integrasi penyimpanan parameter yang dirancang untuk mempercepat pembuatan fungsi Lambda siap produksi sambil mengikuti praktik terbaik yang dirancang AWS dengan baik.

GitHub repositori:
+ [Python](https://github.com/aws-powertools/powertools-lambda-python)
+ [TypeScript](https://github.com/aws-powertools/powertools-lambda-typescript)
+ [Java](https://github.com/aws-powertools/powertools-lambda-java)
+ [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet)

### Alat pengembangan Java
<a name="open-source-java-tools"></a>
+ [Java Profiler (eksperimental) ](https://github.com/aws/aws-lambda-java-libs/tree/main/experimental/aws-lambda-java-profiler) - Alat untuk membuat profil fungsi Java Lambda.
+ [Java Libraries ](https://github.com/aws/aws-lambda-java-libs) - Sebuah repositori yang berisi koleksi lengkap perpustakaan Java dan alat untuk pengembangan Lambda, termasuk proyek-proyek utama seperti utilitas pengujian JUnit dan alat pembuatan profil.
+ [Serverless Java Container ](https://github.com/aws/serverless-java-container) - Pustaka yang dapat Anda gunakan untuk menjalankan aplikasi Java yang ada di Lambda dengan sedikit perubahan.

### Alat pengembangan.NET
<a name="open-source-dotnet-tools"></a>

[Reposit ](https://github.com/aws/aws-lambda-dotnet)AWS Lambda ori.NET menyediakan perpustakaan dan alat-alat .NET untuk pengembangan Lambda, termasuk proyek-proyek utama seperti AWS Lambda alat untuk .NET CLI dan server.NET Core untuk hosting aplikasi.NET Core.

## Contoh proyek
<a name="open-source-sample-projects"></a>

Jelajahi koleksi komprehensif contoh proyek dan aplikasi Lambda di repositori [ Serverless Land. ](https://serverlessland.com/repos) Sampel ini menunjukkan berbagai kasus penggunaan Lambda, pola integrasi, dan praktik terbaik untuk membantu Anda memulai aplikasi tanpa server.