Membuat dan mengelola fungsi Lambda URLs - AWS Lambda

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

Membuat dan mengelola fungsi Lambda URLs

URL fungsi adalah titik akhir HTTP (S) khusus untuk fungsi Lambda Anda. Anda dapat membuat dan mengonfigurasi URL fungsi melalui konsol Lambda atau API Lambda.

Tip

Lambda menawarkan dua cara untuk menjalankan fungsi Anda melalui titik akhir HTTP: fungsi dan Amazon API URLs Gateway. Jika Anda tidak yakin metode mana yang terbaik untuk kasus penggunaan Anda, lihatPilih metode untuk menjalankan fungsi Lambda Anda menggunakan permintaan HTTP.

Saat Anda membuat URL fungsi, Lambda secara otomatis menghasilkan titik akhir URL unik untuk Anda. Setelah Anda membuat URL fungsi, titik akhir URL-nya tidak pernah berubah. Titik akhir URL fungsi memiliki format berikut:

https://<url-id>.lambda-url.<region>.on.aws
catatan

Fungsi tidak URLs didukung sebagai berikut Wilayah AWS: Asia Pasifik (Hyderabad) (), Asia Pasifik (Melbourneap-south-2) (), Asia Pasifik (Malaysiaap-southeast-4) (), Kanada Barat (Calgaryap-southeast-5) (), Eropa (Spanyol) ()ca-west-1, Eropa (Zurich) (eu-south-2), Israel (Tel Aviveu-central-2) (), dan Timur Tengah (UEA) il-central-1 (). me-central-1

Fungsi URLs adalah dual stack-enabled, mendukung dan. IPv4 IPv6 Setelah Anda mengkonfigurasi URL fungsi untuk fungsi Anda, Anda dapat memanggil fungsi Anda melalui titik akhir HTTP (S) melalui browser web, curl, Postman, atau klien HTTP apa pun.

catatan

Anda dapat mengakses URL fungsi Anda hanya melalui Internet publik. Sementara fungsi Lambda mendukung AWS PrivateLink, fungsi URLs tidak.

Fungsi Lambda URLs menggunakan kebijakan berbasis sumber daya untuk keamanan dan kontrol akses. Fungsi URLs juga mendukung opsi konfigurasi cross-origin resource sharing (CORS).

Anda dapat menerapkan fungsi URLs ke alias fungsi apa pun, atau ke versi fungsi yang $LATEST tidak dipublikasikan. Anda tidak dapat menambahkan URL fungsi ke versi fungsi lainnya.

Bagian berikut menunjukkan cara membuat dan mengelola URL fungsi menggunakan konsol Lambda, AWS CLI, dan template AWS CloudFormation

Membuat URL fungsi (konsol)

Ikuti langkah-langkah ini untuk membuat URL fungsi menggunakan konsol.

  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih nama fungsi yang ingin Anda buat URL fungsi.

  3. Pilih tab Konfigurasi, lalu pilih URL Fungsi.

  4. Pilih Buat URL fungsi.

  5. Untuk jenis Auth, pilih AWS_IAMatau NONE. Untuk informasi selengkapnya tentang otentikasi URL fungsi, lihatKontrol akses.

  6. (Opsional) Pilih Konfigurasi berbagi sumber daya lintas asal (CORS), lalu konfigurasikan pengaturan CORS untuk URL fungsi Anda. Untuk informasi selengkapnya tentang CORS, lihat Berbagi sumber daya lintas asal (CORS).

  7. Pilih Simpan.

Ini membuat URL fungsi untuk versi fungsi Anda $LATEST yang tidak dipublikasikan. URL fungsi muncul di bagian Ikhtisar fungsi konsol.

  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih nama fungsi dengan alias yang ingin Anda buat URL fungsi.

  3. Pilih tab Alias, lalu pilih nama alias yang ingin Anda buat URL fungsinya.

  4. Pilih tab Konfigurasi, lalu pilih URL Fungsi.

  5. Pilih Buat URL fungsi.

  6. Untuk jenis Auth, pilih AWS_IAMatau NONE. Untuk informasi selengkapnya tentang otentikasi URL fungsi, lihatKontrol akses.

  7. (Opsional) Pilih Konfigurasi berbagi sumber daya lintas asal (CORS), lalu konfigurasikan pengaturan CORS untuk URL fungsi Anda. Untuk informasi selengkapnya tentang CORS, lihat Berbagi sumber daya lintas asal (CORS).

  8. Pilih Simpan.

Ini membuat URL fungsi untuk alias fungsi Anda. URL fungsi muncul di bagian Ikhtisar fungsi konsol untuk alias Anda.

Untuk membuat fungsi baru dengan URL fungsi (konsol)
  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih Buat fungsi.

  3. Di bagian Informasi dasar, lakukan hal berikut:

    1. Untuk nama Fungsi, masukkan nama untuk fungsi Anda, sepertimy-function.

    2. Untuk Runtime, pilih runtime bahasa yang Anda inginkan, seperti Node.js 18.x.

    3. Untuk Arsitektur, pilih x86_64 atau arm64.

    4. Perluas Izin, lalu pilih apakah akan membuat peran eksekusi baru atau menggunakan yang sudah ada.

  4. Perluas Pengaturan lanjutan, lalu pilih URL Fungsi.

  5. Untuk jenis Auth, pilih AWS_IAMatau NONE. Untuk informasi selengkapnya tentang otentikasi URL fungsi, lihatKontrol akses.

  6. (Opsional) Pilih Konfigurasi berbagi sumber daya lintas asal (CORS). Dengan memilih opsi ini selama pembuatan fungsi, URL fungsi Anda memungkinkan permintaan dari semua asal secara default. Anda dapat mengedit pengaturan CORS untuk URL fungsi Anda setelah membuat fungsi. Untuk informasi selengkapnya tentang CORS, lihat Berbagi sumber daya lintas asal (CORS).

  7. Pilih Buat fungsi.

Ini menciptakan fungsi baru dengan URL fungsi untuk versi fungsi $LATEST yang tidak dipublikasikan. URL fungsi muncul di bagian Ikhtisar fungsi konsol.

Membuat URL fungsi (AWS CLI)

Untuk membuat URL fungsi untuk fungsi Lambda yang ada menggunakan AWS Command Line Interface (AWS CLI), jalankan perintah berikut:

aws lambda create-function-url-config \ --function-name my-function \ --qualifier prod \ // optional --auth-type AWS_IAM --cors-config {AllowOrigins="https://example.com"} // optional

Ini menambahkan URL fungsi ke prod qualifier untuk fungsi my-function tersebut. Untuk informasi selengkapnya tentang parameter konfigurasi ini, lihat CreateFunctionUrlConfigdi referensi API.

catatan

Untuk membuat URL fungsi melalui AWS CLI, fungsi tersebut harus sudah ada.

Menambahkan URL fungsi ke CloudFormation template

Untuk menambahkan AWS::Lambda::Url sumber daya ke AWS CloudFormation template Anda, gunakan sintaks berikut:

JSON

{ "Type" : "AWS::Lambda::Url", "Properties" : { "AuthType" : String, "Cors" : Cors, "Qualifier" : String, "TargetFunctionArn" : String } }

YAML

Type: AWS::Lambda::Url Properties: AuthType: String Cors: Cors Qualifier: String TargetFunctionArn: String

Parameter

  • (Wajib) AuthType — Mendefinisikan jenis otentikasi untuk URL fungsi Anda. Nilai yang mungkin adalah salah satu AWS_IAM atauNONE. Untuk membatasi akses ke pengguna yang diautentikasi saja, setel ke. AWS_IAM Untuk melewati otentikasi IAM dan memungkinkan pengguna untuk membuat permintaan ke fungsi Anda, atur ke. NONE

  • (Opsional) Cors - Mendefinisikan pengaturan CORS untuk URL fungsi Anda. CorsUntuk menambah AWS::Lambda::Url sumber daya Anda CloudFormation, gunakan sintaks berikut.

    contoh AWS: :Lambda: :Url.Cor (JSON)
    { "AllowCredentials" : Boolean, "AllowHeaders" : [ String, ... ], "AllowMethods" : [ String, ... ], "AllowOrigins" : [ String, ... ], "ExposeHeaders" : [ String, ... ], "MaxAge" : Integer }
    contoh AWS: :Lambda: :Url.Cor (YAMAL)
    AllowCredentials: Boolean AllowHeaders: - String AllowMethods: - String AllowOrigins: - String ExposeHeaders: - String MaxAge: Integer
  • (Opsional) Qualifier — Nama alias.

  • (Wajib) TargetFunctionArn - Nama atau Nama Sumber Daya Amazon (ARN) dari fungsi Lambda. Format nama yang valid meliputi yang berikut:

    • Nama fungsi - my-function

    • Fungsi ARNarn:aws:lambda:us-west-2:123456789012:function:my-function

    • ARN Sebagian123456789012:function:my-function

Berbagi sumber daya lintas asal (CORS)

Untuk menentukan bagaimana asal yang berbeda dapat mengakses URL fungsi Anda, gunakan berbagi sumber daya lintas asal (CORS). Kami menyarankan untuk mengonfigurasi CORS jika Anda bermaksud memanggil URL fungsi Anda dari domain yang berbeda. Lambda mendukung header CORS berikut untuk fungsi. URLs

Sundulan CORS Properti konfigurasi CORS Contoh nilai

Access-Control-Allow-Origin

AllowOrigins

*(izinkan semua asal)

https://www.example.com

http://localhost:60905

Access-Control-Allow-Methods

AllowMethods

GET, POST, DELETE, *

Access-Control-Allow-Headers

AllowHeaders

Date, Keep-Alive, X-Custom-Header

Access-Control-Expose-Headers

ExposeHeaders

Date, Keep-Alive, X-Custom-Header

Access-Control-Allow-Credentials

AllowCredentials

TRUE

Access-Control-Max-Age

MaxAge

5 (default), 300

Saat Anda mengonfigurasi CORS untuk URL fungsi menggunakan konsol Lambda atau konsol AWS CLI, Lambda secara otomatis menambahkan header CORS ke semua respons melalui URL fungsi. Atau, Anda dapat menambahkan header CORS secara manual ke respons fungsi Anda. Jika ada header yang bertentangan, perilaku yang diharapkan tergantung pada jenis permintaan:

  • Untuk permintaan preflight seperti permintaan OPTIONS, header CORS yang dikonfigurasi pada URL fungsi diutamakan. Lambda hanya mengembalikan header CORS ini dalam respons.

  • Untuk permintaan non-preflight seperti permintaan GET atau POST, Lambda mengembalikan header CORS yang dikonfigurasi pada URL fungsi, serta header CORS yang dikembalikan oleh fungsi. Ini dapat menghasilkan duplikat header CORS dalam respons. Anda mungkin melihat kesalahan yang mirip dengan berikut ini:The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.

Secara umum, kami menyarankan untuk mengonfigurasi semua pengaturan CORS pada URL fungsi, daripada mengirim header CORS secara manual dalam respons fungsi.

Fungsi pelambatan URLs

Throttling membatasi tingkat permintaan proses fungsi Anda. Ini berguna dalam banyak situasi, seperti mencegah fungsi Anda membebani sumber daya hilir secara berlebihan, atau menangani lonjakan permintaan yang tiba-tiba.

Anda dapat membatasi laju permintaan yang diproses fungsi Lambda Anda melalui URL fungsi dengan mengonfigurasi konkurensi cadangan. Konkurensi cadangan membatasi jumlah pemanggilan bersamaan maksimum untuk fungsi Anda. Tingkat permintaan maksimum per detik (RPS) fungsi Anda setara dengan 10 kali konkurensi cadangan yang dikonfigurasi. Misalnya, jika Anda mengonfigurasi fungsi Anda dengan konkurensi cadangan 100, maka RPS maksimum adalah 1.000.

Setiap kali konkurensi fungsi Anda melebihi konkurensi cadangan, URL fungsi Anda mengembalikan kode 429 status HTTP. Jika fungsi Anda menerima permintaan yang melebihi maksimum 10x RPS berdasarkan konkurensi cadangan yang dikonfigurasi, Anda juga menerima kesalahan HTTP. 429 Untuk informasi selengkapnya tentang konkurensi cadangan, lihatMengkonfigurasi konkurensi cadangan untuk suatu fungsi.

Menonaktifkan fungsi URLs

Dalam keadaan darurat, Anda mungkin ingin menolak semua lalu lintas ke URL fungsi Anda. Untuk menonaktifkan URL fungsi Anda, atur konkurensi cadangan ke nol. Ini membatasi semua permintaan ke URL fungsi Anda, menghasilkan respons 429 status HTTP. Untuk mengaktifkan kembali URL fungsi Anda, hapus konfigurasi konkurensi cadangan, atau atur konfigurasi ke jumlah yang lebih besar dari nol.

Menghapus fungsi URLs

Saat Anda menghapus URL fungsi, Anda tidak dapat memulihkannya. Membuat URL fungsi baru akan menghasilkan alamat URL yang berbeda.

catatan

Jika Anda menghapus URL fungsi dengan jenis autentikasiNONE, Lambda tidak secara otomatis menghapus kebijakan berbasis sumber daya terkait. Jika Anda ingin menghapus kebijakan ini, Anda harus melakukannya secara manual.

  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih nama fungsi.

  3. Pilih tab Konfigurasi, lalu pilih URL Fungsi.

  4. Pilih Hapus.

  5. Masukkan kata hapus ke dalam bidang untuk mengonfirmasi penghapusan.

  6. Pilih Hapus.

catatan

Saat Anda menghapus fungsi yang memiliki URL fungsi, Lambda menghapus URL fungsi secara asinkron. Jika Anda segera membuat fungsi baru dengan nama yang sama di akun yang sama, ada kemungkinan URL fungsi asli akan dipetakan ke fungsi baru alih-alih dihapus.