

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

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

Anda membuat fungsi dalam dua tahap: 

1. Buat kode fungsi sebagai JavaScript. Anda dapat menggunakan contoh default dari CloudFront konsol atau menulis sendiri. Untuk informasi selengkapnya, lihat topik berikut.
   + [Tulis kode fungsi](writing-function-code.md)
   + [CloudFront Fungsi struktur acara](functions-event-structure.md)
   + [CloudFront Contoh fungsi untuk CloudFront](service_code_examples_cloudfront_functions_examples.md)

1. Gunakan CloudFront untuk membuat fungsi dan sertakan kode Anda. Kode ada di dalam fungsi (bukan sebagai referensi).

------
#### [ Console ]

**Untuk membuat fungsi**

1. Masuk ke CloudFront konsol di [https://console.aws.amazon.com/cloudfront/v4/home#/functions](https://console.aws.amazon.com/cloudfront/v4/home#/functions) dan pilih halaman **Fungsi**.

1. Pilih **Buat fungsi**.

1. Masukkan nama fungsi yang unik di dalam Akun AWS, pilih JavaScript versi, lalu pilih **Lanjutkan**. Halaman detail untuk fungsi baru muncul.
**catatan**  
Untuk menggunakan [pasangan kunci-nilai](kvs-with-functions.md) dalam fungsi, Anda harus memilih JavaScript runtime 2.0.

1. Di bagian **Kode fungsi**, pilih tab **Build** dan masukkan kode fungsi Anda. Kode contoh yang disertakan dalam tab **Build** mengilustrasikan sintaks dasar untuk kode fungsi.

1. Pilih **Simpan perubahan**.

1. Jika kode fungsi menggunakan pasangan kunci-nilai, Anda harus mengaitkan penyimpanan nilai kunci. 

   Anda dapat mengaitkan penyimpanan nilai kunci saat pertama kali membuat fungsi. Atau, Anda dapat mengaitkannya nanti, dengan [memperbarui fungsi](update-function.md). 

   Untuk mengaitkan penyimpanan nilai kunci sekarang, ikuti langkah-langkah berikut:
   + Buka KeyValueStore bagian **Associate** dan pilih **Associate existing KeyValueStore**.
   + **Pilih penyimpanan nilai kunci yang berisi pasangan kunci-nilai dalam fungsi, lalu pilih Associate. KeyValueStore**

   CloudFront segera mengaitkan toko dengan fungsinya. Anda tidak perlu menyimpan fungsinya.

------
#### [ CLI ]

Jika Anda menggunakan CLI, Anda biasanya pertama kali membuat kode fungsi dalam file, dan kemudian membuat fungsi dengan. AWS CLI

**Untuk membuat fungsi**

1. Buat kode fungsi dalam file, dan simpan di direktori tempat komputer Anda dapat terhubung. 

1. Jalankan perintah seperti yang ditunjukkan pada contoh. Contoh ini menggunakan `fileb://` notasi untuk meneruskan file. Ini juga termasuk jeda baris untuk membuat perintah lebih mudah dibaca. 

   ```
   aws cloudfront create-function \
       --name MaxAge \
       --function-config '{"Comment":"Max Age 2 years","Runtime":"cloudfront-js-2.0","KeyValueStoreAssociations":{"Quantity":1,"Items":[{"KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}]}}' \
       --function-code fileb://function-max-age-v1.js
   ```
**Catatan**  
`Runtime`— Versi JavaScript. Untuk menggunakan [pasangan nilai kunci](kvs-with-functions.md) dalam fungsi, Anda harus menentukan versi 2.0.
`KeyValueStoreAssociations`— Jika fungsi Anda menggunakan pasangan kunci-nilai, Anda dapat mengaitkan penyimpanan nilai kunci saat pertama kali membuat fungsi. Atau, Anda dapat mengaitkannya nanti, dengan menggunakan`update-function`. `Quantity`Itu selalu `1` karena setiap fungsi hanya dapat memiliki satu penyimpanan nilai kunci yang terkait dengannya.

   Ketika perintah berhasil, Anda melihat output seperti berikut ini.

   ```
   ETag: ETVABCEXAMPLE
   FunctionSummary:
     FunctionConfig:
       Comment: Max Age 2 years
       Runtime: cloudfront-js-2.0
       KeyValueStoreAssociations= \
         {Quantity=1, \
         Items=[{KeyValueStoreARN='arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111'}]} \
     FunctionMetadata:
       CreatedTime: '2021-04-18T20:38:56.915000+00:00'
       FunctionARN: arn:aws:cloudfront::111122223333:function/MaxAge
       LastModifiedTime: '2023-11-19T20:38:56.915000+00:00'
       Stage: DEVELOPMENT
     Name: MaxAge
     Status: UNPUBLISHED
   Location: https://cloudfront.amazonaws.com/2020-05-31/function/arn:aws:cloudfront:::function/MaxAge
   ```

   Sebagian besar informasi diulang dari permintaan. Informasi lain ditambahkan oleh CloudFront.
**Catatan**  
`ETag`— Nilai ini berubah setiap kali Anda memodifikasi penyimpanan nilai kunci. Anda menggunakan nilai ini dan nama fungsi untuk mereferensikan fungsi di masa depan. Pastikan Anda selalu menggunakan arus`ETag`.
`FunctionARN`— ARN untuk fungsi Anda CloudFront.
111122223333 —. Akun AWS
`Stage`— Tahap fungsi (`LIVE`atau`DEVELOPMENT`). 
`Status`— Status fungsi (`PUBLISHED`atau`UNPUBLISHED`).

------

Setelah Anda membuat fungsi, itu ditambahkan ke `DEVELOPMENT` panggung. Kami menyarankan Anda [menguji fungsi Anda](test-function.md) sebelum [mempublikasikannya](publish-function.md). Setelah Anda mempublikasikan fungsi Anda, fungsi berubah ke `LIVE` panggung.