

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

# Berinteraksi dengan dan menyinkronkan bayangan perangkat klien
<a name="work-with-client-device-shadows"></a>

Anda dapat menggunakan [komponen pengelola bayangan](shadow-manager-component.md) untuk mengelola bayangan lokal, termasuk bayangan perangkat klien. Anda dapat menggunakan shadow manager untuk melakukan hal berikut:
+ Berinteraksi dengan bayangan perangkat klien dalam komponen Greengrass.
+ Sinkronkan bayangan perangkat klien dengan AWS IoT Core.

**catatan**  
Komponen pengelola bayangan tidak menyinkronkan bayangan secara AWS IoT Core default. Anda harus mengonfigurasi komponen manajer bayangan untuk menentukan bayangan perangkat klien yang akan disinkronkan.

**Topics**
+ [Prasyarat](#client-device-shadows-prerequisites)
+ [Aktifkan pengelola bayangan untuk berkomunikasi dengan perangkat klien](#enable-shadow-manager-client-devices)
+ [Berinteraksi dengan bayangan perangkat klien dalam komponen](#interact-with-client-device-shadows)
+ [Sinkronkan bayangan perangkat klien dengan AWS IoT Core](#sync-client-device-shadows-with-iot-core)

## Prasyarat
<a name="client-device-shadows-prerequisites"></a>

Untuk berinteraksi dengan bayangan perangkat klien dan menyinkronkan bayangan perangkat klien AWS IoT Core, perangkat inti harus memenuhi persyaratan berikut:
+ Perangkat inti harus menjalankan komponen berikut, selain komponen [Greengrass](connect-client-devices.md#cloud-discovery-components) untuk dukungan perangkat klien:
  + [Greengrass nucleus v2.6.0](greengrass-nucleus-component.md) atau yang lebih baru
  + [Shadow manager](shadow-manager-component.md) v2.2.0 atau yang lebih baru
  + [Jembatan MQTT v2.2.0](mqtt-bridge-component.md) atau yang lebih baru
+ Komponen [autentikasi perangkat klien](client-device-auth-component.md) harus dikonfigurasi untuk memungkinkan perangkat klien berkomunikasi pada [topik bayangan perangkat](https://docs.aws.amazon.com/iot/latest/developerguide/reserved-topics.html#reserved-topics-shadow).

## Aktifkan pengelola bayangan untuk berkomunikasi dengan perangkat klien
<a name="enable-shadow-manager-client-devices"></a>

Secara default, komponen manajer bayangan tidak mengelola bayangan perangkat klien. Untuk mengaktifkan fitur ini, Anda harus menyampaikan pesan MQTT antara perangkat klien dan komponen shadow manager. Perangkat klien menggunakan pesan MQTT untuk menerima dan mengirim pembaruan bayangan perangkat. [Komponen shadow manager berlangganan antarmuka publish/subscribe Greengrass lokal, sehingga Anda dapat mengonfigurasi komponen [jembatan MQTT untuk menyampaikan pesan MQTT pada](mqtt-bridge-component.md) topik bayangan perangkat.](https://docs.aws.amazon.com/iot/latest/developerguide/reserved-topics.html#reserved-topics-shadow)

Komponen jembatan MQTT mengonsumsi daftar pemetaan topik yang masing-masing menentukan sumber pesan dan tujuan pesan. Untuk mengaktifkan komponen pengelola bayangan mengelola bayangan perangkat klien, gunakan komponen jembatan MQTT, dan tentukan topik bayangan untuk bayangan perangkat klien. Anda harus mengonfigurasi jembatan untuk merelai pesan di kedua arah antara MQTT lokal dan publish/subscribe lokal.

<a name="create-mqtt-bridge-deployment-info"></a>Untuk men-deploy komponen jembatan MQTT ke perangkat inti atau kelompok perangkat inti, [buat deployment](create-deployments.md) yang mencakup komponen `aws.greengrass.clientdevices.mqtt.Bridge`. Tentukan pemetaan topik,`mqttTopicMapping`, dalam konfigurasi komponen jembatan MQTT dalam penerapan.

Gunakan contoh berikut untuk mengonfigurasi komponen jembatan MQTT untuk mengaktifkan komunikasi antara perangkat klien dan komponen shadow manager.

**catatan**  
Anda dapat menggunakan contoh konfigurasi ini di AWS IoT Greengrass konsol. Jika Anda menggunakan AWS IoT Greengrass API, pembaruan `merge` konfigurasi memerlukan objek JSON serial, jadi Anda harus membuat serial objek JSON berikut ke dalam string. Untuk informasi selengkapnya, lihat [Perbarui konfigurasi komponen](update-component-configurations.md).

**Example Contoh: Kelola semua bayangan perangkat klien**  
Contoh konfigurasi jembatan MQTT berikut memungkinkan shadow manager untuk mengelola semua bayangan untuk semua perangkat klien.  

```
{
  "mqttTopicMapping": {
    "ShadowsLocalMqttToPubsub": {
      "topic": "$aws/things/+/shadow/#",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "ShadowsPubsubToLocalMqtt": {
      "topic": "$aws/things/+/shadow/#",
      "source": "Pubsub",
      "target": "LocalMqtt"
    }
  }
}
```

**Example Contoh: Mengelola bayangan untuk perangkat klien**  
Contoh konfigurasi jembatan MQTT berikut memungkinkan shadow manager untuk mengelola semua bayangan untuk perangkat klien bernama. `MyClientDevice`  

```
{
  "mqttTopicMapping": {
    "ShadowsLocalMqttToPubsub": {
      "topic": "$aws/things/MyClientDevice/shadow/#",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "ShadowsPubsubToLocalMqtt": {
      "topic": "$aws/things/MyClientDevice/shadow/#",
      "source": "Pubsub",
      "target": "LocalMqtt"
    }
  }
}
```

**Example Contoh: Mengelola bayangan bernama untuk semua perangkat klien**  
Contoh konfigurasi jembatan MQTT berikut memungkinkan shadow manager untuk mengelola bayangan bernama `DeviceConfiguration` untuk semua perangkat klien.  

```
{
  "mqttTopicMapping": {
    "ShadowsLocalMqttToPubsub": {
      "topic": "$aws/things/+/shadow/name/DeviceConfiguration/#",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "ShadowsPubsubToLocalMqtt": {
      "topic": "$aws/things/+/shadow/name/DeviceConfiguration/#",
      "source": "Pubsub",
      "target": "LocalMqtt"
    }
  }
}
```

**Example Contoh: Kelola bayangan tanpa nama semua perangkat klien**  
Contoh konfigurasi jembatan MQTT berikut memungkinkan pengelola bayangan untuk mengelola bayangan yang tidak disebutkan namanya, tetapi bukan bayangan bernama, untuk semua perangkat klien.  

```
{
  "mqttTopicMapping": {
    "DeleteShadowLocalMqttToPubsub": {
      "topic": "$aws/things/+/shadow/delete",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "DeleteShadowPubsubToLocalMqtt": {
      "topic": "$aws/things/+/shadow/delete/#",
      "source": "Pubsub",
      "target": "LocalMqtt"
    },
    "GetShadowLocalMqttToPubsub": {
      "topic": "$aws/things/+/shadow/get",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "GetShadowPubsubToLocalMqtt": {
      "topic": "$aws/things/+/shadow/get/#",
      "source": "Pubsub",
      "target": "LocalMqtt"
    },
    "UpdateShadowLocalMqttToPubsub": {
      "topic": "$aws/things/+/shadow/update",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "UpdateShadowPubsubToLocalMqtt": {
      "topic": "$aws/things/+/shadow/update/#",
      "source": "Pubsub",
      "target": "LocalMqtt"
    }
  }
}
```

## Berinteraksi dengan bayangan perangkat klien dalam komponen
<a name="interact-with-client-device-shadows"></a>

Anda dapat mengembangkan komponen kustom yang menggunakan layanan bayangan lokal untuk membaca dan memodifikasi dokumen bayangan lokal perangkat klien. Untuk informasi selengkapnya, lihat [Berinteraksilah dengan bayangan dalam komponen](interact-with-shadows-in-components.md).

## Sinkronkan bayangan perangkat klien dengan AWS IoT Core
<a name="sync-client-device-shadows-with-iot-core"></a>

Anda dapat mengonfigurasi komponen shadow manager untuk menyinkronkan status bayangan perangkat klien lokal dengan AWS IoT Core. Lihat informasi yang lebih lengkap di [Sinkronkan bayangan perangkat lokal dengan AWS IoT Core](sync-shadows-with-iot-core.md).