

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

# Menyebarkan fungsi Lambda sebagai arsip file.zip
<a name="configuration-function-zip"></a>

Saat Anda membuat fungsi Lambda, Anda mengemas kode fungsi Anda ke dalam paket penerapan. Lambda mendukung dua tipe paket deployment: gambar kontainer dan arsip file .zip. Alur kerja untuk membuat fungsi tergantung pada jenis paket penyebaran. Untuk mengonfigurasi fungsi yang didefinisikan sebagai gambar kontainer, lihat[Buat fungsi Lambda menggunakan gambar kontainer](images-create.md).

Anda dapat menggunakan konsol Lambda dan API Lambda untuk membuat fungsi yang ditentukan dengan arsip file.zip. Anda juga dapat mengunggah file.zip yang diperbarui untuk mengubah kode fungsi. 

**catatan**  
Anda tidak dapat mengubah [jenis paket penerapan](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html#lambda-CreateFunction-request-PackageType) (.zip atau image kontainer) untuk fungsi yang ada. Misalnya, Anda tidak dapat mengonversi fungsi gambar kontainer untuk menggunakan arsip file.zip. Anda harus membuat fungsi baru.

**Topics**
+ [Membuat fungsi](#configuration-function-create)
+ [Menggunakan editor kode konsol](#configuration-functions-console-update)
+ [Memperbarui kode fungsi](#configuration-function-update)
+ [Mengubah runtime](#configuration-function-runtime)
+ [Mengubah arsitektur](#configuration-function-arch)
+ [Menggunakan API Lambda](#configuration-function-api)
+ [Mengunduh kode fungsi Anda](#configuration-function-download)
+ [CloudFormation](#configuration-function-cloudformation)
+ [Mengenkripsi paket deployment .zip Lambda](encrypt-zip-package.md)

## Membuat fungsi
<a name="configuration-function-create"></a>

Saat Anda membuat fungsi yang ditentukan dengan arsip file.zip, Anda memilih templat kode, versi bahasa, dan peran eksekusi untuk fungsi tersebut. Anda menambahkan kode fungsi Anda setelah Lambda membuat fungsi.

**Untuk membuat fungsi**

1. Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

1. Pilih **Buat fungsi**.

1. Pilih **Penulis dari awal** atau **Gunakan cetak biru** untuk membuat fungsi Anda. 

1. Di bagian **Informasi dasar**, lakukan hal berikut:

   1. Untuk **Nama fungsi**, masukkan nama fungsi. Nama fungsi dibatasi hingga 64 karakter panjangnya.

   1. Untuk **Runtime**, pilih versi bahasa yang akan digunakan untuk fungsi Anda.

   1. (Opsional) Untuk **Arsitektur**, pilih arsitektur set instruksi yang akan digunakan untuk fungsi Anda. Arsitektur defaultnya adalah x86\$164. Ketika Anda membangun paket deployment untuk fungsi Anda, pastikan bahwa itu kompatibel dengan [arsitektur set instruksi](foundation-arch.md) ini.

1. (Opsional) Di bagian **Izin**, luaskan **Ubah peran eksekusi default**. Anda dapat membuat peran **Eksekusi baru atau menggunakan peran** yang sudah ada.

1. (Opsional) Perluas **pengaturan lanjutan**. Anda dapat memilih **konfigurasi penandatanganan Kode** untuk fungsi tersebut. Anda juga dapat mengonfigurasi (Amazon VPC) agar fungsi dapat diakses.

1. Pilih **Buat fungsi**.

Lambda menciptakan fungsi baru. Anda sekarang dapat menggunakan konsol untuk menambahkan kode fungsi dan mengkonfigurasi parameter dan fitur fungsi lainnya. Untuk petunjuk penerapan kode, lihat halaman handler untuk runtime yang digunakan fungsi Anda. 

------
#### [ Node.js ]

[Deploy fungsi Lambda Node.js dengan arsip file .zip](nodejs-package.md) 

------
#### [ Python ]

 [Bekerja dengan arsip file.zip untuk fungsi Python Lambda](python-package.md) 

------
#### [ Ruby ]

 [Deploy fungsi Lambda Ruby dengan arsip file .zip](ruby-package.md) 

------
#### [ Java ]

 [Deploy fungsi Java Lambda dengan arsip file .zip atau JAR](java-package.md) 

------
#### [ Go ]

 [Deploy fungsi Go Lambda dengan arsip file .zip](golang-package.md) 

------
#### [ C\$1 ]

 [Bangun dan terapkan fungsi C\$1 Lambda dengan arsip file.zip](csharp-package.md) 

------
#### [ PowerShell ]

 [Menyebarkan fungsi PowerShell Lambda dengan arsip file.zip](powershell-package.md) 

------

## Menggunakan editor kode konsol
<a name="configuration-functions-console-update"></a>

Konsol membuat fungsi Lambda dengan satu file sumber. Untuk bahasa scripting, Anda dapat mengedit file ini dan menambahkan lebih banyak file menggunakan editor kode bawaan. Untuk menyimpan perubahan Anda, pilih **Simpan**. Selanjutnya, untuk menjalankan kode, pilih **Uji**.

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](nodejs-package.md) untuk mengunggah kode Anda ke fungsi Lambda.

## Memperbarui kode fungsi
<a name="configuration-function-update"></a>

Untuk bahasa scripting (Node.js, Python, dan Ruby), Anda dapat mengedit kode fungsi Anda di editor kode tertanam. Jika kode lebih besar dari 3MB, atau jika Anda perlu menambahkan pustaka, atau untuk bahasa yang tidak didukung editor (Java, Go, C \$1), Anda harus mengunggah kode fungsi Anda sebagai arsip.zip. Jika arsip file.zip lebih kecil dari 50 MB, Anda dapat mengunggah arsip file.zip dari mesin lokal Anda. Jika file lebih besar dari 50 MB, unggah file ke fungsi dari bucket Amazon S3.

**Untuk mengunggah kode fungsi sebagai arsip.zip**

1. Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

1. Pilih fungsi yang akan diperbarui dan pilih tab **Kode**.

1. Di bagian **Sumber kode**, pilih **Unggah dari**.

1. Pilih **file.zip**, lalu pilih **Unggah**. 

   1. Di pemilih file, pilih versi gambar baru, pilih **Buka**, lalu pilih **Simpan**.

1. (Alternatif untuk langkah 4) Pilih lokasi **Amazon S3**.

   1. **Di kotak teks, masukkan URL tautan S3 dari arsip file.zip, lalu pilih Simpan.**

## Mengubah runtime
<a name="configuration-function-runtime"></a>

Jika Anda memperbarui konfigurasi fungsi untuk menggunakan runtime baru, Anda mungkin perlu memperbarui kode fungsi agar kompatibel dengan runtime baru. Jika Anda memperbarui konfigurasi fungsi untuk menggunakan runtime yang berbeda, Anda **harus** memberikan kode fungsi baru yang kompatibel dengan runtime dan arsitektur. Untuk petunjuk tentang cara membuat paket deployment untuk kode fungsi, lihat halaman handler untuk runtime yang digunakan fungsi.

Gambar dasar Node.js 20, Python 3.12, Java 21, .NET 8, Ruby 3.3, dan yang lebih baru didasarkan pada gambar kontainer minimal Amazon Linux 2023. Gambar dasar sebelumnya menggunakan Amazon Linux 2. AL2023 memberikan beberapa keunggulan dibandingkan Amazon Linux 2, termasuk jejak penyebaran yang lebih kecil dan versi pustaka yang diperbarui seperti. `glibc` Untuk informasi selengkapnya, lihat [Memperkenalkan runtime Amazon Linux 2023 untuk AWS Lambda](https://aws.amazon.com/blogs/compute/introducing-the-amazon-linux-2023-runtime-for-aws-lambda/) di AWS Compute Blog.

**Untuk mengubah runtime**

1. Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

1. Pilih fungsi yang akan diperbarui dan pilih tab **Kode**.

1. Gulir ke bawah ke bagian **pengaturan Runtime**, yang berada di bawah editor kode.

1. Pilih **Edit**.

   1. Untuk **Runtime**, pilih pengenal runtime.

   1. Untuk **Handler**, tentukan nama file dan handler untuk fungsi Anda.

   1. Untuk **Arsitektur**, pilih arsitektur set instruksi yang akan digunakan untuk fungsi Anda.

1. Pilih **Simpan**.

## Mengubah arsitektur
<a name="configuration-function-arch"></a>

Sebelum Anda dapat mengubah arsitektur set instruksi, Anda perlu memastikan bahwa kode fungsi Anda kompatibel dengan arsitektur target. 

Jika Anda menggunakan Node.js, Python, atau Ruby dan Anda mengedit kode fungsi Anda di editor tertanam, kode yang ada dapat berjalan tanpa modifikasi.

Namun, jika Anda memberikan kode fungsi Anda menggunakan paket penyebaran arsip file.zip, Anda harus menyiapkan arsip file.zip baru yang dikompilasi dan dibangun dengan benar untuk runtime target dan arsitektur set instruksi. Untuk instruksi, lihat halaman handler untuk runtime fungsi Anda.

**Untuk mengubah arsitektur set instruksi**

1. Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

1. Pilih fungsi yang akan diperbarui dan pilih tab **Kode**.

1. Di bawah **Pengaturan waktu proses**, pilih **Edit**.

1. Untuk **Arsitektur**, pilih arsitektur set instruksi yang akan digunakan untuk fungsi Anda.

1. Pilih **Simpan**.

## Menggunakan API Lambda
<a name="configuration-function-api"></a>

Untuk membuat dan mengonfigurasi fungsi yang menggunakan arsip file.zip, gunakan operasi API berikut: 
+ [CreateFunction](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html)
+ [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html)
+ [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html)

## Mengunduh kode fungsi Anda
<a name="configuration-function-download"></a>

Anda dapat mengunduh versi kode fungsi.zip saat ini yang tidak diterbitkan (`$LATEST`) melalui konsol Lambda. Untuk melakukan ini, pertama-tama pastikan bahwa Anda memiliki izin IAM berikut:
+ `iam:GetPolicy`
+ `iam:GetPolicyVersion`
+ `iam:GetRole`
+ `iam:GetRolePolicy`
+ `iam:ListAttachedRolePolicies`
+ `iam:ListRolePolicies`
+ `iam:ListRoles`

**Untuk mengunduh kode fungsi.zip**

1. Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

1. Pilih fungsi yang ingin Anda unduh kode fungsi.zip.

1. Dalam **ikhtisar Fungsi**, pilih tombol **Unduh**, lalu pilih **Unduh kode fungsi.zip.**

   1. Atau, pilih **Unduh AWS SAM file** untuk menghasilkan dan mengunduh templat SAM berdasarkan konfigurasi fungsi Anda. Anda juga dapat memilih **Unduh keduanya** untuk mengunduh template.zip dan SAM.

## CloudFormation
<a name="configuration-function-cloudformation"></a>

Anda dapat menggunakan CloudFormation untuk membuat fungsi Lambda yang menggunakan arsip file.zip. Dalam CloudFormation template Anda, `AWS::Lambda::Function` sumber daya menentukan fungsi Lambda. Untuk deskripsi properti dalam `AWS::Lambda::Function` sumber daya, lihat [AWS::Lambda::Function](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html)di *Panduan AWS CloudFormation Pengguna*.

Dalam `AWS::Lambda::Function` sumber daya, atur properti berikut untuk membuat fungsi yang didefinisikan sebagai arsip file.zip:
+ AWS::Lambda::Function
  + PackageType — Setel ke`Zip`.
  + Kode - Masukkan nama bucket Amazon S3 dan nama file.zip di dan bidang. `S3Bucket` `S3Key` Untuk Node.js atau Python, Anda dapat memberikan kode sumber inline dari fungsi Lambda Anda.
  + Runtime - Tetapkan nilai runtime.
  + Arsitektur - Tetapkan nilai arsitektur `arm64` untuk menggunakan prosesor AWS Graviton2. Secara default, nilai arsitektur adalah`x86_64`.