

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Tutorial: Aufräumen nach dem Ausführen der AWS IoT Device Client-Tutorials
<a name="iot-dc-cleanup"></a>

Die Verfahren in diesem Tutorial führen Sie Schritt für Schritt durch das Entfernen der Dateien und Ressourcen, die Sie während der Durchführung der Tutorials in diesem Lernpfad erstellt haben.

**Topics**
+ [Schritt 1: Bereinigen Ihrer Geräte nach dem Erstellen von Demos mit dem AWS IoT Device Client](#iot-dc-cleanup-devices)
+ [Schritt 2: Bereinigen Sie Ihre Demos AWS-Konto nach dem Erstellen mit dem AWS IoT Device Client](#iot-dc-cleanup-cloud)

## Schritt 1: Bereinigen Ihrer Geräte nach dem Erstellen von Demos mit dem AWS IoT Device Client
<a name="iot-dc-cleanup-devices"></a>

In diesem Tutorial werden zwei Optionen beschrieben, wie Sie die microSD-Karte bereinigen können, nachdem Sie die Demos in diesem Lernpfad erstellt haben. Wählen Sie die Option aus, die das von Ihnen benötigte Sicherheitsniveau bietet.

Beachten Sie, dass durch das Reinigen der microSD-Karte des Geräts keine AWS IoT Ressourcen entfernt werden, die Sie erstellt haben. Um die AWS IoT Ressourcen zu bereinigen, nachdem Sie die microSD-Karte des Geräts gereinigt haben, sollten Sie das Tutorial unter [Schritt 2: Bereinigen Sie Ihre Demos AWS-Konto nach dem Erstellen mit dem AWS IoT Device Client](#iot-dc-cleanup-cloud) lesen.

### Option 1: Bereinigen durch Umschreiben der microSD-Karte
<a name="iot-dc-cleanup-devices-flash"></a>

Die einfachste und gründlichste Methode, die microSD-Karte nach Abschluss der Tutorials in diesem Lernpfad zu bereinigen, besteht darin, die microSD-Karte mit einer gespeicherten Image-Datei zu überschreiben, die Sie bei der ersten Vorbereitung Ihres Geräts erstellt haben.

Bei diesem Verfahren wird der lokale Hostcomputer verwendet, um ein gespeichertes microSD-Karten-Image auf eine microSD-Karte zu schreiben.

**Anmerkung**  
Wenn Ihr Gerät kein Wechselspeichermedium für sein Betriebssystem verwendet, lesen Sie das Verfahren für dieses Gerät.

**So schreiben Sie ein neues Image auf die microSD-Karte**

1. Suchen Sie auf Ihrem lokalen Hostcomputer das gespeicherte microSD-Karten-Image, das Sie auf Ihre microSD-Karte schreiben möchten. 

1. Legen Sie die microSD-Karte in Ihren Hostcomputer ein.

1. Schreiben Sie die ausgewählte Image-Datei mit einem SD-Karten-Imaging-Tool auf die microSD-Karte.

1. Nachdem Sie das Raspberry Pi OS-Image auf die microSD-Karte geschrieben haben, werfen Sie die microSD-Karte aus und entfernen Sie sie sicher vom lokalen Hostcomputer.

Ihre microSD-Karte ist nun einsatzbereit.

### Option 2: Bereinigen durch Löschen von Benutzerverzeichnissen
<a name="iot-dc-cleanup-devices-dirs"></a>

Um die microSD-Karte nach Abschluss der Tutorials zu bereinigen, ohne das microSD-Karten-Image neu zu schreiben, können Sie die Benutzerverzeichnisse einzeln löschen. Dies ist nicht so gründlich wie das Neuschreiben der microSD-Karte aus einem gespeicherten Image, da dabei keine Systemdateien entfernt werden, die möglicherweise installiert wurden.

Wenn das Entfernen der Benutzerverzeichnisse für Ihre Bedürfnisse ausreichend ist, können Sie wie folgt vorgehen.

**So löschen Sie die Benutzerverzeichnisse dieses Lernpfads von Ihrem Gerät**

1. Führen Sie diese Befehle aus, um die Benutzerverzeichnisse, Unterverzeichnisse und alle zugehörigen Dateien, die in diesem Lernpfad erstellt wurden, im mit Ihrem Gerät verbundenen Terminalfenster zu löschen.
**Anmerkung**  
Nachdem Sie diese Verzeichnisse und Dateien gelöscht haben, können Sie die Demos nicht mehr ausführen, ohne die Tutorials erneut abzuschließen.

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

1. Führen Sie diese Befehle aus, um die Quellverzeichnisse und Dateien der Anwendung im Terminalfenster zu löschen, das mit Ihrem Gerät verbunden ist.
**Anmerkung**  
Mit diesen Befehlen werden keine Programme deinstalliert. Sie entfernen nur die Quelldateien, die zu ihrer Erstellung und Installation verwendet wurden. Nachdem Sie diese Dateien gelöscht haben, funktionieren der Geräteclient AWS CLI und der AWS IoT Geräteclient möglicherweise nicht mehr.

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

## Schritt 2: Bereinigen Sie Ihre Demos AWS-Konto nach dem Erstellen mit dem AWS IoT Device Client
<a name="iot-dc-cleanup-cloud"></a>

Diese Verfahren helfen Ihnen dabei, die AWS Ressourcen zu identifizieren und zu entfernen, die Sie während der Durchführung der Tutorials in diesem Lernpfad erstellt haben.

### AWS IoT Ressourcen bereinigen
<a name="iot-dc-cleanup-cloud-iot"></a>

Dieses Verfahren hilft Ihnen dabei, die AWS IoT Ressourcen zu identifizieren und zu entfernen, die Sie beim Durchlaufen der Tutorials auf diesem Lernpfad erstellt haben.


**AWS IoT Ressourcen, die auf diesem Lernpfad erstellt wurden**  

| Tutorial | Objektressource | Richtlinienressource | 
| --- | --- | --- | 
|  [Tutorial: Installation und Konfiguration des AWS IoT Device Clients](iot-dc-install-dc.md)  |  **DevCliTestThing**  | DevCliTestThingPolicy | 
|  [Tutorial: Demonstrieren Sie die MQTT-Nachrichtenkommunikation mit dem AWS IoT Device Client](iot-dc-testconn.md)  |  **PubSubTestThing**  | PubSubTestThingPolicy | 
|  [Tutorial: Demonstrieren von Remote-Aktionen (Jobs) mit dem AWS IoT Device Client](iot-dc-runjobs.md)  | benutzerdefiniert (es können mehrere vorhanden sein) |  *benutzerdefiniert* (es können mehrere vorhanden sein)  | 

**Um die AWS IoT Ressourcen zu löschen, gehen Sie für jede einzelne Ressource, die Sie erstellt haben, wie folgt vor**

1. Ersetzen Sie `thing_name` durch den Namen der Objektressource, die Sie löschen möchten, und führen Sie dann diesen Befehl aus, um die Zertifikate aufzulisten, die an die Objektressource vom lokalen Hostcomputer aus angehängt sind.

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

   Dieser Befehl gibt eine Antwort wie diese zurück, in der die Zertifikate aufgeführt sind, die an `thing_name` angehängt sind. In den meisten Fällen wird die Liste nur ein Zertifikat enthalten.

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

1. Gehen Sie wie folgt für jedes Zertifikat vor, das im vorherigen Befehl aufgeführt wurde:

   1. Ersetzen Sie `certificate_ID` durch die Zertifikat-ID aus dem vorherigen Befehl. Die Zertifikat-ID besteht aus den alphanumerischen Zeichen, die auf `cert/` in dem vom vorherigen Befehl zurückgegebenen ARN folgen. Führen Sie dann diesen Befehl aus, um das Zertifikat zu deaktivieren.

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

      Bei Erfolg gibt dieser Befehl nichts zurück.

   1. Ersetzen Sie `certificate_ARN` durch den Zertifikat-ARN aus der zuvor zurückgegebenen Zertifikatsliste, und führen Sie dann diesen Befehl aus, um die mit diesem Zertifikat verknüpften Richtlinien aufzulisten.

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

      Dieser Befehl gibt eine Antwort wie diese zurück, in der die Richtlinien aufgeführt sind, die an das Zertifikat angehängt sind. In den meisten Fällen wird die Liste nur eine Richtlinie enthalten.

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

   1. Gehen Sie für jede dem Zertifikat angefügte Richtlinie wie folgt vor:

      1. Ersetzen Sie `policy_name` durch den `policyName`-Wert aus dem vorherigen Befehl, ersetzen Sie `certificate_ARN` durch den ARN des Zertifikats, und führen Sie dann diesen Befehl aus, um die Richtlinie vom Zertifikat zu trennen.

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

         Bei Erfolg gibt dieser Befehl nichts zurück.

      1. Ersetzen Sie `policy_name` durch den `policyName`-Wert, und führen Sie dann diesen Befehl aus, um zu überprüfen, ob die Richtlinie an weitere Zertifikate angehängt ist.

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

         Wenn der Befehl eine leere Liste wie diese zurückgibt, ist die Richtlinie an keine Zertifikate angehängt, und Sie können die Richtlinienversionen weiterhin auflisten. Wenn der Richtlinie immer noch Zertifikate angehängt sind, fahren Sie mit dem Schritt **detach-thing-principal** fort.

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

      1. Ersetzen Sie `policy_name` durch den `policyName`-Wert, und führen Sie dann diesen Befehl aus, um nach Richtlinienversionen zu suchen. Um die Richtlinie zu löschen, darf sie nur eine Version haben.

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

         Wenn die Richtlinie nur eine Version hat, wie in diesem Beispiel, können Sie mit dem Schritt **delete-policy** fortfahren und die Richtlinie jetzt löschen.

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

         Wenn die Richtlinie mehr als eine Version hat, wie in diesem Beispiel, müssen die Richtlinienversionen mit einem `isDefaultVersion`-Wert von `false` gelöscht werden, bevor die Richtlinie gelöscht werden kann.

         ```
         {
             "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"
                 }
             ]
         }
         ```

         Wenn Sie eine Richtlinienversion löschen müssen, ersetzen Sie `policy_name` durch den `policyName`-Wert, ersetzen Sie `version_ID` durch den `versionId`-Wert aus dem vorherigen Befehl, und führen Sie dann diesen Befehl aus, um eine Richtlinienversion zu löschen.

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

         Bei Erfolg gibt dieser Befehl nichts zurück.

         Nachdem Sie eine Richtlinienversion gelöscht haben, wiederholen Sie diesen Schritt, bis die Richtlinie nur noch eine Richtlinienversion hat.

      1. Ersetzen Sie `policy_name` durch den `policyName`-Wert, und führen Sie dann diesen Befehl aus, um die Richtlinie zu löschen.

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

   1. Ersetzen Sie `thing_name` durch den Objektnamen, ersetzen Sie `certificate_ARN` durch den ARN des Zertifikats, und führen Sie dann diesen Befehl aus, um das Zertifikat von der Objektressource zu trennen.

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

      Bei Erfolg gibt dieser Befehl nichts zurück.

   1. Ersetzen Sie `certificate_ID` durch die Zertifikat-ID aus dem vorherigen Befehl. Die Zertifikat-ID besteht aus den alphanumerischen Zeichen, die auf `cert/` in dem vom vorherigen Befehl zurückgegebenen ARN folgen. Führen Sie dann diesen Befehl aus, um die Zertifikatressource zu löschen.

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

      Bei Erfolg gibt dieser Befehl nichts zurück.

1. Ersetzen Sie `thing_name` durch den Namen des Objekts, und führen Sie dann diesen Befehl aus, um das Objekt zu löschen.

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

   Bei Erfolg gibt dieser Befehl nichts zurück. 

### AWS Ressourcen bereinigen
<a name="iot-dc-cleanup-cloud-aws"></a>

Dieses Verfahren hilft Ihnen dabei, andere AWS Ressourcen zu identifizieren und zu entfernen, die Sie während der Durchführung der Tutorials in diesem Lernpfad erstellt haben.


**Andere AWS Ressourcen, die auf diesem Lernpfad erstellt wurden**  

| Tutorial | Ressourcentyp | Name oder ID der Ressource | 
| --- | --- | --- | 
|  [Tutorial: Demonstrieren von Remote-Aktionen (Jobs) mit dem AWS IoT Device Client](iot-dc-runjobs.md)  | Amazon S3-Objekt | hello-world-job.json | 
|  [Tutorial: Demonstrieren von Remote-Aktionen (Jobs) mit dem AWS IoT Device Client](iot-dc-runjobs.md)  |  AWS IoT Ressourcen für Jobs  | benutzerdefiniert | 

**Um die in diesem Lernpfad erstellten AWS Ressourcen zu löschen**

1. So löschen Sie die Aufträge, die in diesem Lernpfad erstellt wurden

   1. Führen Sie diesen Befehl aus, um die Jobs in Ihrem aufzulisten AWS-Konto.

      ```
      aws iot list-jobs
      ```

      Der Befehl gibt eine Liste der AWS IoT Jobs in Ihrem zurück AWS-Konto und AWS-Region das sieht so aus.

      ```
      {
          "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. Ersetzen Sie jeden Job, den Sie aus der Liste als einen Job erkennen, den Sie in diesem Lernpfad erstellt haben, `jobId` durch den `jobId` Wert des zu löschenden Jobs und führen Sie dann diesen Befehl aus, um einen AWS IoT Job zu löschen.

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

      Wenn der Befehl erfolgreich ist, wird nichts zurückgegeben.

1. So löschen Sie die Auftragsdokumente, die Sie in diesem Lernpfad in einem Amazon S3-Bucket gespeichert haben.

   1. Ersetzen Sie `bucket` durch den Namen des Buckets, den Sie verwendet haben, und führen Sie dann diesen Befehl aus, um die Objekte im Amazon S3-Bucket aufzulisten, den Sie verwendet haben.

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

      Der Befehl gibt eine Liste der Amazon S3-Objekte in Ihrem Bucket zurück, die so aussieht:

      ```
      {
          "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. Ersetzen Sie für jedes Objekt, das Sie in der Liste als ein Objekt erkennen, das Sie in diesem Lernpfad erstellt haben, `bucket` durch den Bucketnamen und `key` mit dem Schlüsselwert des zu löschenden Objekts, und führen Sie dann diesen Befehl aus, um ein Amazon S3-Objekt zu löschen.

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

      Wenn der Befehl erfolgreich ist, wird nichts zurückgegeben.

Nachdem Sie alle AWS Ressourcen und Objekte gelöscht haben, die Sie während des Abschlusses dieses Lernpfads erstellt haben, können Sie von vorne beginnen und die Tutorials wiederholen.