Perbarui konfigurasi fungsi Lambda dengan CodeBuild Lambda Python - AWS CodeBuild

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

Contoh Python berikut menggunakan Boto3 dan Lambda Python untuk memperbarui konfigurasi fungsi CodeBuild Lambda. Sampel ini dapat diperluas untuk mengelola AWS sumber daya lain secara terprogram. Untuk informasi selengkapnya, lihat dokumentasi Boto3.

Prasyarat

Buat atau temukan fungsi Lambda di akun Anda.

Contoh ini mengasumsikan bahwa Anda telah membuat fungsi Lambda di akun Anda dan akan CodeBuild digunakan untuk memperbarui variabel lingkungan fungsi Lambda. Untuk informasi selengkapnya tentang pengaturan fungsi Lambda CodeBuild, lihat Menyebarkan fungsi Lambda menggunakan AWS SAM dengan CodeBuild Lambda Java sampel atau kunjungi. AWS Lambda

Siapkan repositori sumber Anda

Buat repositori sumber untuk menyimpan skrip python Boto3 Anda.

Untuk mengatur repositori sumber
  1. Salin script python berikut ke file baru bernamaupdate_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)
  2. Unggah file python ke repositori sumber yang didukung. Untuk daftar jenis sumber yang didukung, lihat ProjectSource.

Buat proyek CodeBuild Lambda Python

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.

  2. Jika halaman CodeBuild informasi ditampilkan, pilih Buat proyek build. Jika tidak, pada panel navigasi, perluas Build, pilih Build projects, lalu pilih Create build project.

  3. Di Nama proyek, masukkan nama untuk proyek pembangunan ini. Membangun nama proyek harus unik di setiap AWS akun. Anda juga dapat menyertakan deskripsi opsional proyek build untuk membantu pengguna lain memahami tujuan proyek ini.

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

  5. Di Lingkungan:

    • Untuk Compute, pilih Lambda.

    • Untuk Runtime, pilih Python.

    • Untuk Gambar, pilih aws/codebuild/amazonlinux-x86_64-lambda-standard:python3.12.

    • Untuk peran Layanan, biarkan peran Layanan baru dipilih. Catat nama Peran. Ini akan diperlukan saat Anda memperbarui izin IAM proyek nanti dalam sampel ini.

  6. Pilih Buat proyek build.

  7. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  8. Di panel navigasi, pilih Peran dan pilih peran layanan yang terkait dengan proyek Anda. Anda dapat menemukan peran proyek Anda CodeBuild dengan memilih proyek build, memilih Edit, Lingkungan, dan kemudian peran Layanan.

  9. Pilih tab Trust relationship, lalu pilih Edit trust policy.

  10. Tambahkan kebijakan inline 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 dalam Panduan Pengguna IAM.

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

Siapkan proyek buildspec

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

Untuk menyiapkan buildspec proyek Anda
  1. Di CodeBuild konsol, pilih proyek build Anda, lalu pilih Edit dan Buildspec.

  2. Di Buildspec, pilih Sisipkan perintah build dan kemudian Beralih ke editor.

  3. Hapus perintah build yang telah 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
  4. Pilih Perbarui buildspec.

Perbarui konfigurasi Lambda Anda

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

Untuk memperbarui konfigurasi fungsi Lambda
  1. Pilih Mulai membangun.

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

  3. Pilih Konfigurasi dan kemudian variabel Lingkungan. Anda akan melihat variabel lingkungan baru dengan kunci FEATURE_ENABLED dan nilaitrue.

Bersihkan infrastruktur Anda

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.

  2. Arahkan ke CodeBuild konsol dan hapus CodeBuild project Anda dengan memilih Delete build project.

  3. Jika Anda membuat fungsi Lambda untuk tujuan sampel ini, pilih fungsi Tindakan dan Hapus untuk membersihkan fungsi Lambda Anda.

Ekstensi

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 agar memiliki izin untuk sumber daya baru.

  • Tambahkan variabel lingkungan baru yang terkait dengan sumber daya baru ke buildspec Anda.