

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

# Perbarui fungsi
<a name="update-function"></a>

Anda dapat memperbarui fungsi kapan saja. Perubahan dilakukan hanya pada versi fungsi yang ada di `DEVELOPMENT` panggung. Untuk menyalin pembaruan dari `DEVELOPMENT` panggung ke`LIVE`, Anda harus [mempublikasikan fungsinya](publish-function.md). 

Anda dapat memperbarui kode fungsi di CloudFront konsol atau dengan AWS Command Line Interface (AWS CLI).

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

**Untuk memperbarui kode 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**.

   Pilih fungsi yang akan diperbarui.

1. Pilih **Edit** dan buat perubahan berikut:
   + Perbarui bidang apa pun di bagian **Detail**.
   + Ubah atau hapus penyimpanan nilai kunci terkait. Untuk informasi selengkapnya tentang penyimpanan nilai utama, lihat[Amazon CloudFront KeyValueStore](kvs-with-functions.md).
   + Ubah kode fungsi. Pilih tab **Build**, buat perubahan, lalu pilih **Simpan perubahan** untuk menyimpan perubahan pada kode.

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

**Untuk memperbarui kode fungsi**

1. Buka jendela baris perintah.

1. Jalankan perintah berikut.

   Contoh ini menggunakan `fileb://` notasi untuk meneruskan file. Ini juga termasuk jeda baris untuk membuat perintah lebih mudah dibaca. 

   ```
   aws cloudfront update-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 \
       --if-match ETVABCEXAMPLE
   ```
**Catatan**  
Anda dapat mengidentifikasi fungsi dengan namanya dan ETag (dalam `if-match` parameter). Pastikan Anda menggunakan arus ETag. Anda bisa mendapatkan nilai ini dari operasi [DescribeFunction](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_DescribeFunction.html)API.
Anda harus menyertakan`function-code`, bahkan jika Anda tidak ingin mengubahnya.
Hati-hati dengan`function-config`. Anda harus melewati semua yang ingin Anda simpan dalam konfigurasi. Secara khusus, tangani penyimpanan nilai kunci sebagai berikut:   
Untuk mempertahankan asosiasi penyimpanan nilai kunci yang ada (jika ada), tentukan nama toko yang *ada*.
Untuk mengubah asosiasi, tentukan nama penyimpanan nilai kunci *baru*.
Untuk menghapus asosiasi, hilangkan `KeyValueStoreAssociations` parameter. 

   Ketika perintah berhasil, Anda melihat output seperti berikut ini. 

   ```
   ETag: ETVXYZEXAMPLE
   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-12-19T23:41:15.389000+00:00' \
       Stage: DEVELOPMENT \
     Name: MaxAge \
     Status: UNPUBLISHED
   ```

------

Sebagian besar informasi diulang dari permintaan. Informasi lain ditambahkan oleh CloudFront.

**Catatan**  
`ETag`— Nilai ini berubah setiap kali Anda memodifikasi penyimpanan nilai kunci.
`FunctionARN`— ARN untuk fungsi Anda CloudFront .
`Stage`— Tahap untuk fungsi (`LIVE`atau`DEVELOPMENT`). 
`Status`— Status fungsi (`PUBLISHED`atau`UNPUBLISHED`).