

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

# Perbarui model aset, model komponen, dan antarmuka
<a name="update-asset-models"></a>

Gunakan AWS IoT SiteWise konsol atau API untuk memperbarui model aset, model komponen, atau antarmuka.

Anda tidak dapat mengubah tipe atau tipe data properti yang ada, atau jendela metrik yang ada. Anda juga tidak dapat mengubah jenis model dari model aset ke model komponen atau antarmuka, atau sebaliknya.

**penting**  
Jika Anda menghapus properti dari model aset atau model komponen, AWS IoT SiteWise menghapus semua data sebelumnya untuk properti tersebut. Untuk model komponen, ini memengaruhi **semua model aset yang menggunakan model komponen tersebut**, jadi berhati-hatilah untuk memahami seberapa luas perubahan Anda dapat diterapkan.
Jika Anda menghapus definisi hierarki dari model aset, AWS IoT SiteWise lepaskan semua aset dalam hierarki tersebut.

Saat Anda memperbarui model aset, setiap aset berdasarkan model tersebut mencerminkan perubahan apa pun yang Anda buat pada model yang mendasarinya. Sampai perubahan menyebar, setiap aset memiliki `UPDATING` negara. Anda harus menunggu sampai aset tersebut kembali ke `ACTIVE` negara sebelum Anda berinteraksi dengan mereka. Selama waktu ini, status model aset yang diperbarui akan menjadi`PROPAGATING`.

Saat Anda memperbarui model komponen, setiap model aset yang menggabungkan model komponen tersebut mencerminkan perubahan. Sampai perubahan model komponen menyebar, setiap model aset yang terpengaruh memiliki `UPDATING` status, diikuti oleh `PROPAGATING` saat memperbarui aset terkait, seperti yang dijelaskan dalam paragraf sebelumnya. Anda harus menunggu sampai model aset tersebut kembali ke `ACTIVE` keadaan sebelum Anda berinteraksi dengannya. Selama waktu ini, status model komponen yang diperbarui akan menjadi`PROPAGATING`.

Untuk informasi selengkapnya, lihat [Status aset dan model](asset-and-model-states.md).

**Topics**
+ [Memperbarui model aset, model komponen, atau antarmuka (konsol)](#update-asset-model-console)
+ [Memperbarui model aset, model komponen, atau antarmuka (AWS CLI)](#update-asset-model-cli)

## Memperbarui model aset, model komponen, atau antarmuka (konsol)
<a name="update-asset-model-console"></a>

Anda dapat menggunakan AWS IoT SiteWise konsol untuk memperbarui model aset, model komponen, atau antarmuka.

**Untuk memperbarui model aset, model komponen, atau antarmuka (konsol)**

1. <a name="sitewise-open-console"></a>Navigasikan ke [konsol AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/) tersebut.

1. <a name="sitewise-choose-models"></a>Di panel navigasi, pilih **Model**.

1. Pilih model aset, model komponen, atau antarmuka yang akan diperbarui.

1. Pilih **Edit**.

1. Pada halaman **Edit model**, lakukan salah satu hal berikut:
   + Dalam **detail Model**, ubah **Nama** model.
   + Ubah salah satu **definisi Atribut**. Anda tidak dapat mengubah **tipe Data** dari atribut yang ada. Untuk informasi selengkapnya, lihat [Tentukan data statis (atribut)](attributes.md).
   + Ubah salah satu **definisi Pengukuran**. Anda tidak dapat mengubah **tipe Data** pengukuran yang ada. Untuk informasi selengkapnya, lihat [Tentukan aliran data dari peralatan (pengukuran)](measurements.md).
   + Ubah salah satu **definisi Transform**. Untuk informasi selengkapnya, lihat [Mengubah data (mengubah)](transforms.md).
   + Ubah salah satu **definisi Metrik**. Anda tidak dapat mengubah **Interval waktu** metrik yang ada. Untuk informasi selengkapnya, lihat [Data agregat dari properti dan aset lainnya (metrik)](metrics.md).
   + (Hanya model aset) Ubah salah satu **definisi Hierarki**. Anda tidak dapat mengubah **model Hierarki hierarki** yang ada. Untuk informasi selengkapnya, lihat [Tentukan hierarki model aset](define-asset-hierarchies.md).

1. Pilih **Simpan**.

**catatan**  
 Permintaan pembaruan yang dibuat di konsol ditolak, jika pengguna lain berhasil memperbarui model aset sejak Anda terakhir membuka halaman **Edit model**. Konsol meminta pengguna untuk **Menyegarkan** halaman **Edit model**, untuk mengambil model yang diperbarui. Anda harus melakukan pembaruan lagi, dan coba lagi penyimpanan Anda. Lihat [Penguncian optimis untuk penulisan model aset](opt-locking-for-model.md) untuk detail selengkapnya. 

## Memperbarui model aset, model komponen, atau antarmuka (AWS CLI)
<a name="update-asset-model-cli"></a>

Gunakan AWS Command Line Interface (AWS CLI) untuk memperbarui model aset, model komponen, atau antarmuka.

Gunakan [UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)API untuk memperbarui nama, deskripsi, dan properti model aset, model komponen, atau antarmuka. Hanya untuk model aset, Anda dapat memperbarui hierarki. Untuk antarmuka, Anda dapat memperbarui properti dan hierarki. Tentukan parameter berikut:
+ `assetModelId`— ID aset. Ini adalah ID aktual dalam format UUID, atau `externalId:myExternalId` jika memilikinya. Untuk informasi selengkapnya, lihat [Referensi objek dengan eksternal IDs](object-ids.md#external-id-references) di *AWS IoT SiteWise Panduan Pengguna*.

Tentukan model yang diperbarui dalam muatan. Untuk mempelajari tentang format yang diharapkan dari model aset atau model komponen, lihat[Buat model aset di AWS IoT SiteWise](create-asset-models.md). 

**Awas**  
[UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)API menimpa model yang ada dengan model yang Anda berikan di payload. Untuk menghindari penghapusan properti atau hierarki model Anda, Anda harus menyertakan properti IDs dan definisinya dalam payload model yang diperbarui. Untuk mempelajari cara menanyakan struktur model yang ada, lihat [DescribeAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html)operasinya.

**catatan**  
Prosedur berikut hanya dapat memperbarui model komposit tipe`AWS/ALARM`. Jika Anda ingin memperbarui model `CUSTOM` komposit, gunakan [UpdateAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModelCompositeModel.html)sebagai gantinya. Untuk informasi selengkapnya, lihat [Perbarui model komposit khusus (komponen)](update-custom-composite-models.md).

**Untuk memperbarui model aset atau model komponen (AWS CLI)**

1. Jalankan perintah berikut untuk mengambil definisi model yang ada. Ganti {{asset-model-id}} dengan ID atau ID eksternal model aset atau model komponen untuk diperbarui.

   ```
   aws iotsitewise describe-asset-model --asset-model-id {{asset-model-id}}
   ```

   Perintah di atas mengembalikan definisi model yang sesuai dengan versi terbaru model.

    Untuk kasus penggunaan di mana model aset berada dalam `FAILED` status, ambil definisi model yang valid yang sesuai dengan versi aktifnya untuk membuat permintaan pembaruan Anda. Lihat [Versi model aset](model-active-version.md) untuk detail. Jalankan perintah berikut untuk mengambil definisi model aktif:

   ```
   aws iotsitewise describe-asset-model --asset-model-id {{asset-model-id}} --asset-model-version ACTIVE 
   ```

   Operasi mengembalikan respons yang berisi detail model. Responsnya memiliki struktur sebagai berikut.

   ```
   {
       "assetModelId": "{{String}}",
       "assetModelArn": "{{String}}",
       "assetModelName": "{{String}}",
       "assetModelDescription": "{{String}}",
       "assetModelProperties": {{Array of AssetModelProperty}},
       "assetModelHierarchies": {{Array of AssetModelHierarchyDefinition}},
       "assetModelCompositeModels": {{Array of AssetModelCompositeModel}},
       "assetModelCompositeModelSummaries": {{Array of AssetModelCompositeModelSummary}},
       "assetModelCreationDate": "{{String}}",
       "assetModelLastUpdateDate": "{{String}}",
       "assetModelStatus": {
         "state": "{{String}}",
         "error": {
           "code": "{{String}}",
           "message": "{{String}}"
         },
       "assetModelType": "{{String}}"
       },
       "assetModelVersion": "{{String}}",
       "eTag": "{{String}}"
   }
   ```

   Untuk informasi lebih lanjut, lihat [DescribeAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html)operasi.

1. Buat file bernama `update-asset-model.json` dan salin respons perintah sebelumnya ke dalam file.

1. Hapus pasangan nilai kunci berikut dari objek JSON di `update-asset-model.json`:
   + `assetModelId`
   + `assetModelArn`
   + `assetModelCompositeModelSummaries`
   + `assetModelCreationDate`
   + `assetModelLastUpdateDate`
   + `assetModelStatus`
   + `assetModelType`
   + `assetModelVersion`
   + `eTag`

   [UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)Operasi mengharapkan muatan dengan struktur berikut:

   ```
   {
     "assetModelName": "{{String}}",
     "assetModelDescription": "{{String}}",
     "assetModelProperties": {{Array of AssetModelProperty}},
     "assetModelHierarchies": {{Array of AssetModelHierarchyDefinition}},
     "assetModelCompositeModels": {{Array of AssetModelCompositeModel}}
   }
   ```

1. Pada `update-asset-model.json`, lakukan langkah-langkah berikut:
   + Ubah nama model aset (`assetModelName`).
   + Mengubah, menambah, atau menghapus deskripsi model aset (`assetModelDescription`).
   + Mengubah, menambah, atau menghapus properti model aset (`assetModelProperties`). Anda tidak dapat mengubah properti `dataType` yang ada atau metrik `window` yang ada. Untuk informasi selengkapnya, lihat [Tentukan properti data](asset-properties.md).
   + Mengubah, menambah, atau menghapus salah satu hierarki model aset (`assetModelHierarchies`). Anda tidak dapat mengubah hierarki `childAssetModelId` yang ada. Untuk informasi selengkapnya, lihat [Tentukan hierarki model aset](define-asset-hierarchies.md).
   + Mengubah, menambah, atau menghapus salah satu model komposit model aset tipe `AWS/ALARM` (`assetModelCompositeModels`). Alarm memantau properti lain sehingga Anda dapat mengidentifikasi kapan peralatan atau proses memerlukan perhatian. Setiap definisi alarm adalah model komposit yang menstandarisasi serangkaian properti yang digunakan alarm. Untuk informasi selengkapnya, lihat [Pantau data dengan alarm di AWS IoT SiteWise](industrial-alarms.md) dan [Tentukan alarm pada model aset di AWS IoT SiteWise](define-alarms.md).

1. Jalankan perintah berikut untuk memperbarui model aset dengan definisi yang disimpan di`update-asset-model.json`. Ganti {{asset-model-id}} dengan ID model aset:

   ```
   aws iotsitewise update-asset-model \
     --asset-model-id {{asset-model-id}} \
     --cli-input-json file://model-payload.json
   ```

**penting**  
 Ketika beberapa pengguna memperbarui model aset pada saat yang sama, perubahan pengguna mungkin secara tidak sengaja ditimpa oleh pengguna lain. Untuk mencegah hal ini, Anda harus menentukan permintaan pembaruan bersyarat. Lihat [Penguncian optimis untuk penulisan model aset](opt-locking-for-model.md). 