Fungsi uji - Amazon CloudFront

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

Fungsi uji

Sebelum Anda menerapkan fungsi ke live stage (produksi), Anda dapat menguji fungsi Anda untuk memverifikasi bahwa fungsi berfungsi sebagaimana dimaksud. Untuk menguji fungsi, Anda menentukan objek peristiwa yang mewakili permintaan HTTP atau respons yang dapat diterima CloudFront distribusi Anda dalam produksi.

CloudFront Fungsi melakukan hal berikut:

  1. Menjalankan fungsi, menggunakan objek acara yang disediakan sebagai input.

  2. Mengembalikan hasil fungsi (objek peristiwa yang dimodifikasi) bersama dengan log fungsi atau pesan kesalahan dan pemanfaatan komputasi fungsi. Untuk informasi lebih lanjut tentang pemanfaatan komputasi, lihat. Memahami pemanfaatan komputasi

Mengatur objek acara

Sebelum Anda menguji suatu fungsi, Anda harus mengatur objek acara untuk mengujinya. Ada beberapa opsi.

Opsi 1: Siapkan objek acara tanpa menyimpannya

Anda dapat mengatur objek acara di editor visual di CloudFront konsol dan tidak menyimpannya.

Anda dapat menggunakan objek acara ini untuk menguji fungsi dari CloudFront konsol, meskipun tidak disimpan.

Opsi 2: Buat objek acara di editor visual

Anda dapat mengatur objek acara di editor visual di CloudFront konsol dan tidak menyimpannya. Anda dapat membuat 10 objek acara untuk setiap fungsi sehingga Anda dapat, misalnya, menguji berbagai kemungkinan input.

Saat Anda membuat objek acara dengan cara ini, Anda dapat menggunakan objek acara untuk menguji fungsi di CloudFront konsol. Anda tidak dapat menggunakannya untuk menguji fungsi menggunakan AWS API atau SDK.

Opsi 3: Buat objek acara menggunakan editor teks

Anda dapat menggunakan editor teks untuk membuat objek acara dalam format JSON. Untuk informasi tentang struktur objek peristiwa, lihatStruktur peristiwa.

Anda dapat menggunakan objek acara ini untuk menguji fungsi menggunakan CLI. Tetapi Anda tidak dapat menggunakannya untuk menguji fungsi di CloudFront konsol.

Untuk membuat objek acara (opsi 1 atau 2)
  1. Masuk ke CloudFront konsol di https://console.aws.amazon.com/cloudfront/v4/home#/functions dan pilih halaman Fungsi.

    Pilih fungsi yang ingin Anda uji.

  2. Pada halaman detail fungsi, pilih tab Uji.

  3. Untuk jenis Acara, pilih salah satu opsi berikut:

    • Pilih permintaan Viewer jika fungsi memodifikasi permintaan HTTP atau menghasilkan respons berdasarkan permintaan. Bagian Permintaan muncul.

    • Pilih Respons penampil. Bagian Permintaan dan Respons muncul.

  4. Lengkapi bidang untuk disertakan dalam acara tersebut. Anda dapat memilih Edit JSON untuk melihat JSON mentah.

  5. (Opsional) Untuk menyimpan acara, pilih Simpan dan di acara uji Simpan, masukkan nama lalu pilih Simpan.

    Anda juga dapat memilih Edit JSON dan menyalin JSON mentah, dan menyimpannya di file Anda sendiri, di luar. CloudFront

Untuk membuat objek acara (opsi 3)

Buat objek acara menggunakan editor teks. Simpan file di direktori tempat komputer Anda dapat terhubung.

Verifikasi bahwa Anda mengikuti pedoman ini:

  • HilangkandistributionDomainName,distributionId, dan requestId bidang.

  • Nama header, cookie, dan string kueri harus huruf kecil.

Salah satu opsi untuk membuat objek acara dengan cara ini adalah membuat sampel menggunakan editor visual. Anda dapat yakin bahwa sampel diformat dengan benar. Anda kemudian dapat menyalin JSON mentah dan menempelkannya ke editor teks dan menyimpan file.

Untuk informasi lebih lanjut tentang struktur suatu peristiwa, lihatStruktur peristiwa.

Uji fungsi

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

Console
Untuk menguji fungsi
  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 uji.

  3. Pilih tab Uji.

  4. Pastikan acara yang benar ditampilkan. Untuk beralih dari acara yang ditampilkan saat ini, pilih acara lain di bidang Pilih acara uji.

  5. Pilih fungsi Uji. Konsol menunjukkan output fungsi, termasuk log fungsi dan pemanfaatan komputasi.

CLI

Anda dapat menguji suatu fungsi dengan menggunakan aws cloudfront test-function perintah.

Untuk menguji fungsi
  1. Buka jendela baris perintah.

  2. Jalankan perintah berikut dari direktori yang sama yang berisi file yang ditentukan.

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

    aws cloudfront test-function \ --name MaxAge \ --if-match ETVABCEXAMPLE \ --event-object fileb://event-maxage-test01.json \ --stage DEVELOPMENT
    Catatan
    • Anda mereferensikan fungsi dengan namanya dan ETag (dalam if-match parameter). Anda mereferensikan objek acara berdasarkan lokasinya di sistem file Anda.

    • Panggung bisa DEVELOPMENT atauLIVE.

    Ketika perintah berhasil, Anda melihat output seperti berikut ini.

    TestResult: ComputeUtilization: '21' FunctionErrorMessage: '' FunctionExecutionLogs: [] FunctionOutput: '{"response":{"headers":{"cloudfront-functions":{"value":"generated-by-CloudFront-Functions"},"location":{"value":"https://aws.amazon.com/cloudfront/"}},"statusDescription":"Found","cookies":{},"statusCode":302}}' FunctionSummary: FunctionConfig: Comment: MaxAge function 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-17-20T10:38:57.057000+00:00' Stage: DEVELOPMENT Name: MaxAge Status: UNPUBLISHED
Catatan
  • FunctionExecutionLogs berisi daftar baris log yang ditulis fungsi dalam pernyataan console.log() (jika ada).

  • ComputeUtilizationberisi informasi tentang menjalankan fungsi Anda. Lihat Memahami pemanfaatan komputasi.

  • FunctionOutput berisi objek peristiwa yang dikembalikan fungsi.

Memahami pemanfaatan komputasi

Penggunaan komputasi adalah jumlah waktu yang dibutuhkan fungsi untuk menjalankan sebagai persentase dari waktu maksimum yang diizinkan. Misalnya, nilai 35 berarti fungsi selesai pada 35% dari waktu maksimum yang diizinkan.

Jika suatu fungsi terus menerus melebihi waktu maksimum yang diizinkan, CloudFront membatasi fungsi tersebut. Daftar berikut menjelaskan kemungkinan fungsi terhambat berdasarkan nilai pemanfaatan komputasi.

Nilai pemanfaatan komputasi:

  • 1 — 50 — Fungsinya nyaman di bawah waktu maksimum yang diizinkan dan harus berjalan tanpa pelambatan.

  • 51 — 70 — Fungsi mendekati waktu maksimum yang diizinkan. Pertimbangkan untuk mengoptimalkan kode fungsi.

  • 71 — 100 — Fungsi ini sangat dekat dengan atau melebihi waktu maksimum yang diizinkan. CloudFront kemungkinan akan membatasi fungsi ini jika Anda mengaitkannya dengan distribusi.