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
Fungsi URL adalah titik akhir khusus HTTP (S) untuk fungsi Lambda Anda. Anda dapat membuat dan mengonfigurasi fungsi URL melalui konsol Lambda atau Lambda. API Saat Anda membuat fungsiURL, Lambda secara otomatis menghasilkan URL titik akhir yang unik untuk Anda. Setelah Anda membuat fungsiURL, URL titik akhirnya tidak pernah berubah. URLTitik akhir 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 (Spanyolca-west-1
) (), Eropa (Zuricheu-south-2
) (), Israel (Tel Aviveu-central-2
) (), dan Timur Tengah (il-central-1
) (). UAE me-central-1
Fungsi URLs adalah dual stack-enabled, mendukung dan. IPv4 IPv6 Setelah Anda mengkonfigurasi fungsi URL untuk fungsi Anda, Anda dapat memanggil fungsi Anda melalui titik akhir HTTP (S) melalui browser web, curl, Postman, atau klien apa pun. HTTP
catatan
Anda dapat mengakses fungsi Anda hanya URL 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 berbagi sumber daya lintas asal (CORS).
Anda dapat menerapkan fungsi URLs ke alias fungsi apa pun, atau ke versi fungsi yang $LATEST
tidak dipublikasikan. Anda tidak dapat menambahkan fungsi URL ke versi fungsi lainnya.
Bagian berikut menunjukkan cara membuat dan mengelola fungsi URL menggunakan konsol Lambda, AWS CLI, dan template AWS CloudFormation
Topik
- Membuat fungsi URL (konsol)
- Membuat fungsi URL (AWS CLI)
- Menambahkan fungsi URL 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
- Tutorial: Membuat fungsi Lambda dengan URL fungsi
Membuat fungsi URL (konsol)
Ikuti langkah-langkah ini untuk membuat fungsi URL menggunakan konsol.
-
Buka halaman Fungsi
di konsol Lambda. -
Pilih nama fungsi yang ingin Anda URL buat fungsinya.
-
Pilih tab Configuration, lalu pilih Function URL.
-
Pilih Buat fungsiURL.
-
Untuk jenis Auth, pilih AWS_ IAM atau NONE. Untuk informasi selengkapnya tentang URL otentikasi fungsi, lihatKontrol akses.
-
(Opsional) Pilih Konfigurasi berbagi sumber daya lintas asal (CORS), lalu konfigurasikan CORS pengaturan untuk fungsi URL Anda. Untuk informasi lebih lanjut tentangCORS, lihatBerbagi sumber daya lintas asal () CORS.
-
Pilih Simpan.
Ini menciptakan fungsi URL untuk versi fungsi Anda $LATEST
yang tidak dipublikasikan. Fungsi ini URL muncul di bagian Ikhtisar fungsi konsol.
-
Buka halaman Fungsi
di konsol Lambda. -
Pilih nama fungsi dengan alias yang ingin Anda URL buat fungsinya.
-
Pilih tab Alias, lalu pilih nama alias yang ingin Anda buat fungsinyaURL.
-
Pilih tab Configuration, lalu pilih Function URL.
-
Pilih Buat fungsiURL.
-
Untuk jenis Auth, pilih AWS_ IAM atau NONE. Untuk informasi selengkapnya tentang URL otentikasi fungsi, lihatKontrol akses.
-
(Opsional) Pilih Konfigurasi berbagi sumber daya lintas asal (CORS), lalu konfigurasikan CORS pengaturan untuk fungsi URL Anda. Untuk informasi lebih lanjut tentangCORS, lihatBerbagi sumber daya lintas asal () CORS.
-
Pilih Simpan.
Ini menciptakan fungsi URL untuk alias fungsi Anda. Fungsi URL muncul di bagian ikhtisar Fungsi konsol untuk alias Anda.
Untuk membuat fungsi baru dengan fungsi URL (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 Fungsi URL.
-
Untuk jenis Auth, pilih AWS_ IAM atau NONE. Untuk informasi selengkapnya tentang URL otentikasi fungsi, lihatKontrol akses.
-
(Opsional) Pilih Konfigurasi berbagi sumber daya lintas asal (CORS). Dengan memilih opsi ini selama pembuatan fungsi, fungsi Anda URL mengizinkan permintaan dari semua asal secara default. Anda dapat mengedit CORS pengaturan untuk fungsi Anda URL setelah membuat fungsi. Untuk informasi lebih lanjut tentangCORS, lihatBerbagi sumber daya lintas asal () CORS.
-
Pilih Buat fungsi.
Ini menciptakan fungsi baru dengan fungsi URL untuk versi fungsi yang $LATEST
tidak dipublikasikan. Fungsi ini URL muncul di bagian Ikhtisar fungsi konsol.
Membuat fungsi URL (AWS CLI)
Untuk membuat fungsi URL 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 fungsi URL ke prod
qualifier untuk fungsi my-function
tersebut. Untuk informasi selengkapnya tentang parameter konfigurasi ini, lihat CreateFunctionUrlConfigdi API referensi.
catatan
Untuk membuat fungsi URL melalui AWS CLI, fungsi tersebut harus sudah ada.
Menambahkan fungsi URL 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 fungsi Anda. URL Nilai yang mungkin adalah salah satuAWS_IAM
atauNONE
. Untuk membatasi akses ke pengguna yang diautentikasi saja, setel ke.AWS_IAM
Untuk mem-bypass IAM otentikasi dan memungkinkan setiap pengguna untuk membuat permintaan ke fungsi Anda, atur ke.NONE
-
(Opsional)
Cors
- Mendefinisikan CORSpengaturan untuk fungsi URL Anda.Cors
Untuk menambahAWS::Lambda::Url
sumber daya Anda CloudFormation, gunakan sintaks berikut.contoh AWS: :Lambda: :Url.Cros () JSON
{ "AllowCredentials" : Boolean, "AllowHeaders" : [ String, ... ], "AllowMethods" : [ String, ... ], "AllowOrigins" : [ String, ... ], "ExposeHeaders" : [ String, ... ], "MaxAge" : Integer }
contoh AWS: :Lambda: :Url.Cros () YAML
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
Sebagian ARN —
123456789012:function:my-function
Berbagi sumber daya lintas asal () CORS
Untuk menentukan cara asal yang berbeda dapat mengakses fungsi AndaURL, gunakan berbagi sumber daya lintas asal (CORS)
CORSsundulan | CORSproperti konfigurasi | Contoh nilai |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Saat Anda mengonfigurasi CORS fungsi URL menggunakan konsol Lambda atau, AWS CLI Lambda secara otomatis menambahkan CORS header ke semua respons melalui fungsi tersebut. URL Atau, Anda dapat menambahkan CORS header secara manual ke respons fungsi Anda. Jika ada header yang bertentangan, perilaku yang diharapkan tergantung pada jenis permintaan:
-
Untuk permintaan preflight seperti OPTIONS permintaan, CORS header yang dikonfigurasi pada fungsi URL diutamakan. Lambda hanya mengembalikan CORS header ini dalam respons.
-
Untuk permintaan non-preflight seperti GET atau POST permintaan, Lambda mengembalikan CORS header yang dikonfigurasi pada fungsiURL, serta header yang dikembalikan oleh CORS fungsi. Hal ini dapat mengakibatkan duplikat CORS header dalam respon. 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 untuk mengonfigurasi semua CORS pengaturan pada fungsiURL, daripada mengirim CORS header 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 fungsi URL dengan mengonfigurasi konkurensi cadangan. Konkurensi cadangan membatasi jumlah pemanggilan bersamaan maksimum untuk fungsi Anda. Tingkat permintaan maksimum fungsi Anda per detik (RPS) setara dengan 10 kali konkurensi cadangan yang dikonfigurasi. Misalnya, jika Anda mengonfigurasi fungsi Anda dengan konkurensi cadangan 100, maka maksimumnya RPS adalah 1.000.
Setiap kali konkurensi fungsi Anda melebihi konkurensi cadangan, fungsi Anda URL mengembalikan kode HTTP 429
status. Jika fungsi Anda menerima permintaan yang melebihi RPS maksimum 10x berdasarkan konkurensi cadangan yang dikonfigurasi, Anda juga menerima kesalahan HTTP429
. 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 fungsi URL Anda. Untuk menonaktifkan fungsi AndaURL, atur konkurensi cadangan ke nol. Ini membatasi semua permintaan ke fungsi AndaURL, menghasilkan respons HTTP 429
status. Untuk mengaktifkan kembali fungsi AndaURL, hapus konfigurasi konkurensi cadangan, atau atur konfigurasi ke jumlah yang lebih besar dari nol.
Menghapus fungsi URLs
Saat Anda menghapus suatu fungsiURL, Anda tidak dapat memulihkannya. Membuat fungsi baru URL akan menghasilkan URL alamat yang berbeda.
catatan
Jika Anda menghapus fungsi URL 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 Configuration, lalu pilih Function URL.
-
Pilih Hapus.
-
Masukkan kata hapus ke dalam bidang untuk mengonfirmasi penghapusan.
-
Pilih Hapus.
catatan
Saat Anda menghapus fungsi yang memiliki fungsiURL, Lambda secara asinkron menghapus fungsi tersebut. URL Jika Anda segera membuat fungsi baru dengan nama yang sama di akun yang sama, ada kemungkinan fungsi asli URL akan dipetakan ke fungsi baru alih-alih dihapus.