

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

# Tutorial: Membersihkan setelah menjalankan tutorial AWS IoT Device Client
<a name="iot-dc-cleanup"></a>

Prosedur dalam tutorial ini memandu Anda menghapus file dan sumber daya yang Anda buat saat menyelesaikan tutorial di jalur pembelajaran ini.

**Topics**
+ [Langkah 1: Membersihkan perangkat Anda setelah membangun demo dengan AWS IoT Device Client](#iot-dc-cleanup-devices)
+ [Langkah 2: Membersihkan demo Akun AWS setelah membangun Anda dengan AWS IoT Device Client](#iot-dc-cleanup-cloud)

## Langkah 1: Membersihkan perangkat Anda setelah membangun demo dengan AWS IoT Device Client
<a name="iot-dc-cleanup-devices"></a>

Tutorial ini menjelaskan dua opsi untuk cara membersihkan kartu microSD setelah Anda membuat demo di jalur pembelajaran ini. Pilih opsi yang menyediakan tingkat keamanan yang Anda butuhkan.

Perhatikan bahwa membersihkan kartu microSD perangkat tidak menghilangkan AWS IoT sumber daya apa pun yang Anda buat. Untuk membersihkan AWS IoT sumber daya setelah Anda membersihkan kartu microSD perangkat, Anda harus meninjau tutorialnya. [Langkah 2: Membersihkan demo Akun AWS setelah membangun Anda dengan AWS IoT Device Client](#iot-dc-cleanup-cloud)

### Opsi 1: Membersihkan dengan menulis ulang kartu microSD
<a name="iot-dc-cleanup-devices-flash"></a>

Cara termudah dan paling menyeluruh untuk membersihkan kartu microSD setelah menyelesaikan tutorial di jalur pembelajaran ini adalah dengan menimpa kartu microSD dengan file gambar tersimpan yang Anda buat saat menyiapkan perangkat Anda pertama kali.

Prosedur ini menggunakan komputer host lokal untuk menulis gambar kartu microSD yang disimpan ke kartu microSD.

**catatan**  
Jika perangkat Anda tidak menggunakan media penyimpanan yang dapat dilepas untuk sistem operasinya, lihat prosedur untuk perangkat tersebut.

**Untuk menulis gambar baru ke kartu microSD**

1. Di komputer host lokal Anda, cari gambar kartu microSD yang disimpan yang ingin Anda tulis ke kartu microSD Anda. 

1. Masukkan kartu microSD Anda ke komputer host lokal.

1. Menggunakan alat pencitraan kartu SD, tulis file gambar yang dipilih ke kartu microSD.

1. Setelah menulis gambar Raspberry Pi OS ke kartu microSD, keluarkan kartu microSD dan lepaskan dengan aman dari komputer host lokal.

Kartu microSD Anda siap digunakan.

### Opsi 2: Membersihkan dengan menghapus direktori pengguna
<a name="iot-dc-cleanup-devices-dirs"></a>

Untuk membersihkan kartu microSD setelah menyelesaikan tutorial tanpa menulis ulang gambar kartu microSD, Anda dapat menghapus direktori pengguna satu per satu. Ini tidak selengkap menulis ulang kartu microSD dari gambar yang disimpan karena tidak menghapus file sistem apa pun yang mungkin telah diinstal.

Jika menghapus direktori pengguna cukup menyeluruh untuk kebutuhan Anda, Anda dapat mengikuti prosedur ini.

**Untuk menghapus direktori pengguna jalur pembelajaran ini dari perangkat Anda**

1. Jalankan perintah ini untuk menghapus direktori pengguna, subdirektori, dan semua file mereka yang dibuat di jalur pembelajaran ini, di jendela terminal yang terhubung ke perangkat Anda.
**catatan**  
Setelah Anda menghapus direktori dan file ini, Anda tidak akan dapat menjalankan demo tanpa menyelesaikan tutorial lagi.

   ```
   rm -Rf ~/dc-configs
   rm -Rf ~/policies
   rm -Rf ~/messages
   rm -Rf ~/certs
   rm -Rf ~/.aws-iot-device-client
   ```

1. Jalankan perintah ini untuk menghapus direktori dan file sumber aplikasi, di jendela terminal yang terhubung ke perangkat Anda.
**catatan**  
Perintah ini tidak menghapus program apa pun. Mereka hanya menghapus file sumber yang digunakan untuk membangun dan menginstalnya. Setelah Anda menghapus file-file ini, AWS CLI dan Klien AWS IoT Perangkat mungkin tidak berfungsi.

   ```
   rm -Rf ~/aws-cli
   rm -Rf ~/aws
   rm -Rf ~/aws-iot-device-client
   ```

## Langkah 2: Membersihkan demo Akun AWS setelah membangun Anda dengan AWS IoT Device Client
<a name="iot-dc-cleanup-cloud"></a>

Prosedur ini membantu Anda mengidentifikasi dan menghapus AWS sumber daya yang Anda buat saat menyelesaikan tutorial di jalur pembelajaran ini.

### Bersihkan AWS IoT sumber daya
<a name="iot-dc-cleanup-cloud-iot"></a>

Prosedur ini membantu Anda mengidentifikasi dan menghapus AWS IoT sumber daya yang Anda buat saat menyelesaikan tutorial di jalur pembelajaran ini.


**AWS IoT sumber daya yang dibuat di jalur pembelajaran ini**  

| Tutorial | Sumber daya benda | Sumber daya kebijakan | 
| --- | --- | --- | 
|  [Tutorial: Menginstal dan mengkonfigurasi AWS IoT Device Client](iot-dc-install-dc.md)  |  **DevCliTestThing**  | DevCliTestThingPolicy | 
|  [Tutorial: Menunjukkan komunikasi pesan MQTT dengan Device Client AWS IoT](iot-dc-testconn.md)  |  **PubSubTestThing**  | PubSubTestThingPolicy | 
|  [Tutorial: Menunjukkan tindakan jarak jauh (pekerjaan) dengan AWS IoT Device Client](iot-dc-runjobs.md)  | ditentukan pengguna (mungkin ada lebih dari satu) |  *ditentukan pengguna* (mungkin ada lebih dari satu)  | 

**Untuk menghapus AWS IoT sumber daya, ikuti prosedur ini untuk setiap sumber daya yang Anda buat**

1. Ganti `thing_name` dengan nama sumber daya benda yang ingin Anda hapus, lalu jalankan perintah ini untuk mencantumkan sertifikat yang dilampirkan ke sumber daya benda, dari komputer host lokal.

   ```
   aws iot list-thing-principals --thing-name thing_name
   ```

   Perintah ini mengembalikan respons seperti ini yang mencantumkan sertifikat yang dilampirkan`thing_name`. Dalam kebanyakan kasus, hanya akan ada satu sertifikat dalam daftar.

   ```
   {
       "principals": [
           "arn:aws:iot:us-west-2:57EXAMPLE833:cert/23853eea3cf0edc7f8a69c74abeafa27b2b52823cab5b3e156295e94b26ae8ac"
       ]
   }
   ```

1. Untuk setiap sertifikat yang tercantum oleh perintah sebelumnya:

   1. Ganti `certificate_ID` dengan ID sertifikat dari perintah sebelumnya. ID sertifikat adalah karakter alfanumerik yang mengikuti ARN `cert/` yang dikembalikan oleh perintah sebelumnya. Kemudian jalankan perintah ini untuk menonaktifkan sertifikat.

      ```
      aws iot update-certificate --new-status INACTIVE --certificate-id certificate_ID
      ```

      Jika berhasil, perintah ini tidak mengembalikan apa pun.

   1. Ganti `certificate_ARN` dengan sertifikat ARN dari daftar sertifikat yang dikembalikan sebelumnya, lalu jalankan perintah ini untuk mencantumkan kebijakan yang dilampirkan pada sertifikat ini.

      ```
      aws iot list-attached-policies --target certificate_ARN
      ```

      Perintah ini mengembalikan respons seperti ini yang mencantumkan kebijakan yang dilampirkan pada sertifikat. Dalam kebanyakan kasus, hanya akan ada satu kebijakan dalam daftar.

      ```
      {
          "policies": [
              {
                  "policyName": "DevCliTestThingPolicy",
                  "policyArn": "arn:aws:iot:us-west-2:57EXAMPLE833:policy/DevCliTestThingPolicy"
              }
          ]
      }
      ```

   1. Untuk setiap kebijakan yang dilampirkan pada sertifikat:

      1. Ganti `policy_name` dengan `policyName` nilai dari perintah sebelumnya, ganti `certificate_ARN` dengan ARN sertifikat, lalu jalankan perintah ini untuk melepaskan kebijakan dari sertifikat.

         ```
         aws iot detach-policy --policy-name policy_name --target certificate_ARN
         ```

         Jika berhasil, perintah ini tidak mengembalikan apa pun.

      1. Ganti `policy_name` dengan `policyName` nilainya, lalu jalankan perintah ini untuk melihat apakah kebijakan dilampirkan ke sertifikat lainnya.

         ```
         aws iot list-targets-for-policy --policy-name policy_name
         ```

         Jika perintah menampilkan daftar kosong seperti ini, kebijakan tidak dilampirkan ke sertifikat apa pun dan Anda akan terus mencantumkan versi kebijakan. Jika masih ada sertifikat yang dilampirkan pada kebijakan, lanjutkan dengan **detach-thing-principal** langkahnya.

         ```
         {
             "targets": []
         }
         ```

      1. Ganti `policy_name` dengan `policyName` nilainya, lalu jalankan perintah ini untuk memeriksa versi kebijakan. Untuk menghapus kebijakan, itu harus hanya memiliki satu versi.

         ```
         aws iot list-policy-versions --policy-name policy_name
         ```

         Jika kebijakan hanya memiliki satu versi, seperti contoh ini, Anda dapat melompat ke **delete-policy** langkah dan menghapus kebijakan sekarang.

         ```
         {
             "policyVersions": [
                 {
                     "versionId": "1",
                     "isDefaultVersion": true,
                     "createDate": "2021-11-18T01:02:46.778000+00:00"
                 }
             ]
         }
         ```

         Jika kebijakan memiliki lebih dari satu versi, seperti contoh ini, versi kebijakan dengan `isDefaultVersion` nilai `false` harus dihapus sebelum kebijakan dapat dihapus.

         ```
         {
             "policyVersions": [
                 {
                     "versionId": "2",
                     "isDefaultVersion": true,
                     "createDate": "2021-11-18T01:52:04.423000+00:00"
                 },
                 {
                     "versionId": "1",
                     "isDefaultVersion": false,
                     "createDate": "2021-11-18T01:30:18.083000+00:00"
                 }
             ]
         }
         ```

         Jika Anda perlu menghapus versi kebijakan, ganti `policy_name` dengan `policyName` nilai, ganti `version_ID` dengan `versionId` nilai dari perintah sebelumnya, lalu jalankan perintah ini untuk menghapus versi kebijakan.

         ```
         aws iot delete-policy-version --policy-name policy_name --policy-version-id version_ID
         ```

         Jika berhasil, perintah ini tidak mengembalikan apa pun.

         Setelah Anda menghapus versi kebijakan, ulangi langkah ini hingga kebijakan hanya memiliki satu versi kebijakan.

      1. Ganti `policy_name` dengan `policyName` nilai, lalu jalankan perintah ini untuk menghapus kebijakan.

         ```
         aws iot delete-policy --policy-name policy_name
         ```

   1. Ganti `thing_name` dengan nama benda, ganti `certificate_ARN` dengan ARN sertifikat, lalu jalankan perintah ini untuk melepaskan sertifikat dari sumber daya benda.

      ```
      aws iot detach-thing-principal --thing-name thing_name --principal certificate_ARN
      ```

      Jika berhasil, perintah ini tidak mengembalikan apa pun.

   1. Ganti `certificate_ID` dengan ID sertifikat dari perintah sebelumnya. ID sertifikat adalah karakter alfanumerik yang mengikuti ARN `cert/` yang dikembalikan oleh perintah sebelumnya. Kemudian jalankan perintah ini untuk menghapus sumber daya sertifikat.

      ```
      aws iot delete-certificate --certificate-id certificate_ID
      ```

      Jika berhasil, perintah ini tidak mengembalikan apa pun.

1. Ganti `thing_name` dengan nama benda itu, lalu jalankan perintah ini untuk menghapusnya.

   ```
   aws iot delete-thing --thing-name thing_name
   ```

   Jika berhasil, perintah ini tidak mengembalikan apa pun. 

### Bersihkan AWS sumber daya
<a name="iot-dc-cleanup-cloud-aws"></a>

Prosedur ini membantu Anda mengidentifikasi dan menghapus AWS sumber daya lain yang Anda buat saat menyelesaikan tutorial di jalur pembelajaran ini.


**AWS Sumber daya lain yang dibuat di jalur pembelajaran ini**  

| Tutorial | Tipe sumber daya | Nama sumber daya atau ID | 
| --- | --- | --- | 
|  [Tutorial: Menunjukkan tindakan jarak jauh (pekerjaan) dengan AWS IoT Device Client](iot-dc-runjobs.md)  | Objek Amazon S3 | hello-world-job.json | 
|  [Tutorial: Menunjukkan tindakan jarak jauh (pekerjaan) dengan AWS IoT Device Client](iot-dc-runjobs.md)  |  AWS IoT sumber daya pekerjaan  | pengguna didefinisikan | 

**Untuk menghapus AWS sumber daya yang dibuat di jalur pembelajaran ini**

1. Untuk menghapus pekerjaan yang dibuat di jalur pembelajaran ini

   1. Jalankan perintah ini untuk daftar pekerjaan di Anda Akun AWS.

      ```
      aws iot list-jobs
      ```

      Perintah mengembalikan daftar AWS IoT pekerjaan di Anda Akun AWS dan Wilayah AWS yang terlihat seperti ini.

      ```
      {
          "jobs": [
              {
                  "jobArn": "arn:aws:iot:us-west-2:57EXAMPLE833:job/hello-world-job-2",
                  "jobId": "hello-world-job-2",
                  "targetSelection": "SNAPSHOT",
                  "status": "COMPLETED",
                  "createdAt": "2021-11-16T23:40:36.825000+00:00",
                  "lastUpdatedAt": "2021-11-16T23:40:41.375000+00:00",
                  "completedAt": "2021-11-16T23:40:41.375000+00:00"
              },
              {
                  "jobArn": "arn:aws:iot:us-west-2:57EXAMPLE833:job/hello-world-job-1",
                  "jobId": "hello-world-job-1",
                  "targetSelection": "SNAPSHOT",
                  "status": "COMPLETED",
                  "createdAt": "2021-11-16T23:35:26.381000+00:00",
                  "lastUpdatedAt": "2021-11-16T23:35:29.239000+00:00",
                  "completedAt": "2021-11-16T23:35:29.239000+00:00"
              }
          ]
      }
      ```

   1. Untuk setiap pekerjaan yang Anda kenali dari daftar sebagai pekerjaan yang Anda buat di jalur pembelajaran ini, ganti `jobId` dengan `jobId` nilai pekerjaan yang akan dihapus, lalu jalankan perintah ini untuk menghapus AWS IoT pekerjaan.

      ```
      aws iot delete-job --job-id jobId
      ```

      Jika perintah berhasil, ia tidak mengembalikan apa pun.

1. Untuk menghapus dokumen pekerjaan yang Anda simpan di bucket Amazon S3 di jalur pembelajaran ini.

   1. Ganti `bucket` dengan nama bucket yang Anda gunakan, lalu jalankan perintah ini untuk mencantumkan objek di bucket Amazon S3 yang Anda gunakan.

      ```
      aws s3api list-objects --bucket bucket
      ```

      Perintah mengembalikan daftar objek Amazon S3 di bucket yang terlihat seperti ini.

      ```
      {
          "Contents": [
              {
                  "Key": "hello-world-job.json",
                  "LastModified": "2021-11-18T03:02:12+00:00",
                  "ETag": "\"868c8bc3f56b5787964764d4b18ed5ef\"",
                  "Size": 54,
                  "StorageClass": "STANDARD",
                  "Owner": {
                      "DisplayName": "EXAMPLE",
                      "ID": "e9e3d6ec1EXAMPLEf5bfb5e6bd0a2b6ed03884d1ed392a82ad011c144736a4ee"
                  }
              },
              {
                  "Key": "iot_job_firmware_update.json",
                  "LastModified": "2021-04-13T21:57:07+00:00",
                  "ETag": "\"7c68c591949391791ecf625253658c61\"",
                  "Size": 66,
                  "StorageClass": "STANDARD",
                  "Owner": {
                      "DisplayName": "EXAMPLE",
                      "ID": "e9e3d6ec1EXAMPLEf5bfb5e6bd0a2b6ed03884d1ed392a82ad011c144736a4ee"
                  }
              },
              {
                  "Key": "order66.json",
                  "LastModified": "2021-04-13T21:57:07+00:00",
                  "ETag": "\"bca60d5380b88e1a70cc27d321caba72\"",
                  "Size": 29,
                  "StorageClass": "STANDARD",
                  "Owner": {
                      "DisplayName": "EXAMPLE",
                      "ID": "e9e3d6ec1EXAMPLEf5bfb5e6bd0a2b6ed03884d1ed392a82ad011c144736a4ee"
                  }
              }
          ]
      }
      ```

   1. Untuk setiap objek yang Anda kenali dari daftar sebagai objek yang Anda buat di jalur pembelajaran ini, ganti `bucket` dengan nama bucket dan `key` dengan nilai kunci objek yang akan dihapus, lalu jalankan perintah ini untuk menghapus objek Amazon S3.

      ```
       aws s3api delete-object --bucket bucket --key key
      ```

      Jika perintah berhasil, ia tidak mengembalikan apa pun.

Setelah Anda menghapus semua AWS sumber daya dan objek yang Anda buat saat menyelesaikan jalur pembelajaran ini, Anda dapat memulai dari awal dan mengulangi tutorial.