UpdateFunctionCode - AWS Lambda

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

UpdateFunctionCode

Perbarui kode fungsi Lambda. Jika penandatanganan kode diaktifkan untuk fungsi, paket kode harus ditandatangani oleh penerbit tepercaya. Untuk informasi selengkapnya, lihat Mengonfigurasi penandatanganan kode untuk Lambda.

Jika jenis paket fungsi adalahImage, maka Anda harus menentukan paket kode ImageUri sebagai URI dari gambar kontainer di registri Amazon ECR.

Jika jenis paket fungsi adalahZip, maka Anda harus menentukan paket penyebaran sebagai arsip file.zip. Masukkan bucket Amazon S3 dan kunci kode lokasi file.zip. Anda juga dapat memberikan kode fungsi sebaris menggunakan ZipFile bidang.

Kode dalam paket penyebaran harus kompatibel dengan arsitektur set instruksi target dari fungsi (x86-64atauarm64).

Kode fungsi terkunci ketika Anda memublikasikan versi. Anda tidak dapat mengubah kode versi yang dipublikasikan, hanya versi yang tidak dipublikasikan.

catatan

Untuk fungsi didefinisikan sebagai gambar kontainer, Lambda menyelesaikan tanda gambar untuk penyerapan gambar. Di Amazon ECR, jika Anda memperbarui tanda gambar ke gambar baru, Lambda tidak memperbarui fungsi secara otomatis.

Sintaks Permintaan

PUT /2015-03-31/functions/FunctionName/code HTTP/1.1 Content-type: application/json { "Architectures": [ "string" ], "DryRun": boolean, "ImageUri": "string", "Publish": boolean, "RevisionId": "string", "S3Bucket": "string", "S3Key": "string", "S3ObjectVersion": "string", "ZipFile": blob }

Parameter Permintaan URI

Permintaan menggunakan parameter URI berikut.

FunctionName

Nama fungsi Lambda.

Format nama
  • Nama fungsimy-function.

  • Fungsi ARN —. arn:aws:lambda:us-west-2:123456789012:function:my-function

  • ARN Sebagian —. 123456789012:function:my-function

Batas panjang hanya berlaku untuk ARN penuh. Jika Anda hanya menentukan nama fungsi, panjang nama dibatasi hingga 64 karakter.

Panjang Batasan: Panjang minimum 1. Panjang maksimum 140.

Pola: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

Wajib: Ya

Isi Permintaan

Permintaan menerima data berikut dalam format JSON.

Architectures

Arsitektur set instruksi yang didukung fungsi. Masukkan array string dengan salah satu nilai yang valid (arm64 atau x86_64). Nilai default-nya adalah x86_64.

Tipe: Array string

Anggota Array: Jumlah tetap 1 item.

Nilai yang Valid: x86_64 | arm64

Diperlukan: Tidak

DryRun

Atur kr true untuk memvalidasi parameter permintaan dan izin akses tanpa memodifikasi kode fungsi.

Tipe: Boolean

Wajib: Tidak

ImageUri

URI citra kontainer di registri Amazon ECR. Jangan gunakan untuk fungsi yang ditentukan dengan arsip file.zip.

Tipe: String

Wajib: Tidak

Publish

Atur ke true untuk memublikasikan versi baru fungsi setelah memperbarui kode. Ini memiliki efek yang sama seperti memanggil PublishVersion secara terpisah.

Tipe: Boolean

Wajib: Tidak

RevisionId

Perbarui fungsi hanya jika ID revisi cocok dengan ID yang ditentukan. Gunakan opsi ini untuk menghindari memodifikasi fungsi yang sudah berubah sejak terakhir kali Anda membacanya.

Tipe: String

Wajib: Tidak

S3Bucket

Bucket Amazon S3 Wilayah AWS sama dengan fungsi Anda. Ember bisa berbedaAkun AWS. Gunakan hanya dengan fungsi yang ditentukan dengan paket penyebaran arsip file.zip.

Jenis: String

Batasan Panjang: Panjang minimum 3. Panjang maksimum 63.

Pola: ^[0-9A-Za-z\.\-_]*(?<!\.)$

Diperlukan: Tidak

S3Key

Kunci Amazon S3 dari paket deployment. Gunakan hanya dengan fungsi yang ditentukan dengan paket penyebaran arsip file.zip.

Jenis: String

Batasan Panjang: Panjang minimum 1. Panjang maksimum 1024.

Diperlukan: Tidak

S3ObjectVersion

Untuk objek berversi, versi objek paket deployment yang digunakan.

Tipe: String

Batasan Panjang: Panjang minimum 1. Panjang maksimum 1024.

Diperlukan: Tidak

ZipFile

Konten berenkode base64 dari paket deployment. AWS SDK dan AWS CLI klien menangani pengkodean untuk Anda. Gunakan hanya dengan fungsi yang ditentukan dengan paket penyebaran arsip file.zip.

Tipe: Objek data biner berkode Base64

Wajib: Tidak

Sintaksis Respons

HTTP/1.1 200 Content-type: application/json { "Architectures": [ "string" ], "CodeSha256": "string", "CodeSize": number, "DeadLetterConfig": { "TargetArn": "string" }, "Description": "string", "Environment": { "Error": { "ErrorCode": "string", "Message": "string" }, "Variables": { "string" : "string" } }, "EphemeralStorage": { "Size": number }, "FileSystemConfigs": [ { "Arn": "string", "LocalMountPath": "string" } ], "FunctionArn": "string", "FunctionName": "string", "Handler": "string", "ImageConfigResponse": { "Error": { "ErrorCode": "string", "Message": "string" }, "ImageConfig": { "Command": [ "string" ], "EntryPoint": [ "string" ], "WorkingDirectory": "string" } }, "KMSKeyArn": "string", "LastModified": "string", "LastUpdateStatus": "string", "LastUpdateStatusReason": "string", "LastUpdateStatusReasonCode": "string", "Layers": [ { "Arn": "string", "CodeSize": number, "SigningJobArn": "string", "SigningProfileVersionArn": "string" } ], "LoggingConfig": { "ApplicationLogLevel": "string", "LogFormat": "string", "LogGroup": "string", "SystemLogLevel": "string" }, "MasterArn": "string", "MemorySize": number, "PackageType": "string", "RevisionId": "string", "Role": "string", "Runtime": "string", "RuntimeVersionConfig": { "Error": { "ErrorCode": "string", "Message": "string" }, "RuntimeVersionArn": "string" }, "SigningJobArn": "string", "SigningProfileVersionArn": "string", "SnapStart": { "ApplyOn": "string", "OptimizationStatus": "string" }, "State": "string", "StateReason": "string", "StateReasonCode": "string", "Timeout": number, "TracingConfig": { "Mode": "string" }, "Version": "string", "VpcConfig": { "Ipv6AllowedForDualStack": boolean, "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ], "VpcId": "string" } }

Elemen Respons

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.

Layanan mengembalikan data berikut dalam format JSON.

Architectures

Arsitektur set instruksi yang didukung fungsi. Arsitektur adalah array string dengan salah satu nilai yang valid. Nilai arsitektur default adalahx86_64.

Tipe: Array string

Anggota Array: Jumlah tetap 1 item.

Nilai yang Valid: x86_64 | arm64

CodeSha256

Hash SHA256 dari paket deployment fungsi.

Jenis: String

CodeSize

Ukuran paket deployment fungsi, dalam byte.

Tipe: Long

DeadLetterConfig

Antrean surat mati fungsi.

Tipe: Objek DeadLetterConfig

Description

Deskripsi fungsi.

Tipe: String

Batasan Panjang: Panjang minimum 0. Panjang maksimum 256.

Environment

Variabel lingkungan fungsi. Dihilangkan dari AWS CloudTrail log.

Tipe: Objek EnvironmentResponse

EphemeralStorage

Ukuran /tmp direktori fungsi dalam MB. Nilai defaultnya adalah 512, tetapi bisa berupa bilangan bulat antara 512 dan 10.240 MB. Untuk informasi selengkapnya, lihat Mengonfigurasi penyimpanan sementara (konsol).

Tipe: Objek EphemeralStorage

FileSystemConfigs

Pengaturan koneksi untuk sistem file Amazon EFS.

Tipe: Array objek FileSystemConfig

Anggota Array: Jumlah maksimum 1 item.

FunctionArn

Amazon Resource Name (ARN) fungsi.

Tipe: String

Pola: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_\.]+(:(\$LATEST|[a-zA-Z0-9-_]+))?

FunctionName

Nama fungsi.

Tipe: String

Panjang Batasan: Panjang minimum 1. Panjang maksimum 170.

Pola: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_\.]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

Handler

Fungsi yang dipanggil Lambda untuk mulai menjalankan fungsi Anda.

Jenis: String

Batasan Panjang: Panjang maksimum 128.

Pola: [^\s]+

ImageConfigResponse

Nilai konfigurasi gambar fungsi.

Tipe: Objek ImageConfigResponse

KMSKeyArn

AWS KMS keyYang digunakan untuk mengenkripsi variabel lingkungan fungsi. Ketika Lambda SnapStart diaktifkan, kunci ini juga digunakan untuk mengenkripsi snapshot fungsi. Kunci ini dikembalikan hanya jika Anda telah mengonfigurasi kunci yang dikelola pelanggan.

Jenis: String

Pola: (arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()

LastModified

Tanggal dan waktu fungsi terakhir diperbarui, dalam format ISO-8601 (YYYY-MM-DDThh:mm:ss.sTZD).

Jenis: String

LastUpdateStatus

Status pembaruan terakhir yang dilakukan pada fungsi. Ini adalah set pertama untuk Successful setelah fungsi selesai dibuat.

Jenis: String

Nilai yang Valid: Successful | Failed | InProgress

LastUpdateStatusReason

Alasan pembaruan terakhir yang dilakukan pada fungsi.

Jenis: String

LastUpdateStatusReasonCode

Kode alasan pembaruan terakhir yang dilakukan pada fungsi.

Jenis: String

Nilai yang Valid: EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage | KMSKeyAccessDenied | KMSKeyNotFound | InvalidStateKMSKey | DisabledKMSKey | EFSIOError | EFSMountConnectivityError | EFSMountFailure | EFSMountTimeout | InvalidRuntime | InvalidZipFileException | FunctionError

Layers

Lapisan fungsi.

Tipe: Array objek Layer

LoggingConfig

Pengaturan konfigurasi Amazon CloudWatch Logs fungsi.

Tipe: Objek LoggingConfig

MasterArn

Untuk fungsi Lambda @Edge, ARN dari fungsi utama.

Jenis: String

Pola: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_]+(:(\$LATEST|[a-zA-Z0-9-_]+))?

MemorySize

Jumlah memori yang tersedia untuk fungsi saat waktu aktif.

Tipe: Integer

Rentang yang Valid: Nilai minimum 128. Nilai maksimum 10240.

PackageType

Tipe paket deployment. Atur ke Image untuk gambar kontainer dan atur Zip untuk arsip file .zip.

Jenis: String

Nilai yang Valid: Zip | Image

RevisionId

Revisi paling baru dari fungsi atau alias.

Jenis: String

Role

Peran eksekusi fungsi.

Tipe: String

Pola: arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+

Runtime

Pengenal waktu aktif fungsi. Runtime diperlukan jika paket penerapan adalah arsip file.zip.

Daftar berikut mencakup runtime usang. Untuk informasi selengkapnya, lihat Kebijakan penghentian waktu proses.

Jenis: String

Nilai yang Valid: nodejs | nodejs4.3 | nodejs6.10 | nodejs8.10 | nodejs10.x | nodejs12.x | nodejs14.x | nodejs16.x | java8 | java8.al2 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | python3.9 | dotnetcore1.0 | dotnetcore2.0 | dotnetcore2.1 | dotnetcore3.1 | dotnet6 | nodejs4.3-edge | go1.x | ruby2.5 | ruby2.7 | provided | provided.al2 | nodejs18.x | python3.10 | java17 | ruby3.2 | python3.11 | nodejs20.x | provided.al2023 | python3.12 | java21

RuntimeVersionConfig

ARN runtime dan kesalahan apa pun yang terjadi.

Tipe: Objek RuntimeVersionConfig

SigningJobArn

ARN tugas penandatanganan.

Tipe: String

Pola: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

SigningProfileVersionArn

ARN dari versi profil penandatanganan.

Tipe: String

Pola: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

SnapStart

Setel ApplyOn PublishedVersions untuk membuat snapshot dari lingkungan eksekusi yang diinisialisasi saat Anda memublikasikan versi fungsi. Untuk informasi selengkapnya, lihat Meningkatkan kinerja startup dengan Lambda SnapStart.

Tipe: Objek SnapStartResponse

State

Status fungsi saat ini. Ketika statusnya adalah Inactive, Anda dapat mengaktifkan kembali fungsi dengan memanggilnya.

Jenis: String

Nilai yang Valid: Pending | Active | Inactive | Failed

StateReason

Alasan untuk status fungsi saat ini.

Jenis: String

StateReasonCode

Kode alasan untuk status fungsi saat ini. Ketika kode adalah Creating, Anda tidak dapat memanggil atau memodifikasi fungsi.

Jenis: String

Nilai yang Valid: Idle | Creating | Restoring | EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage | KMSKeyAccessDenied | KMSKeyNotFound | InvalidStateKMSKey | DisabledKMSKey | EFSIOError | EFSMountConnectivityError | EFSMountFailure | EFSMountTimeout | InvalidRuntime | InvalidZipFileException | FunctionError

Timeout

Jumlah waktu yang dalam detik diizinkan Lambda untuk menjalankan fungsi sebelum menghentikannya.

Tipe: Integer

Rentang yang Valid: Nilai minimum 1.

TracingConfig

Konfigurasi pelacakan AWS X-Ray fungsi.

Tipe: Objek TracingConfigResponse

Version

Versi fungsi Lambda.

Tipe: String

Batasan Panjang: Panjang minimum 1. Panjang maksimum 1024.

Pola: (\$LATEST|[0-9]+)

VpcConfig

Konfigurasi jaringan fungsi.

Tipe: Objek VpcConfigResponse

Kesalahan

Untuk informasi tentang kesalahan yang umum untuk semua tindakan, lihat Kesalahan Umum.

CodeSigningConfigNotFoundException

Konfigurasi penandatanganan kode yang ditentukan tidak ada.

Kode Status HTTP: 404

CodeStorageExceededException

Anda Akun AWS telah melampaui ukuran total kode maksimumnya. Untuk informasi lebih lanjut, lihat Kuota Lambda.

Kode Status HTTP: 400

CodeVerificationFailedException

Tanda tangan kode gagal dalam satu atau beberapa pemeriksaan validasi untuk ketidakcocokan atau masa berakhir tanda tangan, dan kebijakan penandatanganan kode diatur ke ENFORCE. Lambda memblokir deployment.

Kode Status HTTP: 400

InvalidCodeSignatureException

Tanda tangan kode gagal dalam pemeriksaan integritas. Jika pemeriksaan integritas gagal, Lambda memblokir penerapan, meskipun kebijakan penandatanganan kode disetel ke WARN.

Kode Status HTTP: 400

InvalidParameterValueException

Salah satu parameter dalam permintaan tidak valid.

Kode Status HTTP: 400

PreconditionFailedException

Yang RevisionId disediakan tidak cocok dengan yang terbaru RevisionId untuk fungsi atau alias Lambda. Panggil GetFunction atau operasi GetAlias API untuk mengambil yang terbaru RevisionId untuk sumber daya Anda.

Kode Status HTTP: 412

ResourceConflictException

Sumber daya sudah ada, atau operasi lain sedang berlangsung.

Kode Status HTTP: 409

ResourceNotFoundException

Sumber daya yang ditentukan dalam permintaan tidak ada.

Kode Status HTTP: 404

ServiceException

Layanan AWS Lambda mengalami kesalahan internal.

Kode Status HTTP: 500

TooManyRequestsException

Batas throughput permintaan terlampaui. Untuk informasi lebih lanjut, lihat Kuota Lambda.

Kode Status HTTP: 429

Lihat Juga

Untuk informasi selengkapnya tentang penggunaan API ini di salah satu AWS SDK khusus bahasa, lihat berikut ini: