Mengubah data (mengubah) - AWS IoT SiteWise

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

Mengubah data (mengubah)

Transformasi adalah ekspresi matematika yang memetakan titik data properti aset dari satu bentuk ke bentuk lainnya. Ekspresi transformasi terdiri dari variabel properti aset, literal, operator, dan fungsi. Titik data yang diubah memiliki one-to-one hubungan dengan titik data input. AWS IoT SiteWise menghitung titik data baru yang diubah setiap kali salah satu properti input menerima titik data baru.

catatan

Untuk pembaruan properti dengan stempel waktu yang sama, nilai keluaran dapat ditimpa oleh pembaruan dari properti masuk lainnya.

Misalnya, jika aset Anda memiliki aliran pengukuran suhu yang diberi nama Temperature_C dengan satuan dalam Celcius, Anda dapat mengonversi setiap titik data menjadi Fahrenheit dengan rumus. Temperature_F = 9/5 * Temperature_C + 32 Setiap kali AWS IoT SiteWise menerima titik data dalam aliran Temperature_C pengukuran, Temperature_F nilai yang sesuai dihitung dalam beberapa detik dan tersedia sebagai Temperature_F properti.

Jika transformasi Anda berisi lebih dari satu variabel, titik data yang tiba lebih awal segera memulai perhitungan. Pertimbangkan contoh di mana produsen suku cadang menggunakan transformasi untuk memantau kualitas produk. Menggunakan standar yang berbeda berdasarkan jenis bagian, pabrikan menggunakan pengukuran berikut untuk mewakili proses:

  • Part_Number- Sebuah string yang mengidentifikasi tipe bagian.

  • Good_Count- Bilangan bulat yang bertambah satu jika bagian tersebut memenuhi standar.

  • Bad_Count- Bilangan bulat yang bertambah satu jika bagian tidak memenuhi standar.

Pabrikan juga menciptakan transformasi,Quality_Monitor, yang sama. if(eq(Part_Number, "BLT123") and (Bad_Count / (Good_Count + Bad_Count) > 0.1), "Caution", "Normal")

Transformasi ini memantau persentase bagian buruk yang diproduksi untuk jenis bagian tertentu. Jika nomor bagiannya BLT123 dan persentase bagian yang buruk melebihi 10 persen (0,1), transformasi kembali"Caution". Jika tidak, transformasi akan kembali"Normal".

catatan
  • Jika Part_Number menerima titik data baru sebelum pengukuran lain, Quality_Monitor transformasi menggunakan Part_Number nilai baru Good_Count dan Bad_Count nilai terbaru. Untuk menghindari kesalahan, setel ulang Good_Count dan Bad_Count sebelum pembuatan berikutnya dijalankan.

  • Gunakan metrik jika Anda ingin mengevaluasi ekspresi hanya setelah semua variabel menerima titik data baru.

Tentukan transformasi (konsol)

Saat menentukan transformasi untuk model aset di AWS IoT SiteWise konsol, Anda menentukan parameter berikut:

  • Nama - Nama properti.

  • Unit — (Opsional) Unit ilmiah untuk properti, seperti mm atau Celcius.

  • Tipe data — Tipe data dari transformasi, yang dapat berupa Double atau String.

  • ID Eksternal — (Opsional) Ini adalah ID yang ditentukan pengguna. Untuk informasi selengkapnya, lihat Referensi objek dengan eksternal IDs di AWS IoT SiteWise Panduan Pengguna.

  • Formula - Ekspresi transformasi. Ekspresi transformasi tidak dapat menggunakan fungsi agregasi atau fungsi temporal. Untuk membuka fitur auto complete, mulai mengetik atau tekan tombol panah bawah. Untuk informasi selengkapnya, lihat Gunakan ekspresi rumus.

    penting

    Transformasi dapat memasukkan properti yang integer, ganda, Boolean, atau tipe string. Boolean mengkonversi ke 0 (false) dan 1 (true).

    Transformasi harus memasukkan satu atau lebih properti yang bukan atribut dan sejumlah properti atribut. AWS IoT SiteWise menghitung titik data baru yang diubah setiap kali properti input yang bukan atribut menerima titik data baru. Nilai atribut baru tidak meluncurkan pembaruan transformasi. Tingkat permintaan yang sama untuk API operasi data properti aset berlaku untuk hasil perhitungan transformasi.

    Ekspresi rumus hanya dapat menampilkan nilai ganda atau string. Ekspresi bersarang dapat menampilkan tipe data lain, seperti string, tetapi rumus secara keseluruhan harus mengevaluasi ke angka atau string. Anda dapat menggunakan fungsi jp untuk mengonversi string ke angka. Nilai Boolean harus 1 (true) atau 0 (false). Untuk informasi selengkapnya, lihat Nilai tidak terdefinisi, tak terbatas, dan meluap.

Untuk informasi selengkapnya, lihat Buat model aset (konsol).

Tentukan transformasi ()AWS CLI

Saat Anda menentukan transformasi untuk model aset dengan AWS IoT SiteWise API, Anda menentukan parameter berikut:

  • name- Nama properti.

  • unit— (Opsional) Unit ilmiah untuk properti, seperti mm atau Celcius.

  • dataType— Tipe data transformasi, yang harus DOUBLE atauSTRING.

  • externalId— (Opsional) Ini adalah ID yang ditentukan pengguna. Untuk informasi selengkapnya, lihat Referensi objek dengan eksternal IDs di AWS IoT SiteWise Panduan Pengguna.

  • expressionEkspresi transformasi. Ekspresi transformasi tidak dapat menggunakan fungsi agregasi atau fungsi temporal. Untuk informasi selengkapnya, lihat Gunakan ekspresi rumus.

  • variables— Daftar variabel yang mendefinisikan properti lain dari aset Anda untuk digunakan dalam ekspresi. Setiap struktur variabel berisi nama sederhana untuk digunakan dalam ekspresi dan value struktur yang mengidentifikasi properti mana yang akan ditautkan ke variabel itu. valueStruktur berisi informasi berikut:

    • propertyId— ID properti dari mana untuk memasukkan nilai. Anda dapat menggunakan nama properti alih-alih ID-nya.

    penting

    Transformasi dapat memasukkan properti yang integer, ganda, Boolean, atau tipe string. Boolean mengkonversi ke 0 (false) dan 1 (true).

    Transformasi harus memasukkan satu atau lebih properti yang bukan atribut dan sejumlah properti atribut. AWS IoT SiteWise menghitung titik data baru yang diubah setiap kali properti input yang bukan atribut menerima titik data baru. Nilai atribut baru tidak meluncurkan pembaruan transformasi. Tingkat permintaan yang sama untuk API operasi data properti aset berlaku untuk hasil perhitungan transformasi.

    Ekspresi rumus hanya dapat menampilkan nilai ganda atau string. Ekspresi bersarang dapat menampilkan tipe data lain, seperti string, tetapi rumus secara keseluruhan harus mengevaluasi ke angka atau string. Anda dapat menggunakan fungsi jp untuk mengonversi string ke angka. Nilai Boolean harus 1 (true) atau 0 (false). Untuk informasi selengkapnya, lihat Nilai tidak terdefinisi, tak terbatas, dan meluap.

contoh mengubah definisi

Contoh berikut menunjukkan properti transformasi yang mengubah data pengukuran suhu aset dari Celcius ke Fahrenheit. Objek ini adalah contoh dari sebuah AssetModelPropertyyang berisi Transform. Anda dapat menentukan objek ini sebagai bagian dari payload CreateAssetModelpermintaan untuk membuat properti transform. Untuk informasi selengkapnya, lihat Buat model aset (AWS CLI).

{ ... "assetModelProperties": [ ... { "name": "Temperature F", "dataType": "DOUBLE", "type": { "transform": { "expression": "9/5 * temp_c + 32", "variables": [ { "name": "temp_c", "value": { "propertyId": "Temperature C" } } ] } }, "unit": "Fahrenheit" } ], ... }
contoh mengubah definisi yang berisi tiga variabel

Contoh berikut menunjukkan properti transform yang mengembalikan pesan peringatan ("Caution") jika lebih dari 10 persen BLT123 bagian tidak memenuhi standar. Jika tidak, ia mengembalikan pesan informasi ("Normal").

{ ... "assetModelProperties": [ ... { "name": "Quality_Monitor", "dataType": "STRING", "type": { "transform": { "expression": "if(eq(Part_Number,"BLT123") and (Bad_Count / (Good_Count + Bad_Count) > 0.1), "Caution", "Normal")", "variables": [ { "name": "Part_Number", "value": { "propertyId": "Part Number" } }, { "name": "Good_Count", "value": { "propertyId": "Good Count" } }, { "name": "Bad_Count", "value": { "propertyId": "Bad Count" } } ] } } } ... }