

Die AWS SDK für JavaScript Version 2 ist erreicht end-of-support. Wir empfehlen Ihnen, auf [AWS SDK für JavaScript Version 3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) zu migrieren. Weitere Einzelheiten und Informationen zur Migration finden Sie in dieser [Ankündigung](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

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.

# Ereignisse an Amazon CloudWatch Events senden
<a name="cloudwatch-examples-sending-events"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/de_de/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Dieses Node.js-Codebeispiel zeigt:**
+ So erstellen und aktualisieren Sie eine Regel für das Auslösen eines Ereignisses.
+ So definieren Sie ein oder mehrere Ziele für die Reaktion auf ein Ereignis.
+ So senden Sie Ereignisse, die Zielen zur Bearbeitung zugeordnet sind.

## Das Szenario
<a name="cloudwatch-examples-sending-events-scenario"></a>

CloudWatch Events liefert nahezu in Echtzeit einen Stream von Systemereignissen, die Änderungen an den Amazon Web Services Services-Ressourcen für verschiedene Ziele beschreiben. Mit einfachen Regeln können Sie Ereignisse zuordnen und sie zu einer oder mehreren Zielfunktionen oder Streams umleiten.

In diesem Beispiel werden eine Reihe von Node.js -Modulen verwendet, um Ereignisse an CloudWatch Events zu senden. Die Module Node.js verwenden das SDK für JavaScript die Verwaltung von Instanzen mithilfe der folgenden Methoden der `CloudWatchEvents` Client-Klasse:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchEvents.html#putRule-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchEvents.html#putRule-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchEvents.html#putTargets-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchEvents.html#putTargets-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchEvents.html#putEvents-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchEvents.html#putEvents-property)

Weitere Informationen zu CloudWatch Veranstaltungen finden Sie unter [Hinzufügen von Ereignissen mit PutEvents](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/AddEventsPutEvents.html) im *Amazon CloudWatch Events-Benutzerhandbuch*.

## Erforderliche Aufgaben
<a name="cloudwatch-examples-sending-events-prerequisites"></a>

Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:
+ Installieren Sie Node.js. Weitere Informationen über die Installation von Node.js finden Sie auf der [Node.js-Website](https://nodejs.org).
+ Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zum Bereitstellen einer Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie unter [Laden der Anmeldeinformationen in Node.js aus der freigegebenen Anmeldeinformationsdatei](loading-node-credentials-shared.md).
+ Erstellen Sie mithilfe des **Hello-World-Blueprints** eine Lambda-Funktion, die als Ziel für Ereignisse dient. Wie das geht, erfahren Sie unter [Schritt 1: AWS Lambda Funktion erstellen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/LogEC2InstanceState.html) im *Amazon CloudWatch Events-Benutzerhandbuch*.
+ Erstellen Sie eine IAM-Rolle, deren Richtlinie Berechtigungen für CloudWatch Veranstaltungen gewährt, und dazu gehört auch `events.amazonaws.com` die Rolle „Vertrauenswürdige Entität“. Weitere Informationen zum Erstellen einer IAM-Rolle finden Sie unter [Creating a Role to Delegate Permissions to an AWS Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) im *IAM-Benutzerhandbuch*.

Verwenden Sie die folgende Rollenrichtlinie beim Erstellen der IAM-Rolle.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "CloudWatchEventsFullAccess",
         "Effect": "Allow",
         "Action": "events:*",
         "Resource": "*"
      },
      {
         "Sid": "IAMPassRoleForCloudWatchEvents",
         "Effect": "Allow",
         "Action": "iam:PassRole",
         "Resource": "arn:aws:iam::*:role/AWS_Events_Invoke_Targets"
      }      
   ]
}
```

------

Verwenden Sie beim Erstellen einer IAM-Rolle die folgende Vertrauensstellung.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": {
            "Service": "events.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
      }      
   ]
}
```

------

## Erstellen einer geplanten Regel
<a name="cloudwatch-examples-sending-events-rules"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `cwe_putrule.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf CloudWatch Ereignisse zuzugreifen, erstellen Sie ein `AWS.CloudWatchEvents` Serviceobjekt. Erstellen Sie ein JSON-Objekt, welches die für die neue geplante Regel erforderlichen Parameter enthält, darunter die folgenden: 
+ Einen Namen für die Regel
+ Der ARN der IAM-Rolle, die Sie zuvor erstellt haben
+ Einen Ausdruck zum Auslösen der Regel alle fünf Minuten

Rufen Sie die `putRule`-Methode auf, um die Regel zu erstellen. Der Callback gibt den ARN der neuen oder aktualisierten Regel zurück.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create CloudWatchEvents service object
var cwevents = new AWS.CloudWatchEvents({ apiVersion: "2015-10-07" });

var params = {
  Name: "DEMO_EVENT",
  RoleArn: "IAM_ROLE_ARN",
  ScheduleExpression: "rate(5 minutes)",
  State: "ENABLED",
};

cwevents.putRule(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.RuleArn);
  }
});
```

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

```
node cwe_putrule.js
```

Diesen Beispielcode finden Sie [hier unter GitHub.](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/cloudwatch-events/cwe_putrule.js)

## Ein AWS Lambda Funktionsziel hinzufügen
<a name="cloudwatch-examples-sending-events-targets"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `cwe_puttargets.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf CloudWatch Ereignisse zuzugreifen, erstellen Sie ein `AWS.CloudWatchEvents` Serviceobjekt. Erstellen Sie ein JSON-Objekt mit den Parametern, die zur Angabe der Regel erforderlich sind, an die Sie das Ziel anhängen möchten, einschließlich des ARN der von Ihnen erstellten Lambda-Funktion. Rufen Sie die `putTargets`-Methode des `AWS.CloudWatchEvents`-Serviceobjekts auf.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create CloudWatchEvents service object
var cwevents = new AWS.CloudWatchEvents({ apiVersion: "2015-10-07" });

var params = {
  Rule: "DEMO_EVENT",
  Targets: [
    {
      Arn: "LAMBDA_FUNCTION_ARN",
      Id: "myCloudWatchEventsTarget",
    },
  ],
};

cwevents.putTargets(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

```
node cwe_puttargets.js
```

Diesen Beispielcode finden Sie [hier auf GitHub.](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/cloudwatch-events/cwe_puttargets.js)

## Senden von Ereignissen
<a name="cloudwatch-examples-sending-events-putevents"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `cwe_putevents.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf CloudWatch Ereignisse zuzugreifen, erstellen Sie ein `AWS.CloudWatchEvents` Serviceobjekt. Erstellen Sie ein JSON-Objekt, welches die für das Senden von Ereignissen erforderlichen Parameter enthält. Geben Sie für jedes Ereignis die Quelle des Ereignisses, alle vom Ereignis betroffenen Ressourcen und Details zum Ereignis an. ARNs Rufen Sie die `putEvents`-Methode des `AWS.CloudWatchEvents`-Serviceobjekts auf.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create CloudWatchEvents service object
var cwevents = new AWS.CloudWatchEvents({ apiVersion: "2015-10-07" });

var params = {
  Entries: [
    {
      Detail: '{ "key1": "value1", "key2": "value2" }',
      DetailType: "appRequestSubmitted",
      Resources: ["RESOURCE_ARN"],
      Source: "com.company.app",
    },
  ],
};

cwevents.putEvents(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.Entries);
  }
});
```

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

```
node cwe_putevents.js
```

Diesen Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/cloudwatch-events/cwe_putevents.js).