

Hinweis zum Ende des Supports: Am 7. Oktober 2026 AWS wird der Support für eingestellt. AWS IoT Greengrass Version 1 Nach dem 7. Oktober 2026 können Sie nicht mehr auf die Ressourcen zugreifen. AWS IoT Greengrass V1 Weitere Informationen finden Sie unter [Migrieren von AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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.

# AWS IoT Greengrass Gruppen für einen AWS IoT Greengrass Kern bereitstellen
<a name="deployments"></a>

Verwenden Sie AWS IoT Greengrass Gruppen, um Entitäten in Ihrer Edge-Umgebung zu organisieren. Sie verwenden Gruppen auch, um zu steuern, wie die Entitäten in der Gruppe miteinander und mit den interagieren AWS Cloud. Beispielsweise werden nur die Lambda-Funktionen in der Gruppe für die lokale Ausführung bereitgestellt, und nur die Geräte in der Gruppe können über den lokalen MQTT-Server kommunizieren.

Eine Gruppe muss einen [Core](gg-core.md) enthalten, bei dem es sich um ein AWS IoT Gerät handelt, auf dem die AWS IoT Greengrass Core-Software ausgeführt wird. Der Core fungiert als Edge-Gateway und bietet AWS IoT Core Funktionen in der Edge-Umgebung. Abhängig von Ihren geschäftlichen Anforderungen können Sie auch die folgenden Entitäten zu einer Gruppe hinzufügen:
+ **Client-Geräte**. Dargestellt als Objekte in der AWS IoT -Registrierung. Diese Geräte müssen [FreeRTOS](https://docs.aws.amazon.com/freertos/latest/userguide/freertos-lib-gg-connectivity.html) ausführen oder das [AWS IoT Device SDK](what-is-gg.md#iot-device-sdk) oder die [AWS IoT Greengrass Discovery-API](gg-discover-api.md) verwenden, um Verbindungsinformationen für den Core abzurufen. Nur Client-Geräte, die Mitglieder der Gruppe sind, können eine Verbindung zum Core herstellen.
+ **Lambda-Funktionen**. Benutzerdefinierte serverlose Anwendungen, die Code auf dem Kern ausführen. Lambda-Funktionen werden in einer Greengrass-Gruppe verfasst AWS Lambda und von dort aus referenziert. Weitere Informationen finden Sie unter [Führen Sie Lambda-Funktionen auf dem Kern aus AWS IoT Greengrass](lambda-functions.md).
+ **Konnektoren** Vordefinierte serverlose Anwendungen, die Code auf dem Kern ausführen. Konnektoren können eine integrierte Integration mit der lokalen Infrastruktur, Geräteprotokollen und anderen Cloud-Diensten ermöglichen. AWS Weitere Informationen finden Sie unter [Integrieren von Services und Protokollen mit Greengrass-Konnektoren](connectors.md).
+ **Abonnements** Definiert die Herausgeber, Abonnenten und MQTT-Themen (oder Themen), die für die MQTT-Kommunikation autorisiert sind.
+ **Ressourcen** Verweise auf lokale [Geräte und Volumes](access-local-resources.md), [Modelle für maschinelles Lernen](ml-inference.md) und [Geheimnisse](secrets.md), die von den Funktionen und Konnektoren von Greengrass Lambda für die Zugriffskontrolle verwendet werden.
+ **Protokolle.** Protokollierung von Konfigurationen für AWS IoT Greengrass Systemkomponenten und Lambda-Funktionen. Weitere Informationen finden Sie unter [Überwachung mit AWS IoT Greengrass Protokollen](greengrass-logs-overview.md).

Sie verwalten Ihre Greengrass-Gruppe im AWS Cloud und stellen sie dann in einem Core bereit. Die Bereitstellung kopiert die Gruppenkonfiguration in die `group.json`-Datei auf dem Core-Gerät. Diese Datei befindet sich unter `greengrass-root/ggc/deployments/group`.

![\[Cloud-Definition der Greengrass-Gruppe, die auf einem Core-Gerät bereitgestellt wird.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/group-deploy.png)


**Anmerkung**  
Während einer Bereitstellung stoppt der Greengrass-Daemon-Prozess auf dem Core-Gerät und startet dann neu.

## Gruppen von der Konsole aus bereitstellen AWS IoT
<a name="manage-deployments-console"></a>

Sie können eine Gruppe über die Konfigurationsseite der Gruppe in der AWS IoT Konsole bereitstellen und ihre Bereitstellungen verwalten.

**Anmerkung**  
Um diese Seite in der Konsole zu öffnen, wählen Sie **Greengrass-Geräte**, dann **Gruppen (V1)** und dann unter **Greengrass-Gruppen** Ihre Gruppe aus.

**Bereitstellen der aktuellen Version der Gruppe**  
+ **Wählen Sie auf der Seite mit der Gruppenkonfiguration die Option Bereitstellen aus.**

**Anzeigen des Bereitstellungsverlaufs der Gruppe**  
Der Bereitstellungsverlauf einer Gruppe enthält das Datum und die Uhrzeit, die Gruppenversion und den Status der einzelnen Bereitstellungsversuche.  

1. Wählen Sie auf der Seite mit der Gruppenkonfiguration die Registerkarte **Bereitstellungen** aus.

1. Um weitere Informationen zu einer Bereitstellung, einschließlich Fehlermeldungen, zu sehen, wählen Sie in der AWS IoT Konsole unter **Greengrass-Geräte** die Option **Deployments** aus.

**Erneutes Bereitstellen einer Gruppenbereitstellung**  
Sie können eine Bereitstellung erneut bereitstellen, wenn die aktuelle Bereitstellung fehlschlägt oder auf eine andere Gruppenversion zurückgesetzt wird.  

1. Wählen Sie in der AWS IoT Konsole **Greengrass-Geräte** und dann **Gruppen (V1)** aus.

1. Wählen Sie die Registerkarte **Bereitstellen**.

1. **Wählen Sie die Bereitstellung aus, die Sie erneut bereitstellen möchten, und wählen Sie Erneut bereitstellen.**

**Zurücksetzen von Gruppenbereitstellungen**  
Sie können Gruppenbereitstellungen zurücksetzen, um eine Gruppe zu verschieben oder zu löschen oder Bereitstellungsinformationen zu entfernen. Weitere Informationen finden Sie unter [Zurücksetzen von Bereitstellungen](reset-deployments-scenario.md).  

1. Wählen Sie in der AWS IoT Konsole **Greengrass-Geräte** und dann **Gruppen (V1)** aus.

1. Wählen Sie die Registerkarte **Bereitstellen**.

1. Wählen Sie die Bereitstellung aus, die Sie zurücksetzen möchten, und wählen Sie **Bereitstellungen zurücksetzen**.

## Bereitstellen von Gruppen mit der API AWS IoT Greengrass
<a name="manage-deployments-api"></a>

Die AWS IoT Greengrass API bietet die folgenden Aktionen zum Bereitstellen von AWS IoT Greengrass Gruppen und zum Verwalten von Gruppenbereitstellungen. Sie können diese Aktionen über die AWS CLI AWS IoT Greengrass API oder das AWS SDK aufrufen.


| Aktion | Beschreibung | 
| --- | --- | 
| [CreateDeployment](https://docs.aws.amazon.com/greengrass/v1/apireference/createdeployment-post.html) |  Erstellt eine `NewDeployment`- oder `Redeployment`-Bereitstellung. Möglicherweise möchten Sie eine Bereitstellung erneut bereitstellen, wenn die aktuelle Bereitstellung fehlschlägt. Sie können auch eine erneute Bereitstellung durchführen, um eine andere Gruppenversion wiederherzustellen. | 
| [GetDeploymentStatus](https://docs.aws.amazon.com/greengrass/v1/apireference/getdeploymentstatus-get.html) |  Gibt den Status einer Bereitstellung zurück: `Building`, `InProgress`, `Success` oder `Failure`. Sie können Amazon EventBridge Events so konfigurieren, dass Sie Bereitstellungsbenachrichtigungen erhalten. Weitere Informationen finden Sie unter [Abrufen von Bereitstellungsbenachrichtigungen](deployment-notifications.md). | 
| [ListDeployments](https://docs.aws.amazon.com/greengrass/v1/apireference/listdeployments-get.html) | Gibt den Bereitstellungsverlauf für die Gruppe zurück. | 
| [ResetDeployments](https://docs.aws.amazon.com/greengrass/v1/apireference/resetdeployments-post.html) |  Setzt die Bereitstellungen für die Gruppe zurück. Sie können Gruppenbereitstellungen zurücksetzen, um eine Gruppe zu verschieben oder zu löschen oder Bereitstellungsinformationen zu entfernen. Weitere Informationen finden Sie unter [Zurücksetzen von Bereitstellungen](reset-deployments-scenario.md). | 

**Anmerkung**  
Weitere Informationen zu Massenbereitstellungsvorgängen finden Sie unter [Erstellen von Sammelbereitstellungen für Gruppen](bulk-deploy-cli.md).

### Abrufen der Gruppen-ID
<a name="api-get-group-id"></a>

Die Gruppen-ID wird häufig in API-Aktionen verwendet. Sie können die [ListGroups](https://docs.aws.amazon.com/greengrass/v1/apireference/listgroups-get.html)Aktion verwenden, um die ID der Zielgruppe aus Ihrer Gruppenliste zu finden. Verwenden Sie AWS CLI beispielsweise in der den `list-groups` Befehl.

```
aws greengrass list-groups
```

Sie können auch die `query`-Option zum Filtern der Ergebnisse einschließen. Zum Beispiel:
+ So rufen Sie die zuletzt erstellte Gruppe ab:

  ```
  aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"
  ```
+ So rufe Sie eine Gruppe anhand des Namens ab:

  ```
  aws greengrass list-groups --query "Groups[?Name=='MyGroup']"
  ```

  Gruppennamen müssen nicht eindeutig sein, sodass mehrere Gruppen zurückgegeben werden können.

Nachfolgend finden Sie eine `list-groups`-Beispielantwort. Die Informationen für jede Gruppe beinhalten die ID der Gruppe (in der `Id`-Eigenschaft) und die ID der letzten Gruppenversion (in der `LatestVersion`-Eigenschaft). Um eine andere Version IDs für eine Gruppe zu erhalten, verwenden Sie die Gruppen-ID mit [ListGroupVersions](https://docs.aws.amazon.com/greengrass/v1/apireference/listgroupversions-get.html).

**Anmerkung**  
<a name="find-group-ids-console"></a>Sie finden diese Werte auch in der AWS IoT Konsole. Die Gruppen-ID wird auf der Seite **Einstellungen** der Gruppe angezeigt. Die Gruppenversion IDs wird auf der Registerkarte **Bereitstellungen** der Gruppe angezeigt.

```
{
    "Groups": [
        {
            "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE/versions/4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE",
            "Name": "MyFirstGroup",
            "LastUpdatedTimestamp": "2019-11-11T05:47:31.435Z",
            "LatestVersion": "4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE",
            "CreationTimestamp": "2019-11-11T05:47:31.435Z",
            "Id": "00dedaaa-ac16-484d-ad77-c3eedEXAMPLE",
            "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE"
        },
        {
            "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE/versions/8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE",
            "Name": "GreenhouseSensors",
            "LastUpdatedTimestamp": "2020-01-07T19:58:36.774Z",
            "LatestVersion": "8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE",
            "CreationTimestamp": "2020-01-07T19:58:36.774Z",
            "Id": "036ceaf9-9319-4716-ba2a-237f9EXAMPLE",
            "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE"
        },
        ...
    ]
}
```

Wenn Sie keine angeben AWS-Region, verwenden AWS CLI Befehle die Standardregion aus Ihrem Profil. Um Gruppen in einer anderen Region zurückzugeben, fügen Sie die *region* Option hinzu. Zum Beispiel:

```
aws greengrass list-groups --region us-east-1
```

## Überblick über das AWS IoT Greengrass Gruppenobjektmodell
<a name="api-overview"></a>

Bei der Programmierung mit der AWS IoT Greengrass API ist es hilfreich, das Greengrass-Gruppenobjektmodell zu verstehen.

### Gruppen
<a name="api-overview-groups"></a>

In der AWS IoT Greengrass API besteht das `Group` Objekt der obersten Ebene aus Metadaten und einer Liste von `GroupVersion` Objekten. `GroupVersion`Objekte sind mit einer `Group` BY-ID verknüpft.

![\[Ein Diagramm einer Gruppe, das aus Metadaten und einer Liste von Gruppenversionen besteht.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/om-group.png)


### Gruppenversionen
<a name="api-overview-versions"></a>

`GroupVersion`-Objekte definieren die Gruppenmitgliedschaft. Jede `GroupVersion` verweist auf eine `CoreDefinitionVersion` und andere Komponentenversionen nach ARN. Diese Referenzen bestimmen, welche Entitäten in die Gruppe aufgenommen werden sollen.

![\[Ein Diagramm einer Gruppenversion, die nach ARN auf andere Versionstypen verweist.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/om-groupversion.png)


Um beispielsweise drei Lambda-Funktionen, ein Gerät und zwei Abonnements in die Gruppe aufzunehmen, lauten die `GroupVersion` Verweise:
+ Die `CoreDefinitionVersion`, die den erforderlichen Core enthält.
+ Die `FunctionDefinitionVersion`, die die drei Funktionen enthält. 
+ Das`DeviceDefinitionVersion`, das das Client-Gerät enthält.
+ Die `SubscriptionDefinitionVersion`, die die beiden Abonnements enthält.

Die für ein Core-Gerät bereitgestellte `GroupVersion` bestimmt die Entitäten, die in der lokalen Umgebung verfügbar sind, und wie sie interagieren können.

### Gruppenkomponenten
<a name="api-overview-group-components"></a>

Komponenten, die Sie Gruppen hinzufügen, haben eine dreistufige Hierarchie:
+ Eine *Definition*, die auf eine Liste von *DefinitionVersion*Objekten eines bestimmten Typs verweist. Beispielsweise verweist eine `DeviceDefinition` auf eine Liste von `DeviceDefinitionVersion`-Objekten.
+ A *DefinitionVersion*, die eine Menge von Entitäten eines bestimmten Typs enthält. Eine `DeviceDefinitionVersion` enthält beispielsweise eine Liste von `Device`-Objekten.
+ Einzelne Entitäten, die ihre Eigenschaften und Verhalten definieren. Beispielsweise `Device` definiert a den ARN des entsprechenden Client-Geräts in der AWS IoT Registrierung, den ARN seines Gerätezertifikats und ob sein lokaler Shadow automatisch mit der Cloud synchronisiert wird.

  Sie können einer Gruppe die folgenden Arten von Entitäten hinzufügen:
  + [Konnektor](https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-connector.html)
  + [Core](https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-core.html)
  + [Gerät](https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-device.html)
  + [Funktion](https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-function.html)
  + [Logger](https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-logger.html)
  + [Ressource](https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-resource.html)
  + [Abonnement](https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-subscription.html)

Das folgende Beispiel einer `DeviceDefinition` verweist auf drei `DeviceDefinitionVersion`-Objekte, die jeweils mehrere `Device`-Objekte enthalten. Es wird nur jeweils eine `DeviceDefinitionVersion` in einer Gruppe verwendet.

![\[Ein Diagramm einer Gerätehierarchie, die aus den Objekten DeviceDefinition DeviceDefinitionVersion, und Device besteht.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/om-devicedefinition.png)


### Aktualisieren von Gruppen
<a name="api-update-groups"></a>

In der AWS IoT Greengrass API verwenden Sie Versionen, um die Konfiguration einer Gruppe zu aktualisieren. Versionen sind unveränderlich. Um Gruppenkomponenten hinzuzufügen, zu entfernen oder zu ändern, müssen Sie *DefinitionVersion*Objekte erstellen, die neue oder aktualisierte Entitäten enthalten.

Sie können neue *DefinitionVersions*Objekte neuen oder vorhandenen *Definitionsobjekten* zuordnen. Sie können beispielsweise die `CreateFunctionDefinition`-Aktion verwenden, um eine `FunctionDefinition` zu erstellen, die die `FunctionDefinitionVersion` als anfängliche Version enthält. Sie können auch die `CreateFunctionDefinitionVersion`-Aktion verwenden und auf eine vorhandene `FunctionDefinition` verweisen.

Nachdem Sie Ihre Gruppenkomponenten erstellt haben, erstellen Sie eine`GroupVersion`, die alle *DefinitionVersion*Objekte enthält, die Sie in die Gruppe aufnehmen möchten. Stellen Sie anschließend die `GroupVersion` bereit.

Um eine `GroupVersion` bereitzustellen, muss sie auf eine `CoreDefinitionVersion` verweisen, die genau einen `Core` enthält. Alle referenzierten Entitäten müssen Mitglieder der Gruppe sein. Außerdem muss Ihnen in dem Land, AWS-Konto in AWS-Region dem Sie die bereitstellen, [eine Greengrass-Servicerolle](service-role.md) zugeordnet sein. `GroupVersion`

**Anmerkung**  
Die `Update`-Aktionen in der API werden verwendet, um den Namen einer `Group` oder eines *Komponentendefinitionsobjekts* zu ändern.

**Entitäten, die auf Ressourcen verweisen AWS , werden aktualisiert**

Greengrass Lambda-Funktionen und [geheime Ressourcen](secrets.md) definieren Greengrass-spezifische Eigenschaften und verweisen auch auf entsprechende Ressourcen. AWS Um diese Entitäten zu aktualisieren, können Sie anstelle Ihrer Greengrass-Objekte Änderungen an der entsprechenden AWS Ressource vornehmen. Lambda-Funktionen verweisen beispielsweise auf eine Funktion in AWS Lambda und definieren auch den Lebenszyklus und andere Eigenschaften, die für die Greengrass-Gruppe spezifisch sind.
+ Um den Lambda-Funktionscode oder die Paketabhängigkeiten zu aktualisieren, nehmen Sie Ihre Änderungen in AWS Lambda vor. Bei der nächsten Gruppenbereitstellung werden diese Änderungen aus Ihrer lokalen Umgebung abgerufen AWS Lambda und in diese kopiert.
+ Um [Greengrass-spezifische Eigenschaften](lambda-group-config.md) zu aktualisieren, erstellen Sie eine `FunctionDefinitionVersion`, der die aktualisierten `Function`-Eigenschaften enthält.

**Anmerkung**  
Lambda-Funktionen von Greengrass können auf eine Lambda-Funktion mit dem Alias ARN oder der Version ARN verweisen. Wenn Sie auf den Alias-ARN verweisen (empfohlen), müssen Sie Ihre `FunctionDefinitionVersion` (oder `SubscriptionDefinitionVersion`) nicht aktualisieren, wenn Sie eine neue Funktionsversion in AWS Lambda veröffentlichen. Weitere Informationen finden Sie unter [Lambda-Funktionen nach Alias oder Version referenzieren](lambda-functions.md#lambda-versions-aliases).

## Weitere Informationen finden Sie auch unter
<a name="deployments-see-also"></a>
+ [Abrufen von Bereitstellungsbenachrichtigungen](deployment-notifications.md)
+ [Zurücksetzen von Bereitstellungen](reset-deployments-scenario.md)
+ [Erstellen von Sammelbereitstellungen für Gruppen](bulk-deploy-cli.md)
+ [Fehlerbehebung bei Bereitstellungsproblemen](gg-troubleshooting.md#gg-troubleshooting-deploymentissues)<a name="see-also-gg-api-cli"></a>
+ [AWS IoT Greengrass Version 1 API Reference](https://docs.aws.amazon.com/greengrass/v1/apireference/)
+ <a name="see-also-gg-cli"></a>[AWS IoT Greengrass*Befehle in der Befehlsreferenz AWS CLI *](https://docs.aws.amazon.com/cli/latest/reference/greengrass/index.html)

# Abrufen von Bereitstellungsbenachrichtigungen
<a name="deployment-notifications"></a>

Mit den EventBridge Amazon-Veranstaltungsregeln erhalten Sie Benachrichtigungen über Statusänderungen für Ihre Greengrass-Gruppenbereitstellungen. EventBridge liefert nahezu in Echtzeit einen Stream von Systemereignissen, der Änderungen an AWS Ressourcen beschreibt. AWS IoT Greengrass sendet diese EventBridge Ereignisse *mindestens einmal* an. Das bedeutet, dass AWS IoT Greengrass möglicherweise mehrere Kopien eines bestimmten Ereignisses gesendet werden, um die Zustellung sicherzustellen. Außerdem empfangen Ihre Ereignis-Listener die Ereignisse möglicherweise nicht in der Reihenfolge, in der die Ereignisse aufgetreten sind.

**Anmerkung**  
Amazon EventBridge ist ein Event-Bus-Service, mit dem Sie Ihre Anwendungen mit Daten aus einer Vielzahl von Quellen verbinden können, wie z. B. [Greengrass-Core-Geräten](telemetry.md) und Bereitstellungsbenachrichtigungen. Weitere Informationen finden Sie unter [Was ist Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) im * EventBridge Amazon-Benutzerhandbuch*.

AWS IoT Greengrass gibt ein Ereignis aus, wenn sich der Status von Gruppenbereitstellungen ändert. Sie können eine EventBridge Regel erstellen, die für alle von Ihnen angegebenen Zustandsübergänge oder Zustandsübergänge gilt. Wenn eine Bereitstellung in einen Zustand übergeht, der eine Regel initiiert, EventBridge ruft sie die in der Regel definierten Zielaktionen auf. Auf diese Weise können Sie Benachrichtigungen senden, Ereignisinformationen erfassen, Korrekturmaßnahmen ergreifen oder andere Ereignisse als Reaktion auf eine Statusänderung initiieren. Sie können beispielsweise Regeln für die folgenden Anwendungsfälle erstellen:
+ Initiiert Operationen nach der Bereitstellung, z. B. das Herunterladen von Ressourcen und die Benachrichtigung des Personals.
+ Senden Sie Benachrichtigungen bei erfolgreicher oder fehlgeschlagener Bereitstellung.
+ Veröffentlichen Sie benutzerdefinierte Metriken zu Bereitstellungsereignissen.

AWS IoT Greengrass löst ein Ereignis aus, wenn eine Bereitstellung in die folgenden Zustände übergeht:`Building`,`InProgress`, `Success` und. `Failure`

**Anmerkung**  
Die Überwachung des Status einer [Sammelbereitstellungsoperation](bulk-deploy-cli.md) wird derzeit nicht unterstützt. Gibt jedoch Zustandsänderungsereignisse für einzelne Gruppenbereitstellungen aus, die Teil einer AWS IoT Greengrass Massenbereitstellung sind.

## Änderungsereignis für den Gruppenbereitstellungsstatus
<a name="events-message-format"></a>

Das [Ereignis](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) für eine Änderung des Bereitstellungsstatus verwendet das folgende Format:

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass Deployment Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "time":"2018-03-22T00:38:11Z",
    "region":"us-west-2",
    "resources":[],
    "detail":{    
        "group-id": "284dcd4e-24bc-4c8c-a770-EXAMPLEf03b8",
        "deployment-id": "4f38f1a7-3dd0-42a1-af48-EXAMPLE09681",
        "deployment-type": "NewDeployment|Redeployment|ResetDeployment|ForceResetDeployment",
        "status": "Building|InProgress|Success|Failure"
    }
}
```

Sie können Regeln erstellen, die für mindestens eine Gruppe gelten. Sie können Regeln nach mindestens einem der folgenden Bereitstellungstypen und Bereitstellungsstatus filtern:

**Bereitstellungstypen**  
+ `NewDeployment`. Die erste Bereitstellung einer Gruppenversion.
+ `ReDeployment`. Eine erneute Bereitstellung einer Gruppenversion.
+ `ResetDeployment`. Löscht Bereitstellungsinformationen, die im AWS Cloud und auf dem AWS IoT Greengrass Core gespeichert sind. Weitere Informationen finden Sie unter [Zurücksetzen von Bereitstellungen](reset-deployments-scenario.md).
+ `ForceResetDeployment`. Löscht die in der gespeicherten Bereitstellungsinformationen AWS Cloud und meldet den Erfolg, ohne auf die Antwort des Kerns zu warten. Löscht außerdem Bereitstellungsinformationen, die auf dem Core gespeichert sind, wenn der Core verbunden ist oder wenn er das nächste Mal eine Verbindung herstellt.

**Bereitstellungsstatus**  
+ `Building`. AWS IoT Greengrass validiert die Gruppenkonfiguration und erstellt Einrichtungsartefakte.
+ `InProgress`. Die Bereitstellung im AWS IoT Greengrass Kern ist im Gange.
+ `Success`. Die Bereitstellung war erfolgreich.
+ `Failure`. Die Bereitstellung ist fehlgeschlagen.

Es ist möglich, dass Ereignisse doppelt sind oder nicht in der richtigen Reihenfolge werden. Um die Reihenfolge der Ereignisse zu bestimmen, verwenden Sie die `time`-Eigenschaft.

**Anmerkung**  
AWS IoT Greengrass verwendet die `resources` Eigenschaft nicht, daher ist sie immer leer.

## Voraussetzungen für die Erstellung von EventBridge Regeln
<a name="create-events-rule-prereqs"></a>

Bevor Sie eine EventBridge Regel für erstellen AWS IoT Greengrass, gehen Sie wie folgt vor:
+ Machen Sie sich mit Ereignissen, Regeln und Zielen in vertraut EventBridge.
+ Erstellen und konfigurieren Sie die Ziele, die durch Ihre EventBridge Regeln aufgerufen werden. Regeln können viele Arten von Zielen aufrufen, einschließlich:
  + Amazon-Simple-Notification-Service (Amazon-SNS)
  + AWS Lambda Funktionen
  + Amazon Kinesis Video Streams
  + Amazon-Simple-Queue-Service-(Amazon-SQS)-Warteschlangen

Weitere Informationen finden Sie unter [Was ist Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) und [Erste Schritte mit Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html) im * EventBridge Amazon-Benutzerhandbuch*.

## Konfigurieren von Bereitstellungsbenachrichtigungen (Konsole)
<a name="create-events-rule-console"></a>

Gehen Sie wie folgt vor, um eine EventBridge Regel zu erstellen, die ein Amazon SNS SNS-Thema veröffentlicht, wenn sich der Bereitstellungsstatus für eine Gruppe ändert. Auf diese Weise können Webserver, E-Mail-Adressen und andere Themenabonnenten auf das Ereignis reagieren. Weitere Informationen finden Sie im * EventBridge Amazon-Benutzerhandbuch* unter [Erstellen einer EventBridge Regel, die bei einem Ereignis von einer AWS Ressource ausgelöst](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) wird.

1. Öffnen Sie die [ EventBridgeAmazon-Konsole](https://console.aws.amazon.com/events/).

1. Wählen Sie im Navigationsbereich **Regeln** aus.

1. Wählen Sie **Regel erstellen** aus.

1. Geben Sie einen Namen und eine Beschreibung für die Regel ein.

   Eine Regel darf nicht denselben Namen wie eine andere Regel in derselben Region und auf demselben Event Bus haben.

1. Wählen Sie als **Event bus** (Event Bus) den Event Bus aus, den Sie dieser Regel zuordnen möchten. Wenn Sie möchten, dass diese Regel mit Ereignissen aus Ihrem eigenen Konto übereinstimmt, wählen Sie **AWS -Standard-Event-Bus** aus. Wenn ein AWS Service in Ihrem Konto ein Ereignis ausgibt, wird es immer an den Standard-Event-Bus Ihres Kontos weitergeleitet.

1. Bei **Regeltyp** wählen Sie **Regel mit einem Ereignismuster** aus.

1. Wählen Sie **Weiter** aus.

1. Als **Event source** (Ereignisquelle) wählen Sie **AWS -Services** aus.

1. Wählen Sie für **Event-Pattern** die Option **AWS Services** aus.

1. Wählen Sie für den **AWS Service** Greengrass.

1. Wählen Sie für **Ereignistyp** die Option **Greengrass Deployment Status Change (Änderung des Status der Greengrass-Bereitstellung)**.
**Anmerkung**  
Der **AWS API-Aufruf über** den CloudTrail Ereignistyp basiert auf der AWS IoT Greengrass Integration mit AWS CloudTrail. Sie können diese Option verwenden, um Regeln zu erstellen, die durch Lese- oder Schreibaufrufe an die AWS IoT Greengrass API initiiert werden. Weitere Informationen finden Sie unter [AWS IoT Greengrass API-Aufrufe protokollieren mit AWS CloudTrail](logging-using-cloudtrail.md).

1. Wählen Sie die Bereitstellungsstatus aus, die eine Benachrichtigung auslösen.
   + Um Benachrichtigungen für alle Statusänderungsereignisse zu erhalten, wählen Sie **Any state (Beliebiger Status)**.
   + Um Benachrichtigungen nur für bestimmte Statusänderungsereignisse zu erhalten, wählen Sie **Specific state(s) (Spezifische(r) Status)** und dann die Zielstatus aus.

1. Wählen Sie die Bereitstellungstypen aus, die eine Benachrichtigung auslösen.
   + Um Benachrichtigungen für alle Bereitstellungstypen zu erhalten, wählen Sie **Any state (Beliebiger Status)**.
   + Um Benachrichtigungen nur für bestimmte Bereitstellungstypen zu erhalten, wählen Sie **Specific state(s) (Spezifische(r) Status)** und dann die Zielbereitstellungstypen aus.

1. Wählen Sie **Weiter** aus.

1. Bei **Zieltypen** wählen Sie **AWS -Service** aus.

1. Für **Wählen Sie ein Ziel** aus konfigurieren Sie Ihr Ziel. In diesem Beispiel wird ein Amazon SNS SNS-Thema verwendet, Sie können jedoch auch andere Zieltypen für das Senden von Benachrichtigungen konfigurieren.

   1. Wählen Sie in **Target (Ziel)** die Option **SNS topic (SNS-Thema)** aus.

   1. Wählen Sie unter **Thema** das Zielthema aus.

   1. Wählen Sie **Weiter** aus.

1. Definieren Sie unter **Tags** Tags für die Regel oder lassen Sie die Felder leer.

1. Wählen Sie **Weiter** aus.

1. Überprüfen Sie die Details der Regel und wählen Sie dann **Regel erstellen** aus.

## Konfigurieren von Bereitstellungsbenachrichtigungen (CLI)
<a name="create-events-rule-cli"></a>

Gehen Sie wie folgt vor, um eine EventBridge Regel zu erstellen, die ein Amazon SNS SNS-Thema veröffentlicht, wenn sich der Bereitstellungsstatus für eine Gruppe ändert. Auf diese Weise können Webserver, E-Mail-Adressen und andere Themenabonnenten auf das Ereignis reagieren.

1. Erstellen Sie die Regel.
   + *group-id*Ersetzen Sie es durch die ID Ihrer AWS IoT Greengrass Gruppe.

   ```
   aws events put-rule \
     --name TestRule \
     --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"group-id\": [\"group-id\"]}}"
   ```

   Eigenschaften, die aus dem Muster weggelassen werden, werden ignoriert.

1. Fügen Sie das Thema als Regelziel hinzu.
   + *topic-arn*Ersetzen Sie es durch den ARN Ihres Amazon SNS SNS-Themas.

   ```
   aws events put-targets \
     --rule TestRule \
     --targets "Id"="1","Arn"="topic-arn"
   ```
**Anmerkung**  
Damit Amazon EventBridge Ihr Zielthema aufrufen kann, müssen Sie Ihrem Thema eine ressourcenbasierte Richtlinie hinzufügen. Weitere Informationen finden Sie unter [Amazon SNS SNS-Berechtigungen](https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sns-permissions) im * EventBridge Amazon-Benutzerhandbuch*.

Weitere Informationen finden Sie unter [Ereignisse und Ereignismuster EventBridge im EventBridge ](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) *Amazon-Benutzerhandbuch*.

## Konfigurieren von Bereitstellungsbenachrichtigungen (CloudFormation)
<a name="create-events-rule-cloudformation"></a>

Verwenden Sie CloudFormation Vorlagen, um EventBridge Regeln zu erstellen, die Benachrichtigungen über Statusänderungen für Ihre Greengrass-Gruppenbereitstellungen senden. Weitere Informationen finden Sie in der [Referenz zum EventBridge Amazon-Ressourcentyp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Events.html) im *AWS CloudFormation Benutzerhandbuch*.

## Weitere Informationen finden Sie auch unter
<a name="deployment-notifications-see-also"></a>
+ [AWS IoT Greengrass Gruppen für einen AWS IoT Greengrass Kern bereitstellen](deployments.md)
+ [Was ist Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) im * EventBridge Amazon-Benutzerhandbuch*

# Zurücksetzen von Bereitstellungen
<a name="reset-deployments-scenario"></a>

Diese Funktion ist für AWS IoT Greengrass Core v1.1 und höher verfügbar.

Sie können die Bereitstellungen einer Gruppe zurücksetzen auf:
+ Löschen Sie die Gruppe, z. B. wenn Sie den Kern der Gruppe in eine andere Gruppe verschieben möchten oder wenn für den Kern der Gruppe ein neues Image erstellt wurde. Bevor Sie eine Gruppe löschen, müssen Sie die Bereitstellungen der Gruppe zurücksetzen, um den Core mit einer anderen Greengrass-Gruppe zu verwenden.
+ Der Core der Gruppe soll in eine andere Gruppe verschoben werden.
+ Die Gruppe soll wieder in den Zustand vor der Bereitstellung versetzt werden.
+ Die Bereitstellungskonfiguration soll vom Core-Gerät entfernt werden.
+ Sensible Daten sollen vom Core-Gerät oder aus der Cloud gelöscht werden.
+ Eine neue Gruppenkonfiguration soll auf einem Core bereitgestellt werden, ohne dass der Core durch einen anderen in der aktuellen Gruppe ersetzt wird.

**Anmerkung**  
Die Funktionalität zum Zurücksetzen von Bereitstellungen ist in AWS IoT Greengrass Core Software v1.0.0 nicht verfügbar. Sie können keine Gruppe löschen, die mit v1.0.0 bereitgestellt wurde.

Die Operation zum Zurücksetzen von Bereitstellungen bereinigt zunächst alle Bereitstellungsinformationen, die in der Cloud für eine bestimmte Gruppe gespeichert sind. Anschließend weist es das Kerngerät der Gruppe an, auch alle Informationen zur Bereitstellung zu bereinigen (Lambda-Funktionen, Benutzerprotokolle, Schattendatenbank und Serverzertifikat, aber nicht die benutzerdefinierten `config.json` oder die Greengrass-Core-Zertifikate). Die Bereitstellungen einer Gruppe können nicht zurückgesetzt werden, wenn für diese Gruppe aktuell eine Bereitstellung mit dem Status `In Progress` oder `Building` vorhanden ist.

## Setzen Sie Bereitstellungen von der Konsole aus zurück AWS IoT
<a name="reset-deployments-console"></a>

Sie können Gruppenbereitstellungen auf der Gruppenkonfigurationsseite in der AWS IoT Konsole zurücksetzen.

1. <a name="console-gg-groups"></a>Erweitern Sie im Navigationsbereich der AWS IoT Konsole unter **Verwalten** die Option **Greengrass-Geräte** und wählen Sie dann **Gruppen (V1)** aus.

1. Wählen Sie die Zielgruppe aus.

1. Wählen Sie auf der Registerkarte **Bereitstellungen** die Option Bereitstellungen **zurücksetzen** aus.

1. Geben **Sie im Dialogfeld Bereitstellungen für diese Greengrass-Gruppe zurücksetzen** den Text ein, **confirm** um zuzustimmen, und wählen Sie Bereitstellung **zurücksetzen** aus.

## Setzen Sie Bereitstellungen mit der API zurück AWS IoT Greengrass
<a name="reset-deployments-api"></a>

Sie können die `ResetDeployments` Aktion in der AWS CLI AWS IoT Greengrass API oder im AWS SDK verwenden, um Bereitstellungen zurückzusetzen. Die Beispiele in diesem Thema verwenden die CLI.

```
aws greengrass reset-deployments --group-id GroupId [--force]
```Argumente für den CLI-Befehl `reset-deployments`:

`--group-id`  
Die Gruppen-ID. Verwenden Sie den `list-groups`-Befehl, um diesen Wert abzurufen.

`--force`  
Optional. Verwenden Sie diesen Parameter, wenn das Core-Gerät der Gruppe verloren, gestohlen oder zerstört wurde. Diese Option bewirkt, dass während des Zurücksetzens der Bereitstellungen eine Erfolgsmeldung ausgegeben wird, sobald alle Bereitstellungsinformationen in der Cloud gelöscht wurden, ohne auf die Antwort des Core-Geräts zu warten. Wenn das Core-Gerät jedoch aktiv ist oder wird, führt es auch Bereinigungsoperationen durch.

Die Ausgabe des CLI-Befehls `reset-deployments` sieht wie folgt aus:

```
{
    "DeploymentId": "4db95ef8-9309-4774-95a4-eea580b6ceef",
    "DeploymentArn": "arn:aws:greengrass:us-west-2:106511594199:/greengrass/groups/b744ed45-a7df-4227-860a-8d4492caa412/deployments/4db95ef8-9309-4774-95a4-eea580b6ceef"
}
```

Sie können den Status der Bereitstellungsrücksetzung mit dem CLI-Befehl `get-deployment-status` prüfen.

```
aws greengrass get-deployment-status --deployment-id DeploymentId --group-id GroupId
```Argumente für den CLI-Befehl `get-deployment-status`:

`--deployment-id`  
Die Bereitstellungs-ID.

`--group-id`  
Die Gruppen-ID.

Die Ausgabe des CLI-Befehls `get-deployment-status` sieht wie folgt aus:

```
{
    "DeploymentStatus": "Success",
    "UpdatedAt": "2017-04-04T00:00:00.000Z"
}
```

Der Wert von `DeploymentStatus` wird auf `Building` gesetzt, wenn das Zurücksetzen der Bereitstellungen vorbereitet wird. Wenn die Reset-Bereitstellung bereit ist, der AWS IoT Greengrass Core die Reset-Bereitstellung jedoch noch nicht übernommen hat, `DeploymentStatus` ist `InProgress` dies der Fall.

Wenn das Zurücksetzen fehlschlägt, werden Fehlerinformationen in der Antwort zurückgegeben.

## Weitere Informationen finden Sie auch unter
<a name="reset-deployments-see-also"></a>
+ [AWS IoT Greengrass Gruppen für einen AWS IoT Greengrass Kern bereitstellen](deployments.md)
+ [ResetDeployments ](https://docs.aws.amazon.com/greengrass/v1/apireference/resetdeployments-post.html)in der *AWS IoT Greengrass Version 1 API-Referenz*
+ [GetDeploymentStatus](https://docs.aws.amazon.com/greengrass/v1/apireference/getdeploymentstatus-get.html)in der *AWS IoT Greengrass Version 1 API-Referenz*

# Erstellen von Sammelbereitstellungen für Gruppen
<a name="bulk-deploy-cli"></a>

 Sie können einfache API-Aufrufe verwenden, um eine große Anzahl von Greengrass-Gruppen auf einmal bereitzustellen. Diese Bereitstellungen werden mit einer adaptiven Rate ausgelöst, die eine feste Obergrenze hat. 

 In diesem Tutorial wird beschrieben, wie Sie die AWS CLI zum Erstellen und Überwachen einer Massengruppenbereitstellung in verwenden AWS IoT Greengrass. Das Beispiel für die Sammelbereitstellung in diesem Tutorial enthält mehrere Gruppen. Sie können das Beispiel verwenden, um in Ihrer Implementierung so viele Gruppen hinzufügen, wie Sie benötigen. 

 Das Tutorial enthält die folgenden allgemeinen Schritte: 

1. [Erstellen und Hochladen der Eingabedatei für die Sammelbereitstellung](#bulk-deploy-cli-create-input-file)

1. [Erstellen und konfigurieren Sie eine IAM-Ausführungsrolle für Massenbereitstellungen](#bulk-deploy-cli-create-role)

1. [Ermöglichen des Zugriff auf Ihren S3-Bucket für Ihre Ausführungsrolle](#bulk-deploy-cli-modify-bucket)

1. [Bereitstellen der Gruppen](#bulk-deploy-cli-start-bulk-deployments)

1. [Testen der Bereitstellung](#bulk-deploy-cli-test)

## Voraussetzungen
<a name="bulk-deploy-cli-prerequisites"></a>

 Zum Durchführen dieses Tutorials benötigen Sie Folgendes: 
+  Eine oder mehrere bereitstellbare Greengrass-Gruppen. Weitere Informationen zum Erstellen von AWS IoT Greengrass -Gruppen und -Kernen finden Sie unter [Erste Schritte mit AWS IoT Greengrass](gg-gs.md). 
+  Das AWS CLI ist auf Ihrem Computer installiert und konfiguriert. Weitere Informationen finden Sie im [AWS CLI -Benutzerhandbuch](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html). 
+ Ein S3-Bucket, der im selben Format AWS-Region wie erstellt wurde AWS IoT Greengrass. Weitere Informationen finden Sie unter [Erstellen und Konfigurieren eines S3-Buckets](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-configure-bucket.html) im *Amazon Simple Storage Service-Benutzerhandbuch*. 
**Anmerkung**  
 Derzeit werden SSE KMS-aktivierte Buckets nicht unterstützt. 

## Schritt 1: Erstellen und Hochladen der Eingabedatei für die Sammelbereitstellung
<a name="bulk-deploy-cli-create-input-file"></a>

 In diesem Schritt erstellen Sie eine Eingabedatei für die Bereitstellung und laden sie in Ihren Amazon S3 S3-Bucket hoch. Diese Datei ist eine serialisierte, zeilengetrennte JSON-Datei, die Informationen zu jeder Gruppe in Ihrer Massenbereitstellung enthält. AWS IoT Greengrass verwendet diese Informationen, um jede Gruppe in Ihrem Namen bereitzustellen, wenn Sie Ihre Massengruppenbereitstellung initialisieren. 

1.  Führen Sie den folgenden Befehl aus, um die `groupId` für jede Gruppe zu erhalten, die Sie bereitstellen möchten. Sie geben die `groupId` in Ihrer Eingabedatei für die Sammelbereitstellung ein, damit AWS IoT Greengrass jede bereitzustellende Gruppe identifizieren kann. 
**Anmerkung**  
<a name="find-group-ids-console"></a>Sie finden diese Werte auch in der AWS IoT Konsole. Die Gruppen-ID wird auf der Seite **Einstellungen** der Gruppe angezeigt. Die Gruppenversion IDs wird auf der Registerkarte **Bereitstellungen** der Gruppe angezeigt.

   ```
   aws greengrass list-groups
   ```

    Die Antwort enthält Informationen zu jeder Gruppe in Ihrem AWS IoT Greengrass Konto: 

   ```
   {
     "Groups": [
       {
         "Name": "string",
         "Id": "string",
         "Arn": "string",
         "LastUpdatedTimestamp": "string",
         "CreationTimestamp": "string",
         "LatestVersion": "string",
         "LatestVersionArn": "string"
       }
     ],
     "NextToken": "string"
   }
   ```

    Führen Sie den folgenden Befehl aus, um die `groupVersionId` jeder Gruppe zu erhalten, die Sie bereitstellen möchten. 

   ```
   list-group-versions --group-id groupId
   ```

    Die Antwort enthält Informationen über alle Versionen in der Gruppe. Notieren Sie sich den `Version` Wert für die Gruppenversion, die Sie verwenden möchten. 

   ```
   {
     "Versions": [
       {
         "Arn": "string",
         "Id": "string",
         "Version": "string",
         "CreationTimestamp": "string"
       }
     ],
     "NextToken": "string"
   }
   ```

1.  Erstellen Sie in Ihrem Computerterminal oder Editor Ihrer Wahl eine Datei *MyBulkDeploymentInputFile* anhand des folgenden Beispiels. Diese Datei enthält Informationen zu jeder AWS IoT Greengrass Gruppe, die in eine Massenbereitstellung aufgenommen werden soll. Obwohl in diesem Beispiel mehrere Gruppen definiert sind, kann Ihre Datei für dieses Tutorial nur eine enthalten. 
**Anmerkung**  
 Die Größe dieser Datei muss kleiner als 100 MB sein. 

   ```
   {"GroupId":"groupId1", "GroupVersionId":"groupVersionId1", "DeploymentType":"NewDeployment"}
   {"GroupId":"groupId2", "GroupVersionId":"groupVersionId2", "DeploymentType":"NewDeployment"}
   {"GroupId":"groupId3", "GroupVersionId":"groupVersionId3", "DeploymentType":"NewDeployment"}
   ...
   ```

    Jeder Datensatz (oder Zeile) enthält ein Gruppenobjekt. Jedes Gruppenobjekt enthält seine entsprechende `GroupId` und `GroupVersionId` und einen `DeploymentType`. AWS IoT Greengrass Unterstützt derzeit nur Typen von `NewDeployment` Massenbereitstellungen. 

    Speichern und schließen Sie Ihre Datei. Notieren Sie sich den Speicherort der Datei. 

1.  Verwenden Sie den folgenden Befehl in Ihrem Terminal, um Ihre Eingabedatei in Ihren Amazon S3 S3-Bucket hochzuladen. Ersetzen Sie den Dateipfad durch den Speicherort und den Namen Ihrer Datei. Weitere Informationen finden Sie unter [Hinzufügen eines Objekts zu einem Bucket](https://docs.aws.amazon.com/AmazonS3/latest/gsg/PuttingAnObjectInABucket.html). 

   ```
   aws s3 cp path/MyBulkDeploymentInputFile s3://amzn-s3-demo-bucket/
   ```

## Schritt 2: Erstellen und Konfigurieren einer IAM-Ausführungsrolle
<a name="bulk-deploy-cli-create-role"></a>

 In diesem Schritt verwenden Sie die IAM-Konsole, um eine eigenständige Ausführungsrolle zu erstellen. Anschließend richten Sie eine Vertrauensbeziehung zwischen der Rolle ein AWS IoT Greengrass und stellen sicher, dass Ihr IAM-Benutzer über `PassRole` Berechtigungen für Ihre Ausführungsrolle verfügt. Auf diese Weise können AWS IoT Greengrass Sie Ihre Ausführungsrolle übernehmen und die Bereitstellungen in Ihrem Namen erstellen. 

1.  Verwenden Sie die folgende Richtlinie, um eine Ausführungsrolle zu erstellen. Dieses Richtliniendokument ermöglicht es AWS IoT Greengrass , auf Ihre Eingabedatei für die Sammelbereitstellung zuzugreifen, wenn es jede Bereitstellung in Ihrem Namen erstellt. 

    Weitere Informationen zum Erstellen einer IAM-Rolle und zum Delegieren von Berechtigungen finden Sie unter [Erstellen von IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html). 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "greengrass:CreateDeployment",
               "Resource": [
               "arn:aws:greengrass:us-east-1:123456789012:/greengrass/groups/groupId1",
       "arn:aws:greengrass:us-east-1:123456789012:/greengrass/groups/groupId2",
       "arn:aws:greengrass:us-east-1:123456789012:/greengrass/groups/groupId3"
               ]
           }
       ]
   }
   ```

------
**Anmerkung**  
 Diese Richtlinie muss für jede Gruppe oder Gruppenversion in Ihrer Eingabedatei eine Ressource für die Sammelbereitstellung enthalten, die von AWS IoT Greengrass bereitzustellen ist. Um den Zugriff auf alle Gruppen zu ermöglichen, geben Sie für `Resource` ein Sternchen an:   

   ```
   "Resource": ["*"]
   ```

1.  Ändern Sie die Vertrauensbeziehung für Ihre Ausführungsrolle, um AWS IoT Greengrass einzuschließen. Dadurch kann AWS IoT Greengrass Ihre Ausführungsrolle und die damit verbundenen Berechtigungen verwenden. Weitere Informationen finden Sie unter [Bearbeiten der Vertrauensstellung für eine vorhandene Rolle](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/edit_trust.html). 

   Wir empfehlen Ihnen, auch die Kontextschlüssel `aws:SourceArn` und die `aws:SourceAccount` globalen Bedingungsschlüssel in Ihre Vertrauensrichtlinie aufzunehmen, um das Sicherheitsproblem „*Confused Deputy*“ zu vermeiden. Die Bedingungskontextschlüssel schränken den Zugriff so ein, dass nur Anfragen zugelassen werden, die vom angegebenen Konto und Greengrass-Workspace stammen. Weitere Informationen zum Confused-Deputy-Problem finden Sie [Serviceübergreifende Confused-Deputy-Prävention](cross-service-confused-deputy-prevention.md).

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": "greengrass.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
           "aws:SourceAccount": "123456789012"
           },
           "ArnLike": {
             "aws:SourceArn": "arn:aws:greengrass:us-east-1:123456789012:*"
           }
         }
       }
     ]
   }
   ```

------

1.  Erteilen Sie Ihrem `PassRole` IAM-Benutzer IAM-Berechtigungen für Ihre Ausführungsrolle. Dieser IAM-Benutzer wird verwendet, um die Massenbereitstellung zu initiieren. `PassRole`Berechtigungen ermöglichen es Ihrem IAM-Benutzer, Ihre Ausführungsrolle zur Verwendung an ihn zu AWS IoT Greengrass übergeben. Weitere Informationen finden Sie unter [Einem Benutzer Berechtigungen zur Übergabe einer Rolle an einen AWS Dienst](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) erteilen. 

    Verwenden Sie das folgende Beispiel, um die Ihrer Ausführungsrolle zugeordnete IAM-Richtlinie zu aktualisieren. Ändern Sie dieses Beispiel, falls erforderlich. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Stmt1508193814000",
               "Effect": "Allow",
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": [
                   "arn:aws:iam::123456789012:user/executionRoleArn"
               ],
               "Condition": {
                   "StringEquals": {
                       "iam:PassedToService": "greengrass.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

## Schritt 3: Ermöglichen des Zugriff auf Ihren S3-Bucket für Ihre Ausführungsrolle
<a name="bulk-deploy-cli-modify-bucket"></a>

 Um Ihre Massenbereitstellung zu starten, muss Ihre Ausführungsrolle in der Lage sein, Ihre Eingabedatei für die Massenbereitstellung aus Ihrem Amazon S3 S3-Bucket zu lesen. Hängen Sie die folgende Beispielrichtlinie an Ihren Amazon S3 S3-Bucket an, damit Ihre Ausführungsrolle auf dessen `GetObject` Berechtigungen zugreifen kann. 

 Weitere Informationen finden Sie unter [Wie füge ich eine S3-Bucket-Richtlinie hinzu?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html) 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "examplePolicy",
    "Statement": [
        {
            "Sid": "Stmt1535408982966",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "executionRoleArn"
                ]
            },
            "Action": "s3:GetObject",
            "Resource":
            "arn:aws:s3:::amzn-s3-demo-bucket/objectKey"
        }
    ]
}
```

------

 Sie können den folgenden Befehl in Ihrem Terminal verwenden, um die Richtlinien Ihres Buckets zu überprüfen: 

```
aws s3api get-bucket-policy --bucket amzn-s3-demo-bucket
```

**Anmerkung**  
 Sie können Ihre Ausführungsrolle direkt ändern, um ihr stattdessen die `GetObject` Berechtigungen Ihres Amazon S3 S3-Buckets zu gewähren. Fügen Sie dazu Ihrer Ausführungsrolle die folgende Beispielrichtlinie an.   

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/objectKey"
        }
    ]
}
```

## Schritt 4: Bereitstellen der Gruppen
<a name="bulk-deploy-cli-start-bulk-deployments"></a>

 In diesem Schritt starten Sie eine Sammelbereitstellung für alle Gruppenversionen, die in Ihrer Eingabedatei für die Sammelbereitstellung konfiguriert sind. Die Bereitstellungsaktion für jede Ihrer Gruppenversionen ist vom Typ `NewDeploymentType`. 

**Anmerkung**  
 Sie können **StartBulkDeployment** nicht aufrufen, während eine andere Sammelbereitstellung aus demselben Konto noch läuft. Die Anforderung wurde abgelehnt. 

1.  Verwenden Sie den folgenden Befehl, um die Sammelbereitstellung zu starten. 

    Wir empfehlen, dass Sie ein `X-Amzn-Client-Token`-Token in jeder **StartBulkDeployment** Anforderung einschließen. Diese Anforderungen sind in Bezug auf das Token und die Anfrageparameter idempotent. Dieses Token kann eine beliebige eindeutige Zeichenfolge, bei der die Groß- und Kleinschreibung zu beachten ist, mit bis zu 64 ASCII-Zeichen sein. 

   ```
   aws greengrass start-bulk-deployment --cli-input-json "{
             "InputFileUri":"URI of file in S3 bucket", 
             "ExecutionRoleArn":"ARN of execution role",
             "AmznClientToken":"your Amazon client token"
             }"
   ```

    Der Befehl sollte zu einem erfolgreichen Statuscode `200` führen, zusammen mit der folgenden Antwort: 

   ```
   {
     "bulkDeploymentId": UUID
   }
   ```

    Notieren Sie sich die ID der Sammelbereitstellung. Sie kann verwendet werden, um den Status Ihrer Sammelbereitstellung zu überprüfen. 
**Anmerkung**  
Obwohl Massenbereitstellungsvorgänge derzeit nicht unterstützt werden, können Sie EventBridge Amazon-Veranstaltungsregeln erstellen, um Benachrichtigungen über Änderungen des Bereitstellungsstatus für einzelne Gruppen zu erhalten. Weitere Informationen finden Sie unter [Abrufen von Bereitstellungsbenachrichtigungen](deployment-notifications.md).

1.  Verwenden Sie den folgenden Befehl, um den Status Ihrer Sammelbereitstellung zu überprüfen: 

   ```
   aws greengrass get-bulk-deployment-status --bulk-deployment-id 1234567
   ```

    Der Befehl sollte einen erfolgreichen Statuscode `200` zurückgeben, zusätzlich zu einer JSON-Nutzlast aus Informationen: 

   ```
    {
     "BulkDeploymentStatus": Running,
     "Statistics": {
        "RecordsProcessed": integer,
        "InvalidInputRecords": integer,
        "RetryAttempts": integer
     },
     "CreatedAt": "string",
     "ErrorMessage": "string",
     "ErrorDetails": [
       {
         "DetailedErrorCode": "string",
         "DetailedErrorMessage": "string"
       }
     ]
   }
   ```

    `BulkDeploymentStatus` enthält den aktuellen Status der Sammelausführung. Die Ausführung kann einen von sechs verschiedenen Statusarten haben: 
   + `Initializing`. Die Anfrage zur Massenbereitstellung wurde empfangen, und der Start der Ausführung wird gerade vorbereitet.
   + `Running`. Die Ausführung der Massenbereitstellung wurde gestartet.
   + `Completed`. Die Ausführung der Massenbereitstellung hat die Verarbeitung aller Datensätze abgeschlossen.
   + `Stopping`. Die Ausführung der Massenbereitstellung hat einen Befehl zum Beenden erhalten und wird in Kürze beendet. Sie können keine neue Sammelbereitstellung starten, solange sich eine frühere Bereitstellung noch nicht im Status `Stopping` befindet.
   + `Stopped`. Die Ausführung der Massenbereitstellung wurde manuell gestoppt.
   + `Failed`. Bei der Ausführung der Massenbereitstellung ist ein Fehler aufgetreten und sie wurde beendet. Fehlerdetails finden Sie im `ErrorDetails`-Feld.

    Die JSON-Nutzlast enthält auch statistische Informationen über den Fortschritt der Sammelbereitstellung. Anhand dieser Informationen können Sie feststellen, wie viele Gruppen verarbeitet wurden und wie viele fehlgeschlagen sind. Die statistischen Informationen umfassen: 
   +  `RecordsProcessed`: Die Anzahl der Gruppensätze, die versucht wurden. 
   +  `InvalidInputRecords`: Die Gesamtzahl der Datensätze, die einen nicht wiederholbaren Fehler (Non-Retryable Error) zurückgegeben haben. Dies kann beispielsweise der Fall sein, wenn ein Gruppendatensatz aus der Eingabedatei ein ungültiges Format aufweist oder eine nicht vorhandene Gruppenversion angibt, oder wenn die Ausführung keine Berechtigung zum Bereitstellen einer Gruppen- oder Gruppenversion erteilt. 
   +  `RetryAttempts`: Die Anzahl der Bereitstellungsversuche, die einen wiederholbaren Fehler (Retryable Error) zurückgegeben haben. Beispielsweise wird ein Wiederholungsversuch ausgelöst, wenn der Versuch, eine Gruppe bereitzustellen, einen Ablehnungsfehler (Throttling Error) zurückgibt. Eine Gruppenbereitstellung kann bis zu fünfmal wiederholt werden. 

    Im Falle eines Ausführungsfehlers bei der Sammelbereitstellung beinhaltet diese Nutzlast auch einen Abschnitt `ErrorDetails`, der zur Fehlerbehebung verwendet werden kann. Hierin sind Informationen über die Ursache des Ausführungsfehlers enthalten. 

    Sie können den Status der Sammelbereitstellung regelmäßig überprüfen, um sicherzustellen, dass sie wie erwartet verläuft. Nachdem die Bereitstellung abgeschlossen ist, sollte `RecordsProcessed` gleich der Anzahl der Bereitstellungsgruppen in Ihrer Eingabedatei für die Sammelbereitstellung sein. Dies zeigt an, dass jeder Datensatz bearbeitet wurde. 

## Schritt 5: Testen der Bereitstellung
<a name="bulk-deploy-cli-test"></a>

 Verwenden Sie den **ListBulkDeployments**-Befehl, um die ID Ihrer Sammelbereitstellung zu finden. 

```
aws greengrass list-bulk-deployments
```

 Dieser Befehl gibt eine Liste aller Ihrer Sammelbereitstellung von der neuesten bis zur ältesten zurück, einschließlich Ihrer `BulkDeploymentId`. 

```
{
  "BulkDeployments": [
    {
      "BulkDeploymentId": 1234567,
      "BulkDeploymentArn": "string",
      "CreatedAt": "string"
    }
  ],
  "NextToken": "string"
}
```

 Rufen Sie nun den Befehl **ListBulkDeploymentDetailedReports** auf, um detaillierte Informationen zu jeder Bereitstellung zu sammeln. 

```
aws greengrass list-bulk-deployment-detailed-reports --bulk-deployment-id 1234567 
```

 Der Befehl sollte einen erfolgreichen Statuscode `200` zurückgeben, zusammen mit einer JSON-Nutzlast aus Informationen: 

```
{ 
  "BulkDeploymentResults": [
    {
      "DeploymentId": "string",
      "GroupVersionedArn": "string",
      "CreatedAt": "string",
      "DeploymentStatus": "string",
      "ErrorMessage": "string",
      "ErrorDetails": [
        {
          "DetailedErrorCode": "string",
          "DetailedErrorMessage": "string"
        }
      ]
    }
  ],
  "NextToken": "string"
}
```

 Diese Nutzlast enthält in der Regel eine paginierte Liste jeder Bereitstellung mit ihrem Bereitstellungsstatus, von der neuesten bis zur ältesten. Es enthält auch weitere Informationen für den Fall eines Ausführungsfehlers bei der Sammelbereitstellung. Auch hier sollte die Gesamtzahl der aufgelisteten Bereitstellungen der Anzahl der Gruppen entsprechen, die Sie in Ihrer Eingabedatei für die Sammelbereitstellung angegeben haben. 

 Die zurückgegebenen Informationen können sich ändern, bis sich die Bereitstellungen in einem Terminalzustand befinden (Erfolg oder Misserfolg). Sie können diesen Befehl bis dahin periodisch aufrufen. 

## Fehlerbehebung bei Sammelbereitstellungen
<a name="bulk-deploy-cli-troubleshooting"></a>

 Wenn die Sammelbereitstellung nicht erfolgreich ist, können Sie folgende Schritte ausführen, um den Fehler zu beheben. Führen Sie die Befehle in Ihrem Terminal aus. 

### Fehlerbehebung bei Fehlern in der Eingabedatei
<a name="bulk-deploy-cli-troubleshooting-input-file-errors"></a>

 Die Sammelbereitstellung kann bei Syntaxfehlern in der Eingabedatei für die Sammelbereitstellung fehlschlagen. Dies gibt einen Sammelbereitstellungsstatus `Failed` mit einer Fehlermeldung zurück, die die Zeilennummer des ersten Validierungsfehlers anzeigt. Es gibt vier mögliche Fehlermeldungen: 
+ 

  ```
  InvalidInputFile: Missing GroupId at line number: line number
  ```

   Dieser Fehler zeigt an, dass die angegebene Zeile der Eingabedatei den angegebenen Parameter nicht registrieren kann. Die möglichen fehlenden Parameter sind die `GroupId` und die `GroupVersionId`. 
+ 

  ```
  InvalidInputFile: Invalid deployment type at line number : line number. Only valid type is 'NewDeployment'.
  ```

   Dieser Fehler zeigt an, dass in der Zeile der angegebenen Eingabedatei ein ungültiger Bereitstellungstyp angeführt ist. Derzeit wird nur der Bereitstellungstyp `NewDeployment` unterstützt. 
+ 

  ```
  Line %s is too long in S3 File. Valid line is less than 256 chars.
  ```

   Dieser Fehler zeigt an, dass die angegebene Zeile der Eingabedatei zu lang ist und gekürzt werden muss. 
+ 

  ```
  Failed to parse input file at line number: line number
  ```

   Dieser Fehler zeigt an, dass die angegebene Zeile der Eingabedatei als nicht gültig für JSON angesehen wird. 

### Auf gleichzeitige Sammelbereitstellungen prüfen.
<a name="bulk-deploy-cli-troubleshooting-concurrent-bulk-deployments"></a>

 Sie können keine neue Sammelbereitstellung starten, während eine andere noch läuft bzw. sich nicht im terminalen Zustand befindet. Dies kann zum Fehler `Concurrent Deployment Error` führen. Sie können den **ListBulkDeployments**-Befehl verwenden, um zu überprüfen, dass derzeit keine Massenbereitstellung erfolgt. Dieser Befehl listet Ihre Sammelbereitstellungen von der neuesten bis zur ältesten auf. 

```
{
  "BulkDeployments": [
    {
      "BulkDeploymentId": BulkDeploymentId,
      "BulkDeploymentArn": "string",
      "CreatedAt": "string"
    }
  ],
  "NextToken": "string"
}
```

 Verwenden Sie die `BulkDeploymentId` der ersten aufgelisteten Sammelbereitstellung, um den Befehl **GetBulkDeploymentStatus** auszuführen. Wenn sich Ihre jüngste Sammelbereitstellung in einem laufenden Zustand befindet (`Initializing` oder `Running`), verwenden Sie den folgenden Befehl, um die Sammelbereitstellung zu stoppen. 

```
aws greengrass stop-bulk-deployment --bulk-deployment-id BulkDeploymentId
```

 Diese Aktion führt zum Status `Stopping`, bis die Bereitstellung auf `Stopped` gesetzt ist. Nachdem die Bereitstellung den Status `Stopped` erreicht hat, können Sie eine neue Sammelbereitstellung starten. 

### Prüfen ErrorDetails
<a name="bulk-deploy-cli-troubleshooting-check-error-details"></a>

 Führen Sie den Befehl `GetBulkDeploymentStatus` aus, um eine JSON-Nutzlast zurückzugeben, die Informationen über einen Fehler bei der Ausführung der Sammelbereitstellung enthält. 

```
  "Message": "string",
  "ErrorDetails": [
    {
      "DetailedErrorCode": "string",
      "DetailedErrorMessage": "string"
    }
  ]
```

 Bei Beendigung mit einem Fehler, enthalten die `ErrorDetails` der JSON-Nutzlast, die von diesem Aufruf zurückgegeben wird, weitere Informationen über den Fehler bei der Ausführung der Sammelbereitstellung. Ein Fehlerstatuscode in der Serie `400` zeigt beispielsweise einen Eingabefehler an, entweder in den Eingabeparametern oder in den Abhängigkeiten des Anrufers. 

### Überprüfe das AWS IoT Greengrass Core-Log
<a name="bulk-deploy-cli-troubleshooting-check-core-log"></a>

 Sie können Probleme beheben, indem Sie sich die AWS IoT Greengrass Kernprotokolle ansehen. Verwenden Sie die folgenden Befehle, um das `runtime.log` anzuzeigen: 

```
cd /greengrass/ggc/var/log
sudo cat system/runtime.log | more
```

Weitere Informationen zur AWS IoT Greengrass Protokollierung finden Sie unter[Überwachung mit AWS IoT Greengrass Protokollen](greengrass-logs-overview.md). 

## Weitere Informationen finden Sie auch unter
<a name="bulk-deploy-cli-see-also"></a>

Weitere Informationen finden Sie in den folgenden Ressourcen:
+ [AWS IoT Greengrass Gruppen für einen AWS IoT Greengrass Kern bereitstellen](deployments.md)
+ [Amazon S3 S3-API-Befehle](https://docs.aws.amazon.com/cli/latest/reference/s3api) in der *AWS CLI Befehlsreferenz*
+ <a name="see-also-gg-cli"></a>[AWS IoT Greengrass Befehle](https://docs.aws.amazon.com/cli/latest/reference/greengrass/index.html) in der *AWS CLI Befehlsreferenz*