

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

# Tutorial: Buat fungsi sederhana dengan CloudFront Fungsi
<a name="functions-tutorial"></a>

Tutorial ini menunjukkan kepada Anda bagaimana memulai dengan CloudFront Functions. Anda dapat membuat fungsi sederhana yang mengarahkan penampil ke URL yang berbeda, dan itu juga mengembalikan header respons khusus.

**Contents**
+ [

## Prasyarat
](#functions-tutorial-prerequisites)
+ [

## Buat fungsi
](#functions-tutorial-create)
+ [

## Verifikasi fungsinya
](#functions-tutorial-verify)

## Prasyarat
<a name="functions-tutorial-prerequisites"></a>

Untuk menggunakan CloudFront Fungsi, Anda memerlukan CloudFront distribusi. Jika Anda tidak memilikinya, lihat[Memulai dengan distribusi CloudFront standar](GettingStarted.SimpleDistribution.md).

## Buat fungsi
<a name="functions-tutorial-create"></a>

Anda dapat menggunakan CloudFront konsol untuk membuat fungsi sederhana yang mengarahkan penampil ke URL yang berbeda, dan juga mengembalikan header respons khusus. 

**Untuk membuat CloudFront fungsi**

1. Masuk ke Konsol Manajemen AWS dan buka CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Di panel navigasi, pilih **Fungsi**, lalu pilih **Buat fungsi**. 

1. Pada halaman **Create function**, untuk **Name**, masukkan nama fungsi seperti*MyFunctionName*.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi untuk fungsi seperti**Simple test function**.

1. Untuk **Runtime**, pertahankan JavaScript versi default yang dipilih.

1. Pilih **Buat fungsi**.

1. Salin kode fungsi berikut. Kode fungsi ini mengalihkan penampil ke URL yang berbeda dan menampilkan header respons kustom.

   ```
   function handler(event) {
       // NOTE: This example function is for a viewer request event trigger. 
       // Choose viewer request for event trigger when you associate this function with a distribution. 
       var response = {
           statusCode: 302,
           statusDescription: 'Found',
           headers: {
               'cloudfront-functions': { value: 'generated-by-CloudFront-Functions' },
               'location': { value: 'https://aws.amazon.com/cloudfront/' }
           }
       };
       return response;
   }
   ```

1. Untuk **kode Fungsi**, tempelkan kode ke editor kode untuk mengganti kode default.

1. Pilih **Simpan perubahan**.

1. (Opsional) Anda dapat menguji fungsi sebelum Anda mempublikasikannya. Tutorial ini tidak menjelaskan cara menguji suatu fungsi. Untuk informasi selengkapnya, lihat [Fungsi uji](test-function.md).

1. Pilih tab **Publish** dan kemudian pilih **fungsi Publish**. Anda *harus* mempublikasikan fungsi sebelum Anda dapat mengaitkannya dengan CloudFront distribusi Anda.

1. Selanjutnya, Anda dapat mengaitkan fungsi dengan perilaku distribusi atau cache. Pada *MyFunctionName* halaman, pilih tab **Publikasikan**. 
**Awas**  
Pada langkah-langkah berikut, pilih distribusi atau perilaku cache yang digunakan untuk pengujian. Jangan kaitkan fungsi pengujian ini dengan perilaku distribusi atau cache yang digunakan dalam produksi.

1. Pilih **Tambah asosiasi**. 

1. Pada kotak dialog **Associate**, pilih distribusi dan/atau perilaku cache. Untuk **jenis Event**, pertahankan nilai default.

1. Pilih **Tambah asosiasi**.

   Tabel **distribusi terkait** menunjukkan distribusi terkait. 

1. Tunggu beberapa menit sampai distribusi terkait dapat menyelesaikan penyebaran. Untuk memeriksa status distribusi, pilih distribusi di tabel **Distribusi terkait**, lalu pilih **Lihat distribusi**.

   Ketika status distribusi **Diterapkan**, Anda siap memverifikasi bahwa fungsi tersebut dapat digunakan.

## Verifikasi fungsinya
<a name="functions-tutorial-verify"></a>

Setelah Anda menerapkan fungsi, Anda dapat memverifikasi bahwa itu berfungsi untuk distribusi Anda.

**Untuk memverifikasi fungsi**

1. Di browser web Anda, navigasikan ke nama domain distribusi Anda (misalnya,`https://d111111abcdef8.cloudfront.net`).

   Fungsi mengembalikan pengalihan ke browser, sehingga browser secara otomatis masuk ke `https://aws.amazon.com/cloudfront/`.

1. Di jendela baris perintah, Anda dapat menggunakan alat seperti **curl** mengirim permintaan ke nama domain distribusi Anda.

   ```
   curl -v https://d111111abcdef8.cloudfront.net/
   ```

   Dalam respons, Anda melihat respon pengalihan (`302 Found`) dan header respons khusus yang ditambahkan fungsi tersebut. Tanggapan Anda mungkin terlihat seperti contoh berikut.  
**Example**  

   ```
   curl -v https://d111111abcdef8.cloudfront.net/
   > GET / HTTP/1.1
   > Host: d111111abcdef8.cloudfront.net
   > User-Agent: curl/7.64.1
   > Accept: */*
   >
   < HTTP/1.1 302 Found
   < Server: CloudFront
   < Date: Tue, 16 Mar 2021 18:50:48 GMT
   < Content-Length: 0
   < Connection: keep-alive
   < Location: https://aws.amazon.com/cloudfront/
   < Cloudfront-Functions: generated-by-CloudFront-Functions
   < X-Cache: FunctionGeneratedResponse from cloudfront
   < Via: 1.1 3035b31bddaf14eded329f8d22cf188c.cloudfront.net (CloudFront)
   < X-Amz-Cf-Pop: PHX50-C2
   < X-Amz-Cf-Id: ULZdIz6j43uGBlXyob_JctF9x7CCbwpNniiMlmNbmwzH1YWP9FsEHg==
   ```