

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

# Membangun fungsi Lambda dengan Go
<a name="lambda-golang"></a>

Go diimplementasikan secara berbeda dari runtime terkelola lainnya. Karena Go mengkompilasi secara native ke biner yang dapat dieksekusi, itu tidak memerlukan runtime bahasa khusus. Gunakan [runtime khusus OS (keluarga runtime](runtimes-provided.md)) untuk menerapkan `provided` fungsi Go ke Lambda.

**Topics**
+ [Dukungan runtime Go](#golang-al1)
+ [Alat dan pustaka](#golang-libraries)
+ [Tentukan penangan fungsi Lambda di Go](golang-handler.md)
+ [Menggunakan objek konteks Lambda untuk mengambil informasi fungsi Go](golang-context.md)
+ [Deploy fungsi Go Lambda dengan arsip file .zip](golang-package.md)
+ [Deploy fungsi Lambda Go dengan gambar kontainer](go-image.md)
+ [Bekerja dengan lapisan untuk fungsi Go Lambda](golang-layers.md)
+ [Log dan pantau fungsi Go Lambda](golang-logging.md)
+ [Menginstrumentasi kode Go di AWS Lambda](golang-tracing.md)

## Dukungan runtime Go
<a name="golang-al1"></a>

[Runtime terkelola Go 1.x untuk Lambda tidak digunakan lagi.](lambda-runtimes.md#runtime-support-policy) Jika Anda memiliki fungsi yang menggunakan runtime Go 1.x, Anda harus memigrasikan fungsi Anda ke atau. `provided.al2023` `provided.al2` `provided.al2`Runtime `provided.al2023` dan menawarkan beberapa keunggulan dibandingkan`go1.x`, termasuk dukungan untuk arsitektur arm64 (prosesor AWS Graviton2), binari yang lebih kecil, dan waktu pemanggilan yang sedikit lebih cepat.

Tidak diperlukan perubahan kode untuk migrasi ini. Satu-satunya perubahan yang diperlukan terkait dengan cara Anda membangun paket penerapan dan runtime mana yang Anda gunakan untuk membuat fungsi Anda. *Untuk informasi selengkapnya, lihat [Memigrasi AWS Lambda fungsi dari runtime Go1.x ke runtime khusus di Amazon Linux 2 di Blog Komputasi](https://aws.amazon.com/blogs/compute/migrating-aws-lambda-functions-from-the-go1-x-runtime-to-the-custom-runtime-on-amazon-linux-2/).AWS *


| Nama | Pengidentifikasi | Sistem operasi | Tanggal pengusangan | Buat fungsi blok | Pembaruan fungsi blok | 
| --- | --- | --- | --- | --- | --- | 
| Runtime Khusus OS | `provided.al2023` | Amazon Linux 2023 |  30 Jun 2029  |  31 Jul 2029  |  Agustus 31, 2029  | 
| Runtime Khusus OS | `provided.al2` | Amazon Linux 2 |  Juli 31, 2026  |  Agustus 31, 2026  |  Sep 30, 2026  | 

## Alat dan pustaka
<a name="golang-libraries"></a>

Lambda menyediakan alat dan pustaka berikut untuk runtime Go:
+ [AWS SDK untuk Go v2](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2): AWS SDK resmi untuk bahasa pemrograman Go.
+ [github. com/aws/aws-lambda-go/lambda](https://github.com/aws/aws-lambda-go/tree/master/lambda): Implementasi model pemrograman Lambda untuk Go. Paket ini digunakan oleh AWS Lambda untuk memanggil [handler](golang-handler.md) Anda.
+ [github. com/aws/aws-lambda-go/lambdacontext](https://github.com/aws/aws-lambda-go/tree/master/lambdacontext): Pembantu untuk mengakses informasi konteks dari objek [konteks](golang-context.md).
+ [github. com/aws/aws-lambda-go/events](https://github.com/aws/aws-lambda-go/tree/master/events): Pustaka ini menyediakan definisi tipe untuk integrasi sumber peristiwa umum.
+ [github. com/aws/aws-lambda-go/cmd/build-lambda-zip](https://github.com/aws/aws-lambda-go/tree/master/cmd/build-lambda-zip): Alat ini dapat digunakan untuk membuat arsip file.zip di Windows.

Untuk informasi lebih lanjut, lihat [aws-lambda-go](https://github.com/aws/aws-lambda-go)di GitHub.

Lambda menyediakan aplikasi contoh berikut untuk runtime Go:

**Sampel aplikasi Lambda di Go**
+ [go-al2](https://github.com/aws-samples/sessions-with-aws-sam/tree/master/go-al2) - Fungsi hello world yang mengembalikan alamat IP publik. Aplikasi ini menggunakan runtime `provided.al2` khusus.
+ [blank-go](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/blank-go) — Fungsi Go yang menunjukkan penggunaan library Go Lambda, logging, variabel lingkungan, dan SDK. AWS Aplikasi ini menggunakan `go1.x` runtime.