

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

# Parameter halaman dan otomatisasi
<a name="paramters"></a>

Parameter adalah fitur canggih di AWS App Studio yang digunakan untuk meneruskan nilai dinamis antara berbagai komponen, halaman, dan otomatisasi dalam aplikasi Anda. Dengan menggunakan parameter, Anda dapat membuat pengalaman yang fleksibel dan sadar konteks, membuat aplikasi Anda lebih responsif dan dipersonalisasi. Artikel ini mencakup dua jenis parameter: parameter halaman dan parameter otomatisasi.

**Topics**
+ [Parameter halaman](parameters-page.md)
+ [Parameter otomatisasi](parameters-automation.md)

# Parameter halaman
<a name="parameters-page"></a>

Parameter halaman adalah cara untuk mengirim informasi antar halaman dan sering digunakan saat menavigasi dari satu halaman ke halaman lain dalam aplikasi App Studio untuk mempertahankan konteks atau meneruskan data. Parameter halaman biasanya terdiri dari nama dan nilai.

## Kasus penggunaan parameter halaman
<a name="parameters-pages-use-cases"></a>

Parameter halaman digunakan untuk meneruskan data antara halaman dan komponen yang berbeda dalam aplikasi App Studio Anda. Mereka sangat membantu untuk kasus penggunaan berikut:

1. **Pencarian dan pemfilteran**: Saat pengguna menelusuri di beranda aplikasi Anda, istilah penelusuran dapat diteruskan sebagai parameter ke halaman hasil, sehingga hanya menampilkan item yang difilter yang relevan. Misalnya, jika pengguna mencari*noise-cancelling headphones*, parameter dengan nilai *noise-cancelling headphones* dapat diteruskan ke halaman daftar produk.

1. **Melihat detail item**: Jika pengguna mengklik daftar, seperti produk, pengenal unik item tersebut dapat diteruskan sebagai parameter ke halaman detail. Ini memungkinkan halaman detail untuk menampilkan semua informasi tentang item tertentu. Misalnya, ketika pengguna mengklik produk headphone, ID unik produk diteruskan sebagai parameter ke halaman detail produk.

1. **Melewati konteks pengguna dalam navigasi halaman**: Saat pengguna menavigasi antar halaman, parameter dapat meneruskan konteks penting, seperti lokasi pengguna, kategori produk pilihan, konten keranjang belanja, dan pengaturan lainnya. Misalnya, saat pengguna menelusuri kategori produk yang berbeda di aplikasi Anda, lokasi dan kategori pilihan mereka dipertahankan sebagai parameter, memberikan pengalaman yang dipersonalisasi dan konsisten.

1. **Tautan dalam**: Gunakan parameter halaman untuk membagikan atau menandai tautan ke halaman tertentu di dalam aplikasi.

1. **Tindakan data**: Anda dapat membuat tindakan data yang menerima nilai parameter untuk memfilter dan menanyakan sumber data Anda berdasarkan parameter yang diteruskan. Misalnya, pada halaman daftar produk, Anda dapat membuat tindakan data yang menerima `category` parameter untuk mengambil produk yang relevan.

## Pertimbangan keamanan parameter halaman
<a name="parameters-pages-security"></a>

Meskipun parameter halaman menyediakan cara yang ampuh untuk meneruskan data antar halaman, Anda harus menggunakannya dengan hati-hati, karena mereka berpotensi mengekspos informasi sensitif jika tidak digunakan dengan benar. Berikut adalah pertimbangan keamanan penting yang perlu diingat:

1. **Hindari mengekspos data sensitif di URLs**

   1. **Risiko**: URLs, termasuk parameter tindakan data, sering terlihat di log server, riwayat browser, dan tempat lain. Karena itu, penting untuk menghindari mengekspos data sensitif, seperti kredensi pengguna, informasi identitas pribadi (PII), atau data rahasia lainnya, dalam nilai parameter halaman.

   1. **Mitigasi**: Pertimbangkan untuk menggunakan pengidentifikasi yang dapat dipetakan dengan aman ke data sensitif. Misalnya, alih-alih meneruskan nama pengguna atau alamat email sebagai parameter, Anda dapat meneruskan pengenal unik acak yang dapat digunakan untuk mengambil nama atau email pengguna.

# Parameter otomatisasi
<a name="parameters-automation"></a>

Parameter otomatisasi adalah fitur canggih di App Studio yang dapat digunakan untuk membuat otomatisasi yang fleksibel dan dapat digunakan kembali dengan meneruskan nilai dinamis dari berbagai sumber, seperti UI, otomatisasi lain, atau tindakan data. Mereka bertindak sebagai placeholder yang diganti dengan nilai aktual ketika otomatisasi dijalankan, memungkinkan Anda untuk menggunakan otomatisasi yang sama dengan input yang berbeda setiap kali. 

Dalam otomatisasi, parameter memiliki nama unik, dan Anda dapat mereferensikan nilai parameter menggunakan variabel params diikuti dengan nama parameter, misalnya,`{{params.customerId}}`.

Artikel ini memberikan pemahaman mendalam tentang parameter otomatisasi, termasuk konsep dasar, penggunaan, dan praktik terbaiknya.

## Manfaat parameter otomatisasi
<a name="parameters-automation-benefits"></a>

Parameter otomatisasi memberikan beberapa manfaat, termasuk daftar berikut:

1. **Reusability**: Dengan menggunakan parameter, Anda dapat membuat otomatisasi yang dapat digunakan kembali yang dapat disesuaikan dengan nilai input yang berbeda, memungkinkan Anda untuk menggunakan kembali logika otomatisasi yang sama dengan input yang berbeda.

1. **Fleksibilitas**: Alih-alih nilai hard-coding ke dalam otomatisasi, Anda dapat menentukan parameter dan memberikan nilai yang berbeda bila diperlukan, membuat otomatisasi Anda lebih dinamis dan mudah beradaptasi.

1. **Pemisahan kekhawatiran**: Parameter membantu memisahkan logika otomatisasi dari nilai-nilai spesifik yang digunakan, mempromosikan organisasi kode dan pemeliharaan.

1. **Validasi**: Setiap parameter memiliki tipe data, seperti string, nomor, atau boolean, yang divalidasi saat runtime. Ini memastikan bahwa permintaan dengan tipe data yang salah ditolak tanpa perlu kode validasi kustom.

1. **Parameter opsional dan wajib**: Anda dapat menetapkan parameter otomatisasi sebagai opsional atau wajib. Parameter yang diperlukan harus disediakan saat menjalankan otomatisasi, sedangkan parameter opsional dapat memiliki nilai default atau dihilangkan. Fleksibilitas ini memungkinkan Anda membuat otomatisasi yang lebih serbaguna yang dapat menangani skenario berbeda berdasarkan parameter yang disediakan.

## Skenario dan kasus penggunaan
<a name="parameters-automation-scenarios"></a>

### Skenario: Mengambil detail produk
<a name="parameters-automation-scenario-product-details"></a>



Bayangkan Anda memiliki otomatisasi yang mengambil detail produk dari database berdasarkan ID produk. Otomatisasi ini dapat memiliki parameter yang disebut`productId`.

`productId`Parameter bertindak sebagai placeholder yang dapat Anda isi dengan nilai ID produk aktual saat menjalankan otomatisasi. Alih-alih hard-coding ID produk tertentu ke dalam otomatisasi, Anda dapat menentukan `productId` parameter dan meneruskan nilai ID produk yang berbeda setiap kali Anda menjalankan otomatisasi.

Anda dapat memanggil otomatisasi ini dari sumber data komponen, meneruskan ID produk yang dipilih sebagai `productId` parameter menggunakan sintaks braket kurawal ganda:. `{{ui.productsTable.selectedRow.id}}` Dengan cara ini, ketika pengguna memilih produk dari tabel (`ui.productsTable`), otomatisasi akan mengambil detail untuk produk yang dipilih dengan meneruskan id dari baris yang dipilih sebagai parameter. `productId`

Atau, Anda dapat menjalankan otomatisasi ini dari otomatisasi lain yang mengulang daftar produk dan mengambil detail untuk setiap produk dengan meneruskan id produk sebagai parameter. `productId` Dalam skenario ini, nilai `productId` parameter akan diberikan secara dinamis dari `{{product.id}}` ekspresi di setiap iterasi loop.

Dengan menggunakan `productId` parameter dan sintaks braket keriting ganda, Anda dapat membuat otomatisasi ini lebih fleksibel dan dapat digunakan kembali. Alih-alih membuat otomatisasi terpisah untuk setiap produk, Anda dapat memiliki otomatisasi tunggal yang dapat mengambil detail untuk produk apa pun hanya dengan memberikan ID produk yang sesuai sebagai nilai parameter dari sumber yang berbeda, seperti komponen UI atau otomatisasi lainnya.

### Skenario: Menangani parameter opsional dengan nilai fallback
<a name="parameters-automation-scenario-optional-parameters"></a>

Mari pertimbangkan skenario di mana Anda memiliki entitas “Tugas” dengan kolom “Pemilik” yang diperlukan, tetapi Anda ingin bidang ini menjadi opsional dalam otomatisasi dan memberikan nilai fallback jika pemilik tidak dipilih.

1. Buat otomatisasi dengan parameter bernama `Owner` yang memetakan ke `Owner` bidang `Task` entitas.

1. Karena `Owner` bidang diperlukan dalam entitas, `Owner` parameter akan disinkronkan dengan pengaturan yang diperlukan.

1. Untuk membuat `Owner` parameter opsional dalam otomatisasi, matikan `required` pengaturan untuk parameter ini.

1. Dalam logika otomatisasi Anda, Anda dapat menggunakan ekspresi seperti`{{params.Owner || currentUser.userId}}`. Ekspresi ini memeriksa apakah `Owner` parameter disediakan. Jika tidak disediakan, itu akan mundur ke ID pengguna saat ini sebagai pemilik.

1. Dengan cara ini, jika pengguna tidak memilih pemilik dalam bentuk atau komponen, otomatisasi akan secara otomatis menetapkan pengguna saat ini sebagai pemilik untuk tugas tersebut.

Dengan mengaktifkan `required` pengaturan untuk `Owner` parameter dan menggunakan ekspresi fallback, Anda dapat memisahkannya dari persyaratan bidang entitas, menjadikannya opsional dalam otomatisasi, dan memberikan nilai default saat parameter tidak disediakan.

## Mendefinisikan jenis parameter otomatisasi
<a name="parameters-automation-create"></a>

Dengan menggunakan tipe parameter untuk menentukan tipe data dan menetapkan persyaratan, Anda dapat mengontrol input untuk otomatisasi Anda. Ini membantu memastikan otomatisasi Anda berjalan dengan andal dengan input yang diharapkan.

### Menyinkronkan tipe dari entitas
<a name="parameters-automation-synchronize-entity"></a>

Menyinkronkan tipe dan persyaratan parameter secara dinamis dari definisi bidang entitas menyederhanakan otomatisasi bangunan yang berinteraksi dengan data entitas, memastikan bahwa parameter selalu mencerminkan jenis dan persyaratan bidang entitas terbaru.

Prosedur berikut merinci langkah-langkah umum untuk menyinkronkan tipe parameter dari entitas:

1. Buat entitas dengan bidang yang diketik (misalnya Boolean, Number, dll.) Dan tandai bidang sesuai kebutuhan.

1. Buat otomatisasi baru.

1. Tambahkan parameter ke otomatisasi, dan saat memilih **Jenis**, pilih bidang entitas yang ingin Anda sinkronkan. Tipe data dan pengaturan yang diperlukan akan secara otomatis menyinkronkan dari bidang entitas yang dipetakan

1. Jika diperlukan, Anda dapat mengganti pengaturan “wajib” dengan mengaktifkannya on/off untuk setiap parameter. Ini berarti status yang diperlukan tidak akan disinkronkan dengan bidang entitas, tetapi jika tidak, status tersebut akan tetap disinkronkan.

### Mendefinisikan tipe secara manual
<a name="parameters-automation-custom-types"></a>

Anda juga dapat menentukan jenis parameter secara manual tanpa menyinkronkan dari entitas

Dengan mendefinisikan jenis parameter kustom, Anda dapat membuat otomatisasi yang menerima jenis input tertentu dan menangani parameter opsional atau wajib sesuai kebutuhan, tanpa bergantung pada pemetaan bidang entitas.

1. Buat entitas dengan bidang yang diketik (misalnya Boolean, Number, dll.) Dan tandai bidang sesuai kebutuhan.

1. Buat otomatisasi baru.

1. Tambahkan parameter ke otomatisasi, dan saat memilih **Jenis**, pilih jenis yang diinginkan.

## Mengkonfigurasi nilai dinamis untuk diteruskan ke parameter otomatisasi
<a name="parameters-automation-pass-values"></a>

Setelah Anda menentukan parameter untuk otomatisasi, Anda dapat meneruskan nilai kepada mereka saat menjalankan otomatisasi. Anda dapat meneruskan nilai parameter dengan dua cara:

1. **Pemicu komponen**: Jika Anda menjalankan otomatisasi dari pemicu komponen, seperti klik tombol, Anda dapat menggunakan JavaScript ekspresi untuk meneruskan nilai dari konteks komponen. Misalnya, jika Anda memiliki kolom input teks bernama`emailInput`, Anda dapat meneruskan nilainya ke parameter email dengan ekspresi berikut:`ui.emailInput.value`.

1. **Otomatisasi lain**: Jika Anda menjalankan otomatisasi dari otomatisasi lain, Anda dapat menggunakan JavaScript ekspresi untuk meneruskan nilai dari konteks otomatisasi. Misalnya, Anda dapat melewatkan nilai parameter lain atau hasil dari langkah tindakan sebelumnya.

## Jenis keamanan
<a name="parameters-automation-type-safety"></a>

Dengan mendefinisikan parameter dengan tipe data tertentu, seperti String, Number, atau Boolean, Anda dapat memastikan bahwa nilai yang diteruskan ke otomatisasi Anda adalah tipe yang diharapkan.

**catatan**  
Di App Studio, tanggal adalah tanggal string ISO, dan tanggal tersebut akan divalidasi juga.

Keamanan tipe ini membantu mencegah ketidakcocokan tipe, yang dapat menyebabkan kesalahan atau perilaku tak terduga dalam logika otomatisasi Anda. Misalnya, jika Anda mendefinisikan parameter sebagai a`Number`, Anda dapat yakin bahwa nilai apa pun yang diteruskan ke parameter itu akan menjadi angka, dan Anda tidak perlu melakukan pemeriksaan atau konversi tipe tambahan dalam otomatisasi Anda.

## Validasi
<a name="parameters-automation-validation"></a>

Anda dapat menambahkan aturan validasi ke parameter Anda, memastikan bahwa nilai yang diteruskan ke otomatisasi Anda memenuhi kriteria tertentu.

Meskipun App Studio tidak menyediakan setelan validasi bawaan untuk parameter, Anda dapat menerapkan validasi kustom dengan menambahkan JavaScript tindakan ke otomatisasi yang menimbulkan kesalahan jika batasan tertentu dilanggar.

Untuk bidang entitas, subset aturan validasi, seperti minimum/maximum nilai, didukung. Namun, itu tidak divalidasi pada tingkat otomatisasi, hanya pada lapisan data, saat menjalankan tindakan Create/Update/Delete Rekam.

## Praktik terbaik untuk parameter otomatisasi
<a name="parameters-automation-best-practices"></a>

Untuk memastikan bahwa parameter otomatisasi Anda dirancang dengan baik, dapat dipelihara, dan mudah digunakan, ikuti praktik terbaik berikut:

1. **Gunakan nama parameter deskriptif**: Pilih nama parameter yang dengan jelas menggambarkan tujuan atau konteks parameter.

1. **Berikan deskripsi parameter**: Manfaatkan bidang **Deskripsi** saat menentukan parameter untuk menjelaskan tujuan, kendala, dan harapannya. Deskripsi ini akan muncul di JSDoc komentar saat mereferensikan parameter, serta di antarmuka pengguna mana pun di mana pengguna perlu memberikan nilai untuk parameter saat menjalankan otomatisasi.

1. **Gunakan tipe data yang sesuai**: Pertimbangkan dengan cermat tipe data setiap parameter berdasarkan nilai input yang diharapkan, misalnya: String, Number, Boolean, Object.

1. **Validasi nilai parameter**: Terapkan pemeriksaan validasi yang sesuai dalam otomatisasi Anda untuk memastikan bahwa nilai parameter memenuhi persyaratan tertentu sebelum melanjutkan dengan tindakan lebih lanjut.

1. **Gunakan nilai fallback atau default**: Meskipun App Studio saat ini tidak mendukung pengaturan nilai default untuk parameter, Anda dapat menerapkan nilai fallback atau default saat menggunakan parameter dalam logika otomatisasi Anda. Misalnya, Anda dapat menggunakan ekspresi seperti `{{ params.param1 || "default value" }}` untuk memberikan nilai default jika `param1` parameter tidak disediakan atau memiliki nilai palsu.

1. **Pertahankan konsistensi parameter**: Jika Anda memiliki beberapa otomatisasi yang memerlukan parameter serupa, cobalah untuk menjaga konsistensi dalam nama parameter dan tipe data di seluruh otomatisasi tersebut.

1. **Penggunaan parameter dokumen**: Pertahankan dokumentasi yang jelas untuk otomatisasi Anda, termasuk deskripsi setiap parameter, tujuannya, nilai yang diharapkan, dan contoh atau kasus tepi yang relevan.

1. **Tinjau dan refactor sesering mungkin**: Tinjau otomatisasi dan parameternya secara berkala, refactoring atau konsolidasi parameter sesuai kebutuhan untuk meningkatkan kejelasan, pemeliharaan, dan penggunaan kembali.

1. **Batasi jumlah parameter**: Meskipun parameter memberikan fleksibilitas, terlalu banyak parameter dapat membuat otomatisasi menjadi rumit dan sulit digunakan. Bertujuan untuk mencapai keseimbangan antara fleksibilitas dan kesederhanaan dengan membatasi jumlah parameter hanya untuk apa yang diperlukan.

1. **Pertimbangkan pengelompokan parameter**: Jika Anda menemukan diri Anda mendefinisikan beberapa parameter terkait, pertimbangkan untuk mengelompokkannya menjadi satu parameter. *Object*

1. **Kekhawatiran terpisah**: Hindari menggunakan satu parameter untuk berbagai tujuan atau menggabungkan nilai yang tidak terkait menjadi satu parameter. Setiap parameter harus mewakili perhatian atau potongan data yang berbeda.

1. **Gunakan alias parameter**: Jika Anda memiliki parameter dengan nama panjang atau kompleks, pertimbangkan untuk menggunakan alias atau versi singkatan dalam logika otomatisasi untuk keterbacaan dan pemeliharaan yang lebih baik.

Dengan mengikuti praktik terbaik ini, Anda dapat memastikan bahwa parameter otomatisasi Anda dirancang dengan baik, dapat dipelihara, dan mudah digunakan, yang pada akhirnya meningkatkan kualitas dan efisiensi otomatisasi Anda secara keseluruhan.