

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

# Perbarui konfigurasi fungsi Lambda dengan CodeBuild Lambda Python
<a name="sample-lambda-boto3-python"></a>

Contoh Python berikut menggunakan [ Boto3 ](https://aws.amazon.com/sdk-for-python/) dan CodeBuild Lambda Python untuk memperbarui konfigurasi fungsi Lambda. Sampel ini dapat diperluas untuk mengelola AWS sumber daya lain secara terprogram. Untuk informasi selengkapnya, lihat dokument [ asi Boto3. ](https://aws.amazon.com/sdk-for-python/)

## Prasyarat
<a name="sample-lambda-boto3-python.prerequisites"></a>

Buat atau temukan fungsi Lambda di akun Anda.

Contoh ini mengasumsikan bahwa Anda telah membuat fungsi Lambda di akun Anda dan akan digunakan CodeBuild untuk memperbarui variabel lingkungan fungsi Lambda. Untuk informasi lebih lanjut tentang pengaturan fungsi Lambda melalui CodeBuild, lihat [Menyebarkan fungsi Lambda menggunakan AWS SAM dengan CodeBuild Lambda Java](sample-lambda-sam-gradle.md) sampel atau kunjungi [AWS Lambda](https://aws.amazon.com/lambda/).

## Siapkan repositori sumber Anda
<a name="sample-lambda-boto3-python.set-up-repo"></a>

Buat repositori sumber untuk menyimpan skrip python Boto3 Anda.

**Untuk mengatur repositori sumber**

1. Salin skrip python berikut ke file baru yang disebut`update_lambda_environment_variables.py`.

   ```
   import boto3
   from os import environ
   
   
   def update_lambda_env_variable(lambda_client):
       lambda_function_name = environ['LAMBDA_FUNC_NAME']
       lambda_env_variable = environ['LAMBDA_ENV_VARIABLE']
       lambda_env_variable_value = environ['LAMBDA_ENV_VARIABLE_VALUE']
       print("Updating lambda function " + lambda_function_name + " environment variable "
             + lambda_env_variable + " to " + lambda_env_variable_value)
       lambda_client.update_function_configuration(
           FunctionName=lambda_function_name,
           Environment={
               'Variables': {
                   lambda_env_variable: lambda_env_variable_value
               }
           },
       )
   
   
   if __name__ == "__main__":
       region = environ['AWS_REGION']
       client = boto3.client('lambda', region)
       update_lambda_env_variable(client)
   ```

1. Unggah file python ke repositori sumber yang didukung. Untuk daftar jenis sumber yang didukung, lihat [ ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html).

## Buat proyek CodeBuild Lambda Python
<a name="sample-lambda-boto3-python.create-project"></a>

Buat proyek CodeBuild Lambda Python.

**Untuk membuat proyek CodeBuild Lambda Java Anda**

1. Buka AWS CodeBuild konsol di [ https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Jika halaman CodeBuild informasi ditampilkan, pilih ** Buat proyek build**. Jika tidak, pada panel navigasi, per ** luas Bang ** un, pilih ** Bang ** un proyek, lalu pilih ** Buat proyek build**. 

1. Di **Nama proyek**, masukkan nama untuk proyek pembangunan ini. Nama proyek build harus unik di setiap AWS akun. Anda juga dapat menyertakan deskripsi opsional proyek build untuk membantu pengguna lain memahami untuk apa proyek ini digunakan.

1. Di ** Sumber**, pilih repositori sumber tempat AWS SAM proyek Anda berada.

1. Di ** Lingkungan**:
   + Untuk ** Compute**, pilih ** Lambda**.
   + Untuk ** Runtime**, pilih ** Python**.
   + Untuk ** Gambar**, pilih ** aws/codebuild /amaz ** onlinux-x86\_64-lambda-standard:python3.12.
   + Untuk ** Peran Layanan**, biarkan ** Peran layanan baru ** dipilih. Catat nama ** Peran**. Anda memerlukan ini saat memperbarui izin IAM proyek nanti dalam contoh ini.

1. Pilih ** Buat proyek pembangunan**.

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

1. Di panel navigasi, pilih ** Per ** an dan pilih peran layanan yang terkait dengan proyek Anda. Anda dapat menemukan peran proyek Anda CodeBuild dengan memilih proyek build Anda, memilih ** Edit**, ** Lingkungan**, dan kemudian peran ** Layanan**.

1. Pilih ** tab Relasi ** kepercayaan, lalu pilih ** Edit kebijakan kepercayaan**.

1. Tambahkan kebijakan sebaris berikut ke peran IAM Anda. Ini akan digunakan untuk menyebarkan AWS SAM infrastruktur Anda nanti. Untuk informasi lebih lanjut, lihat [Menambahkan dan menghapus izin identitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dalam *Panduan Pengguna IAM*.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "UpdateLambdaPermissions",
               "Effect": "Allow",
               "Action": [
                   "lambda:UpdateFunctionConfiguration"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

------

## Siapkan proyek buildspec
<a name="sample-lambda-boto3-python.set-up-buildspec"></a>

Untuk memperbarui fungsi Lambda, skrip membaca variabel lingkungan dari buildspec untuk menemukan nama fungsi Lambda, nama variabel lingkungan, dan nilai variabel lingkungan.

**Untuk mengatur buildspec proyek Anda**

1. Di CodeBuild konsol, pilih proyek build Anda, lalu pilih ** Edit ** dan ** Build ** spec.

1. Di ** Buildspec**, pilih S ** isipkan perintah build ** dan kemudian Ber ** alih ke editor. **

1. Hapus perintah build yang sudah diisi sebelumnya dan tempel di buildspec berikut.

   ```
   version: 0.2
   env:
     variables:
       LAMBDA_FUNC_NAME: "{{<lambda-function-name>}}"
       LAMBDA_ENV_VARIABLE: "FEATURE_ENABLED"
       LAMBDA_ENV_VARIABLE_VALUE: "true"
   phases:
     install:
       commands:
          - pip3 install boto3
     build:
       commands:
          - python3 update_lambda_environment_variables.py
   ```

1. Pilih Per ** barui buildspec**.

## Perbarui konfigurasi Lambda Anda
<a name="sample-lambda-boto3-python.update"></a>

Gunakan CodeBuild Lambda Python untuk memperbarui konfigurasi fungsi Lambda Anda secara otomatis.

**Untuk memperbarui konfigurasi fungsi Lambda Anda**

1. Pilih ** Mulai membangun**.

1. Setelah build selesai, navigasikan ke fungsi Lambda Anda.

1. Pilih ** Konfigurasi ** dan kemudian ** Vari ** abel lingkungan. Anda harus melihat variabel lingkungan baru dengan kunci `FEATURE_ENABLED` dan nilai`true`.

## Bersihkan infrastruktur Anda
<a name="sample-lambda-boto3-python.clean-up"></a>

Untuk menghindari biaya lebih lanjut untuk sumber daya yang Anda gunakan selama tutorial ini, hapus sumber daya yang dibuat untuk CodeBuild proyek Anda.

**Untuk membersihkan infrastruktur Anda**

1. Arahkan ke CloudWatch konsol dan hapus grup CloudWatch log yang terkait dengan CodeBuild proyek Anda.

1. Arahkan ke CodeBuild konsol dan hapus CodeBuild proyek Anda dengan memilih H ** apus proyek build**.

1. Jika Anda membuat fungsi Lambda untuk tujuan sampel ini, pilih fungsi Tindakan ** ** dan H ** apus ** untuk membersihkan fungsi Lambda Anda.

## Ekstensi
<a name="sample-lambda-boto3-python.extensions"></a>

Jika Anda ingin memperluas sampel ini untuk mengelola AWS sumber daya lain menggunakan AWS CodeBuild Lambda Python:
+ Perbarui skrip Python untuk memodifikasi sumber daya baru menggunakan Boto3.
+ Perbarui peran IAM yang terkait dengan CodeBuild proyek Anda untuk memiliki izin untuk sumber daya baru.
+ Tambahkan variabel lingkungan baru yang terkait dengan sumber daya baru ke buildspec Anda.