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
Topik
- Membuat URL fungsi (konsol)
- Membuat URL fungsi (AWS CLI)
- Menambahkan URL fungsi ke CloudFormation template
- Berbagi sumber daya lintas asal (CORS)
- Fungsi pelambatan URLs
- Menonaktifkan fungsi URLs
- Menghapus fungsi URLs
- Kontrol akses ke URL fungsi Lambda
- Memanggil fungsi Lambda URLs
- Memantau URL fungsi Lambda
- Pilih metode untuk menjalankan fungsi Lambda Anda menggunakan permintaan HTTP
- Tutorial: Membuat titik akhir webhook menggunakan URL fungsi Lambda
Membuat URL fungsi (konsol)
Ikuti langkah-langkah ini untuk membuat URL fungsi menggunakan konsol.
-
Buka halaman Fungsi
di konsol Lambda. -
Pilih nama fungsi yang ingin Anda buat URL fungsi.
-
Pilih tab Konfigurasi, lalu pilih URL Fungsi.
-
Pilih Buat URL fungsi.
-
Untuk jenis Auth, pilih AWS_IAMatau NONE. Untuk informasi selengkapnya tentang otentikasi URL fungsi, lihatKontrol akses.
-
(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).
-
Pilih Simpan.
Ini membuat URL fungsi untuk versi fungsi Anda $LATEST
yang tidak dipublikasikan. URL fungsi muncul di bagian Ikhtisar fungsi konsol.
-
Buka halaman Fungsi
di konsol Lambda. -
Pilih nama fungsi dengan alias yang ingin Anda buat URL fungsi.
-
Pilih tab Alias, lalu pilih nama alias yang ingin Anda buat URL fungsinya.
-
Pilih tab Konfigurasi, lalu pilih URL Fungsi.
-
Pilih Buat URL fungsi.
-
Untuk jenis Auth, pilih AWS_IAMatau NONE. Untuk informasi selengkapnya tentang otentikasi URL fungsi, lihatKontrol akses.
-
(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).
-
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)
-
Buka halaman Fungsi
di konsol Lambda. -
Pilih Buat fungsi.
-
Di bagian Informasi dasar, lakukan hal berikut:
-
Untuk nama Fungsi, masukkan nama untuk fungsi Anda, seperti
my-function
. -
Untuk Runtime, pilih runtime bahasa yang Anda inginkan, seperti Node.js 18.x.
-
Untuk Arsitektur, pilih x86_64 atau arm64.
-
Perluas Izin, lalu pilih apakah akan membuat peran eksekusi baru atau menggunakan yang sudah ada.
-
-
Perluas Pengaturan lanjutan, lalu pilih URL Fungsi.
-
Untuk jenis Auth, pilih AWS_IAMatau NONE. Untuk informasi selengkapnya tentang otentikasi URL fungsi, lihatKontrol akses.
-
(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).
-
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
\ --qualifierprod
\ // optional --auth-typeAWS_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 satuAWS_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.Cors
Untuk menambahAWS::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 ARN —
arn:aws:lambda:us-west-2:123456789012:function:my-function
ARN Sebagian —
123456789012: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
Sundulan CORS | Properti konfigurasi CORS | Contoh nilai |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
-
Buka halaman Fungsi
di konsol Lambda. -
Pilih nama fungsi.
-
Pilih tab Konfigurasi, lalu pilih URL Fungsi.
-
Pilih Hapus.
-
Masukkan kata hapus ke dalam bidang untuk mengonfirmasi penghapusan.
-
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.