View a markdown version of this page

Membuat dan mengelola URL fungsi Lambda - 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 URL fungsi Lambda

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

Tip

Lambda menawarkan dua cara untuk memanggil fungsi Anda melalui titik akhir HTTP: URL fungsi dan Amazon API Gateway. Jika Anda tidak yakin metode mana yang terbaik untuk kasus penggunaan Anda, lihatPilih metode untuk memanggil 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

URL fungsi tidak didukung di semua AWS wilayah. Untuk memeriksa ketersediaan, lihat AWS Layanan Regional dan filter berdasarkanFeature Name = Function URLs.

URL fungsi mendukung tumpukan ganda, mendukung IPv4 dan IPv6. Setelah Anda mengonfigurasi URL fungsi untuk fungsi Anda, Anda dapat memanggil fungsi Anda melalui titik akhir HTTP (S) dengan menggunakan browser web, curl, Postman, atau klien HTTP apa pun.

catatan

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

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

Anda dapat menerapkan URL fungsi 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 CloudFormation template. Untuk tutorial langkah demi langkah tentang menggunakan URL fungsi sebagai titik akhir webhook, lihat. Tutorial: Membuat titik akhir webhook menggunakan URL fungsi Lambda

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_I AM atau NONE. Untuk informasi selengkapnya tentang otentikasi URL fungsi, lihatKontrol akses.

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

  7. Pilih Simpan.

Ini membuat URL fungsi untuk versi fungsi Anda $LATEST yang tidak dipublikasikan. URL fungsi muncul di bagian I khtisar fungsi di 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 fungsi.

  4. Pilih tab Konfigurasi, lalu pilih URL Fungsi.

  5. Pilih Buat URL fungsi.

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

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

  8. Pilih Simpan.

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

Untuk membuat fungsi baru dengan fungsi URL (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 24.

    3. Untuk Arsitektur, pilih x86_64 atau arm64.

    4. Per luas 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_I AM atau NONE. Untuk informasi selengkapnya tentang otentikasi URL fungsi, lihatKontrol akses.

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

  7. Pilih Buat fungsi.

Ini menciptakan fungsi baru dengan URL fungsi untuk versi fungsi yang $LATEST tidak dipublikasikan. URL fungsi muncul di bagian I khtisar fungsi di 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 ku prod alifikasi untuk fungsi my-function tersebut. Untuk informasi selengkapnya tentang parameter konfigurasi ini, lihat CreateFunctionUrlConfig di referensi API.

catatan

Untuk membuat URL fungsi dengan menggunakan AWS CLI, fungsi harus sudah ada.

Menambahkan URL fungsi ke CloudFormation template

Untuk menambahkan AWS::Lambda::Url sumber daya ke 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 hanya ke pengguna yang diautentikasi, setel keAWS_IAM. Untuk melewati otentikasi IAM dan mengizinkan pengguna membuat permintaan ke fungsi Anda, setel keNONE.

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

    contoh AWS::Lambda:: (JSON) Url.Cors
    { "AllowCredentials" : Boolean, "AllowHeaders" : [ String, ... ], "AllowMethods" : [ String, ... ], "AllowOrigins" : [ String, ... ], "ExposeHeaders" : [ String, ... ], "MaxAge" : Integer }
    contoh AWS::Lambda:: (YAML) Url.Cors
    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:

    • Nama fungsi my-function

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

    • ARN paruh 123456789012:function:my-function

Cross-origin berbagi sumber daya (CORS)

Untuk menentukan bagaimana asal yang berbeda dapat mengakses URL fungsi Anda, gunakan cross-origin resource sharing (CORS). Sebaiknya konfigurasi CORS jika Anda ingin memanggil URL fungsi Anda dari domain yang berbeda. Lambda mendukung header CORS berikut untuk URL fungsi.

header 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

Ketika Anda mengonfigurasi CORS untuk URL fungsi menggunakan konsol Lambda atau 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 saling 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 header CORS duplikat 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 sarankan mengonfigurasi semua pengaturan CORS pada URL fungsi, daripada mengirim header CORS secara manual dalam respons fungsi.

URL fungsi pembatasan

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

Anda dapat membatasi tingkat permintaan yang diproses fungsi Lambda Anda melalui URL fungsi dengan mengonfigurasi konkurensi yang dicadangkan. Konkurensi yang dicadangkan 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 yang dicadangkan, URL fungsi Anda mengembalikan kode 429 status HTTP. Jika fungsi Anda menerima permintaan yang melebihi maksimum RPS 10x berdasarkan konkurensi cadangan yang dikonfigurasi, Anda juga menerima kesalahan HTTP. 429 Untuk informasi selengkapnya tentang konkurensi yang dipesan, lihatMengkonfigurasi konkurensi yang dicadangkan untuk suatu fungsi.

Menonaktifkan URL fungsi

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

Menghapus URL fungsi

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

catatan

Jika Anda menghapus URL fungsi dengan jenis autentikasiNONE, Lambda tidak akan menghapus kebijakan berbasis sumber daya terkait secara otomatis. Jika 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 secara asinkron menghapus URL fungsi. Jika Anda segera membuat fungsi baru dengan nama yang sama di akun yang sama, ada kemungkinan URL fungsi asli dipetakan ke fungsi baru alih-alih dihapus.