

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
<a name="urls-configuration"></a>

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: URL fungsi dan Amazon API Gateway. Jika Anda tidak yakin metode mana yang terbaik untuk kasus penggunaan Anda, lihat[Pilih metode untuk menjalankan fungsi Lambda Anda menggunakan permintaan HTTP](furls-http-invoke-decision.md).

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 [Layanan AWS Regional](https://builder.aws.com/build/capabilities/explore?tab=service-feature) dan filter berdasarkan`Feature Name = Function URLs`.

URL fungsi adalah dual stack-enabled, mendukung IPv4 dan 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, URL fungsi tidak.

URL fungsi Lambda menggunakan kebijakan [berbasis sumber daya](access-control-resource-based.md) 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 template CloudFormation 

**Topics**
+ [Membuat URL fungsi (konsol)](#create-url-console)
+ [Membuat URL fungsi (AWS CLI)](#create-url-cli)
+ [Menambahkan URL fungsi ke CloudFormation template](#urls-cfn)
+ [Cross-origin berbagi sumber daya (CORS)](#urls-cors)
+ [URL fungsi pelambatan](#urls-throttling)
+ [Menonaktifkan URL fungsi](#urls-deactivating)
+ [Menghapus URL fungsi](#w2aac15c31c75c53)
+ [Kontrol akses ke fungsi Lambda URLs](urls-auth.md)
+ [Memanggil URL fungsi Lambda](urls-invocation.md)
+ [Memantau fungsi Lambda URLs](urls-monitoring.md)
+ [Pilih metode untuk menjalankan fungsi Lambda Anda menggunakan permintaan HTTP](furls-http-invoke-decision.md)
+ [Tutorial: Membuat titik akhir webhook menggunakan URL fungsi Lambda](urls-webhook-tutorial.md)

## Membuat URL fungsi (konsol)
<a name="create-url-console"></a>

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

### Untuk membuat URL fungsi untuk fungsi yang ada
<a name="create-url-existing-function"></a>

1. Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

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

1. Pilih tab **Konfigurasi**, lalu pilih **URL Fungsi**.

1. Pilih **Buat URL fungsi**.

1. **Untuk **jenis Auth**, pilih **AWS\_IAM** atau NONE.** Untuk informasi selengkapnya tentang otentikasi URL fungsi, lihat[Kontrol akses](urls-auth.md).

1. (Opsional) Pilih **Konfigurasi 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)](#urls-cors).

1. Pilih **Simpan**.

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

### Untuk membuat URL fungsi untuk alias yang ada
<a name="create-url-existing-alias"></a>

1. Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

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

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

1. Pilih tab **Konfigurasi**, lalu pilih **URL Fungsi**.

1. Pilih **Buat URL fungsi**.

1. **Untuk **jenis Auth**, pilih **AWS\_IAM** atau NONE.** Untuk informasi selengkapnya tentang otentikasi URL fungsi, lihat[Kontrol akses](urls-auth.md).

1. (Opsional) Pilih **Konfigurasi 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)](#urls-cors).

1. 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
<a name="create-url-new-function"></a>

**Untuk membuat fungsi baru dengan URL fungsi (konsol)**

1. Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

1. Pilih **Buat fungsi**.

1. Di bagian **Informasi dasar**, lakukan hal berikut:

   1. Untuk **nama Fungsi**, masukkan nama untuk fungsi Anda, seperti**my-function**.

   1. **Untuk **Runtime**, pilih runtime bahasa yang Anda inginkan, seperti Node.js 24.**

   1. **Untuk **Arsitektur**, pilih **x86\_64 atau arm64**.**

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

1. Perluas **Pengaturan lanjutan**, lalu pilih **URL Fungsi**.

1. **Untuk **jenis Auth**, pilih **AWS\_IAM** atau NONE.** Untuk informasi selengkapnya tentang otentikasi URL fungsi, lihat[Kontrol akses](urls-auth.md).

1. (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 [Cross-origin berbagi sumber daya (CORS)](#urls-cors).

1. 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)
<a name="create-url-cli"></a>

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 [CreateFunctionUrlConfig](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunctionUrlConfig.html)di referensi API.

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

## Menambahkan URL fungsi ke CloudFormation template
<a name="urls-cfn"></a>

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

### JSON
<a name="urls-cfn-json"></a>

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

### YAML
<a name="urls-cfn-yaml"></a>

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

### Parameter
<a name="urls-cfn-params"></a>
+ (Wajib) `AuthType` — Mendefinisikan jenis otentikasi untuk URL fungsi Anda. Nilai yang mungkin adalah salah satu `AWS_IAM` atau`NONE`. Untuk membatasi akses ke pengguna yang diautentikasi saja, setel ke. `AWS_IAM` Untuk mem-bypass autentikasi IAM dan memungkinkan setiap pengguna untuk membuat permintaan ke fungsi Anda, atur ke. `NONE`
+ (Opsional) `Cors` - Mendefinisikan [pengaturan CORS untuk URL](#urls-cors) fungsi Anda. `Cors`Untuk menambah `AWS::Lambda::Url` sumber daya Anda CloudFormation, gunakan sintaks berikut.

    
**Example AWS::Lambda:: Url.Cors (JSON)**  

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

## Cross-origin berbagi sumber daya (CORS)
<a name="urls-cors"></a>

Untuk menentukan bagaimana asal yang berbeda dapat mengakses URL fungsi Anda, gunakan [berbagi sumber daya lintas asal (CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)). Kami menyarankan untuk mengonfigurasi CORS jika Anda bermaksud memanggil URL fungsi Anda dari domain yang berbeda. Lambda mendukung header CORS berikut untuk URL fungsi.


| Sundulan CORS | Properti konfigurasi CORS | Contoh nilai | 
| --- | --- | --- | 
| [ Access-Control-Allow-Origin](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) | `AllowOrigins` | `*`(izinkan semua asal)<br />`https://www.example.com`<br />`http://localhost:60905` | 
| [ Access-Control-Allow-Methods](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) | `AllowMethods` | `GET`, `POST`, `DELETE`, `*` | 
| [ Access-Control-Allow-Headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) | `AllowHeaders` | `Date`, `Keep-Alive`, `X-Custom-Header` | 
| [ Access-Control-Expose-Headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) | `ExposeHeaders` | `Date`, `Keep-Alive`, `X-Custom-Header` | 
| [ Access-Control-Allow-Credentials](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials) | `AllowCredentials` | `TRUE` | 
| [ Access-Control-Max-Age](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/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.

## URL fungsi pelambatan
<a name="urls-throttling"></a>

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, lihat[Mengkonfigurasi konkurensi cadangan untuk suatu fungsi](configuration-concurrency.md).

## Menonaktifkan URL fungsi
<a name="urls-deactivating"></a>

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 URL fungsi
<a name="w2aac15c31c75c53"></a>

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 autentikasi`NONE`, Lambda tidak secara otomatis menghapus kebijakan berbasis sumber daya terkait. Jika ingin menghapus kebijakan ini, Anda harus melakukannya secara manual.

1. Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

1. Pilih nama fungsi.

1. Pilih tab **Konfigurasi**, lalu pilih **URL Fungsi**.

1. Pilih **Hapus**.

1. Masukkan kata *hapus* ke dalam bidang untuk mengonfirmasi penghapusan.

1. 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.