Mengaitkan fungsi dengan distribusi - Amazon CloudFront

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

Mengaitkan fungsi dengan distribusi

Untuk menggunakan fungsi dengan distribusi, Anda mengaitkan fungsi dengan satu atau beberapa perilaku cache dalam distribusi. Anda dapat mengaitkan fungsi dengan beberapa perilaku cache di beberapa distribusi.

Anda dapat mengaitkan fungsi dengan salah satu dari berikut ini:

  • Perilaku cache yang ada

  • Perilaku cache baru dalam distribusi yang ada

  • Perilaku cache baru dalam distribusi baru

Ketika mengaitkan fungsi dengan perilaku cache, Anda harus memilih Jenis peristiwa. Jenis acara menentukan kapan CloudFront menjalankan fungsi.

Anda dapat memilih jenis acara berikut:

  • Permintaan penampil - Fungsi berjalan saat CloudFront menerima permintaan dari penampil.

  • Respons penampil - Fungsi berjalan sebelum CloudFront mengembalikan respons ke penampil.

Anda tidak dapat menggunakan tipe peristiwa yang menghadap asal (permintaan asal dan respons asal) dengan CloudFront Functions. Sebagai gantinya, Anda dapat menggunakan Lambda @Edge. Untuk informasi selengkapnya, lihat CloudFront peristiwa yang dapat memicu fungsi Lambda @Edge.

catatan

Sebelum mengaitkan fungsi, Publikasikan ke tahap LIVE.

Anda dapat mengaitkan fungsi dengan distribusi di CloudFront konsol atau dengan AWS Command Line Interface (AWS CLI). Prosedur berikut menunjukkan cara mengaitkan fungsi dengan perilaku cache yang ada.

Console
Untuk mengaitkan fungsi dengan perilaku cache yang ada
  1. Masuk ke CloudFront konsol di https://console.aws.amazon.com/cloudfront/v4/home#/functions dan pilih halaman Fungsi.

  2. Pilih fungsi yang ingin Anda kaitkan.

  3. Pada halaman Fungsi, pilih tab Publikasikan.

  4. Pilih fungsi Publikasikan.

  5. Pilih Tambah asosiasi. Pada kotak dialog yang muncul, pilih distribusi, jenis peristiwa, dan/atau perilaku cache.

    Untuk jenis acara, pilih kapan Anda ingin fungsi ini berjalan:

    • Permintaan Penampil - Jalankan fungsi setiap kali CloudFront menerima permintaan.

    • Respons Penampil - Jalankan fungsi setiap kali CloudFront mengembalikan respons.

  6. Untuk menyimpan konfigurasi, pilih Tambahkan asosiasi.

CloudFront mengaitkan distribusi dengan fungsi. Tunggu beberapa menit sampai distribusi terkait dapat menyelesaikan penyebaran. Anda dapat memilih Lihat distribusi pada halaman detail fungsi untuk memeriksa kemajuan.

CLI
Untuk mengaitkan fungsi dengan perilaku cache yang ada
  1. Buka jendela baris perintah.

  2. Masukkan perintah berikut untuk menyimpan konfigurasi distribusi untuk distribusi yang perilaku cache-nya ingin Anda kaitkan dengan suatu fungsi. Perintah ini menyimpan konfigurasi distribusi ke file bernama dist-config.yaml. Untuk menggunakan perintah ini, lakukan hal berikut:

    • Ganti DistributionIDdengan ID distribusi.

    • Jalankan perintah pada satu garis. Dalam contoh, jeda baris disediakan untuk membuat contoh lebih mudah dibaca.

    aws cloudfront get-distribution-config \ --id DistributionID \ --output yaml > dist-config.yaml

    Ketika perintah berhasil, AWS CLI mengembalikan tidak ada output.

  3. Buka file bernama dist-config.yaml yang Anda buat. Edit file untuk membuat perubahan berikut.

    1. Ubah nama ETag bidang menjadiIfMatch, tetapi jangan ubah nilai bidang.

    2. Dalam perilaku cache, temukan objek bernama FunctionAssociations. Memperbarui objek ini untuk menambahkan asosiasi fungsi. Sintaks YAML untuk asosiasi fungsi terlihat seperti contoh berikut.

      • Contoh berikut menunjukkan jenis peristiwa permintaan penampil (pemicu). Untuk menggunakan jenis peristiwa respons penampil, ganti viewer-request dengan viewer-response.

      • Ganti arn:aws:cloudfront::111122223333:function/ExampleFunctiondengan Amazon Resource Name (ARN) dari fungsi yang Anda kaitkan dengan perilaku cache ini. Untuk mendapatkan fungsi ARN, Anda dapat menggunakan perintah aws cloudfront list-functions.

      FunctionAssociations: Items: - EventType: viewer-request FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction Quantity: 1
    3. Setelah melakukan perubahan ini, simpan file.

  4. Gunakan perintah berikut untuk memperbarui distribusi guna menambahkan asosiasi fungsi. Untuk menggunakan perintah ini, lakukan hal berikut:

    • Ganti DistributionIDdengan ID distribusi.

    • Jalankan perintah pada satu garis. Dalam contoh, jeda baris disediakan untuk membuat contoh lebih mudah dibaca.

    aws cloudfront update-distribution \ --id DistributionID \ --cli-input-yaml file://dist-config.yaml

    Setelah perintah berhasil, Anda akan melihat output seperti berikut yang menjelaskan distribusi yang baru saja diperbarui dengan asosiasi fungsi. Contoh output berikut dipotong agar mudah dibaca.

    Distribution: ARN: arn:aws:cloudfront::111122223333:distribution/EBEDLT3BGRBBW ... truncated ... DistributionConfig: ... truncated ... DefaultCacheBehavior: ... truncated ... FunctionAssociations: Items: - EventType: viewer-request FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction Quantity: 1 ... truncated ... DomainName: d111111abcdef8.cloudfront.net Id: EDFDVBD6EXAMPLE LastModifiedTime: '2021-04-19T22:39:09.158000+00:00' Status: InProgress ETag: E2VJGGQEG1JT8S

Distribusi Status berubah menjadi InProgress saat distribusi dipindahkan. Ketika konfigurasi distribusi baru mencapai lokasi CloudFront tepi, lokasi tepi itu mulai menggunakan fungsi terkait. Ketika distribusi sepenuhnya digunakan, Status perubahan kembali keDeployed. Ini menunjukkan bahwa CloudFront fungsi terkait hidup di semua lokasi CloudFront tepi di seluruh dunia. Ini biasanya memerlukan waktu beberapa menit.