

 Das [AWS SDK für JavaScript V3-API-Referenzhandbuch](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) beschreibt detailliert alle API-Operationen für die AWS SDK für JavaScript Version 3 (V3). 

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.

# Beispiele für Amazon Simple Notification Service
<a name="sns-examples"></a>

Amazon Simple Notification Service (Amazon SNS) ist ein Webservice, der die Zustellung oder den Versand von Nachrichten an abonnierte Endpunkte oder Kunden koordiniert und verwaltet. 

In Amazon SNS gibt es zwei Arten von Kunden — Herausgeber und Abonnenten —, die auch als Produzenten und Verbraucher bezeichnet werden. 

![\[Beziehung zwischen JavaScript Umgebungen, dem SDK und Amazon SNS\]](http://docs.aws.amazon.com/de_de/sdk-for-javascript/v3/developer-guide/images/code-samples-sns.png)


Herausgeber kommunizieren asynchron mit Abonnenten, indem sie eine Nachricht erstellen und an ein Thema senden, bei dem es sich wirklich um einen logischen Zugriffspunkt und Kommunikationskanal handelt. Abonnenten (Webserver, E-Mail-Adressen, Amazon SQS-Warteschlangen, AWS Lambda Funktionen) konsumieren oder empfangen die Nachricht oder Benachrichtigung über eines der unterstützten Protokolle (Amazon SQS, HTTP/S, E-Mail, SMS AWS Lambda), wenn sie das Thema abonniert haben. 

Die JavaScript API für Amazon SNS wird über die [Klasse: SNS](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/SNS/) verfügbar gemacht. 

**Topics**
+ [Themen in Amazon SNS verwalten](sns-examples-managing-topics.md)
+ [Nachrichten in Amazon SNS veröffentlichen](sns-examples-publishing-messages.md)
+ [Verwaltung von Abonnements in Amazon SNS](sns-examples-subscribing-unsubscribing-topics.md)
+ [Senden von SMS-Nachrichten mit Amazon SNS](sns-examples-sending-sms.md)

# Themen in Amazon SNS verwalten
<a name="sns-examples-managing-topics"></a>

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

**Dieses Node.js-Codebeispiel zeigt:**
+ So erstellen Sie Themen in Amazon SNS, zu denen Sie Benachrichtigungen veröffentlichen können.
+ So löschen Sie in Amazon SNS erstellte Themen.
+ Abrufen einer Liste von verfügbaren Themen
+ Abrufen und Festlegen von Themenattributen

## Das Szenario
<a name="sns-examples-managing-topics-scenario"></a>

In diesem Beispiel verwenden Sie eine Reihe von Node.js -Modulen, um Amazon SNS SNS-Themen zu erstellen, aufzulisten und zu löschen und Themenattribute zu verarbeiten. Die Module Node.js verwenden das SDK JavaScript zur Verwaltung von Themen mithilfe der folgenden Methoden der `SNS` Client-Klasse:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/CreateTopicCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/CreateTopicCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/ListTopicsCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/ListTopicsCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/DeleteTopicCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/DeleteTopicCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/GetTopicAttributesCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/GetTopicAttributesCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/SetTopicAttributesCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/SetTopicAttributesCommand/)

## Erforderliche Aufgaben
<a name="sns-examples-managing-topics-prerequisites"></a>

Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:
+ Richten Sie die Projektumgebung ein, um diese TypeScript Node-Beispiele auszuführen, und installieren Sie die erforderlichen Module AWS SDK für JavaScript und Module von Drittanbietern. Folgen Sie den Anweisungen auf [ GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/README.md).
+ Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zur Bereitstellung einer Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie unter [Dateien mit gemeinsam genutzten Konfigurationen und Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) im *AWS SDKs Referenzhandbuch zu Tools*.

**Wichtig**  
Diese Beispiele veranschaulichen, wie Sie Objekte und Befehle mithilfe von ECMAScript6 (ES6) als import/export Client verwalten können.  
Dies erfordert Node.js Version 13.x oder höher. Informationen zum Herunterladen und Installieren der neuesten Version von Node.js finden Sie unter [Node.js downloads](https://nodejs.org/en/download). .
Wenn Sie die CommonJS-Syntax bevorzugen, finden Sie weitere Informationen unter[JavaScript ES6/CommonJs-Syntax](sdk-example-javascript-syntax.md).

## Erstellen eines Themas
<a name="sns-examples-managing-topics-createtopic"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um ein Amazon SNS SNS-Thema zu erstellen. 

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `create-topic.js`. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Clients und Pakete.

Erstellen Sie ein Objekt, um den Namen (`Name`) für das neue Thema an die `CreateTopicCommand`-Methode der `SNS`-Client-Klasse zu übergeben. Um die `CreateTopicCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS-Serviceobjekt aufruft und das Parameterobjekt übergibt. Die `data` zurückgegebene enthält den ARN des Themas.

**Anmerkung**  
Ersetze es *TOPIC\$1NAME* durch den Namen des Themas.

```
import { CreateTopicCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

/**
 * @param {string} topicName - The name of the topic to create.
 */
export const createTopic = async (topicName = "TOPIC_NAME") => {
  const response = await snsClient.send(
    new CreateTopicCommand({ Name: topicName }),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: '087b8ad2-4593-50c4-a496-d7e90b82cf3e',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   TopicArn: 'arn:aws:sns:us-east-1:xxxxxxxxxxxx:TOPIC_NAME'
  // }
  return response;
};
```

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

```
node create-topic.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/create-topic.js).

## Auflisten Ihrer -Themen
<a name="sns-examples-managing-topics-listtopics"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um alle Amazon SNS SNS-Themen aufzulisten. 

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `list-topics.js`. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Clients und Pakete.

Erstellen Sie ein leeres Objekt, das an die `ListTopicsCommand`-Methode der `SNS`-Client-Klasse übergeben wird. Um die `ListTopicsCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS-Serviceobjekt aufruft und das Parameterobjekt übergibt. Die `data` zurückgegebene Datei enthält ein Array Ihres Themas Amazon Resource Names (ARNs).

```
import { ListTopicsCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

export const listTopics = async () => {
  const response = await snsClient.send(new ListTopicsCommand({}));
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: '936bc5ad-83ca-53c2-b0b7-9891167b909e',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   Topics: [ { TopicArn: 'arn:aws:sns:us-east-1:xxxxxxxxxxxx:mytopic' } ]
  // }
  return response;
};
```

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

```
node list-topics.js
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/list-topics.js).

## Löschen eines Themas
<a name="sns-examples-managing-topics-deletetopic"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um ein Amazon SNS SNS-Thema zu löschen. 

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `delete-topic.js`. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Clients und Pakete.

Erstellen Sie ein Objekt, das den `TopicArn` des zu löschenden Themas enthält, um es an die `DeleteTopicCommand`-Methode der `SNS`-Client-Klasse zu übergeben. Um die `DeleteTopicCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS SNS-Client-Serviceobjekt aufruft und das Parameter-Objekt übergibt. 

**Anmerkung**  
*TOPIC\$1ARN*Ersetzen Sie es durch den Amazon-Ressourcennamen (ARN) des Themas, das Sie löschen möchten.

```
import { DeleteTopicCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

/**
 * @param {string} topicArn - The ARN of the topic to delete.
 */
export const deleteTopic = async (topicArn = "TOPIC_ARN") => {
  const response = await snsClient.send(
    new DeleteTopicCommand({ TopicArn: topicArn }),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: 'a10e2886-5a8f-5114-af36-75bd39498332',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   }
  // }
};
```

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

```
node delete-topic.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/delete-topic.js).

## Abrufen von Themenattributen
<a name="sns-examples-managing-topicsgettopicattributes"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um Attribute eines Amazon SNS SNS-Themas abzurufen.

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `get-topic-attributes.js`. Konfigurieren Sie das SDK wie zuvor dargestellt.

Erstellen Sie ein Objekt, das den `TopicArn` eines zu löschenden Themas enthält, um es an die `GetTopicAttributesCommand`-Methode der `SNS`-Client-Klasse zu übergeben. Um die `GetTopicAttributesCommand` Methode aufzurufen, wird ein Amazon SNS SNS-Client-Serviceobjekt aufgerufen und das Parameter-Objekt übergeben. 

**Anmerkung**  
Ersetze es *TOPIC\$1ARN* durch den ARN des Themas.

```
import { GetTopicAttributesCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

/**
 * @param {string} topicArn - The ARN of the topic to retrieve attributes for.
 */
export const getTopicAttributes = async (topicArn = "TOPIC_ARN") => {
  const response = await snsClient.send(
    new GetTopicAttributesCommand({
      TopicArn: topicArn,
    }),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: '36b6a24e-5473-5d4e-ac32-ff72d9a73d94',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   Attributes: {
  //     Policy: '{...}',
  //     Owner: 'xxxxxxxxxxxx',
  //     SubscriptionsPending: '1',
  //     TopicArn: 'arn:aws:sns:us-east-1:xxxxxxxxxxxx:mytopic',
  //     TracingConfig: 'PassThrough',
  //     EffectiveDeliveryPolicy: '{"http":{"defaultHealthyRetryPolicy":{"minDelayTarget":20,"maxDelayTarget":20,"numRetries":3,"numMaxDelayRetries":0,"numNoDelayRetries":0,"numMinDelayRetries":0,"backoffFunction":"linear"},"disableSubscriptionOverrides":false,"defaultRequestPolicy":{"headerContentType":"text/plain; charset=UTF-8"}}}',
  //     SubscriptionsConfirmed: '0',
  //     DisplayName: '',
  //     SubscriptionsDeleted: '1'
  //   }
  // }
  return response;
};
```

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

```
node get-topic-attributes.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/get-topic-attributes.js).

## Festlegen von Themenattributen
<a name="sns-examples-managing-topicssttopicattributes"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um die veränderbaren Attribute eines Amazon SNS SNS-Themas festzulegen. 

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen. `snsClient.js` Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `set-topic-attributes.js`. Konfigurieren Sie das SDK wie zuvor dargestellt.

Erstellen Sie ein Objekt, das die Parameter für eine Aktualisierung des Attributs enthält. Dazu gehören der `TopicArn` des Themas, dessen Attribute Sie festlegen möchten, der Name des festzulegenden Attributs und der neue Wert für dieses Attribut. Sie können nur die Attribute `Policy`, `DisplayName` und `DeliveryPolicy` festlegen. Übergeben Sie die Parameter an die `SetTopicAttributesCommand`-Methode der Client-Klasse `SNS`. Um die `SetTopicAttributesCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS SNS-Client-Serviceobjekt aufruft und das Parameter-Objekt übergibt. 

**Anmerkung**  
*ATTRIBUTE\$1NAME*Ersetzen Sie durch den Namen des Attributs, das Sie festlegen, *TOPIC\$1ARN* durch den Amazon-Ressourcennamen (ARN) des Themas, dessen Attribute Sie festlegen möchten, und *NEW\$1ATTRIBUTE\$1VALUE* durch den neuen Wert für dieses Attribut.

```
import { SetTopicAttributesCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

export const setTopicAttributes = async (
  topicArn = "TOPIC_ARN",
  attributeName = "DisplayName",
  attributeValue = "Test Topic",
) => {
  const response = await snsClient.send(
    new SetTopicAttributesCommand({
      AttributeName: attributeName,
      AttributeValue: attributeValue,
      TopicArn: topicArn,
    }),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: 'd1b08d0e-e9a4-54c3-b8b1-d03238d2b935',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   }
  // }
  return response;
};
```

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

```
node set-topic-attributes.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/set-topic-attributes.js).

# Nachrichten in Amazon SNS veröffentlichen
<a name="sns-examples-publishing-messages"></a>

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

**Dieses Node.js-Codebeispiel zeigt:**
+ So veröffentlichen Sie Nachrichten zu einem Amazon SNS SNS-Thema.

## Das Szenario
<a name="sns-examples-publishing-messages-scenario"></a>

In diesem Beispiel verwenden Sie eine Reihe von Node.js -Modulen, um Nachrichten von Amazon SNS an Themenendpunkte, E-Mails oder Telefonnummern zu veröffentlichen. Die Module Node.js verwenden das SDK JavaScript , um Nachrichten mit dieser Methode der `SNS` Client-Klasse zu senden:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/PublishCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/PublishCommand/)

## Erforderliche Aufgaben
<a name="sns-examples-publishing-messages-prerequisites"></a>

Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:
+ Richten Sie die Projektumgebung ein, um diese TypeScript Node-Beispiele auszuführen, und installieren Sie die erforderlichen Module AWS SDK für JavaScript und Module von Drittanbietern. Folgen Sie den Anweisungen auf [ GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/README.md).
+ Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zur Bereitstellung einer Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie unter [Dateien mit gemeinsam genutzten Konfigurationen und Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) im *AWS SDKs Referenzhandbuch zu Tools*.

**Wichtig**  
Diese Beispiele veranschaulichen, wie Sie Objekte und Befehle mithilfe von ECMAScript6 (ES6) als import/export Client verwalten können.  
Dies erfordert Node.js Version 13.x oder höher. Informationen zum Herunterladen und Installieren der neuesten Version von Node.js finden Sie unter [Node.js downloads](https://nodejs.org/en/download). .
Wenn Sie die CommonJS-Syntax bevorzugen, finden Sie weitere Informationen unter[JavaScript ES6/CommonJs-Syntax](sdk-example-javascript-syntax.md).

## Veröffentlichen einer Nachricht in einem SNS-Thema
<a name="sns-examples-publishing-text-messages"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um eine Nachricht zu einem Amazon SNS SNS-Thema zu veröffentlichen.

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

 Erstellen Sie ein Node.js-Modul mit dem Dateinamen `publish-topic.js`. Konfigurieren Sie das SDK wie zuvor dargestellt.

Erstellen Sie ein Objekt, das die Parameter für die Veröffentlichung einer Nachricht enthält, einschließlich des Nachrichtentexts und des Amazon-Ressourcennamens (ARN) des Amazon SNStopic. Einzelheiten zu den verfügbaren SMS-Attributen finden Sie unter [Set SMSAttributes](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#setSMSAttributes-property).

Übergeben Sie die Parameter an die `PublishCommand` Methode der `SNS` Client-Klasse. Erstellen Sie eine asynchrone Funktion, die ein Amazon SNS SNS-Client-Serviceobjekt aufruft und das Parameterobjekt übergibt. 

**Anmerkung**  
*MESSAGE\$1TEXT*Ersetzen Sie durch den Nachrichtentext und *TOPIC\$1ARN* durch den ARN des SNS-Themas.

```
import { PublishCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

/**
 * @param {string | Record<string, any>} message - The message to send. Can be a plain string or an object
 *                                                 if you are using the `json` `MessageStructure`.
 * @param {string} topicArn - The ARN of the topic to which you would like to publish.
 */
export const publish = async (
  message = "Hello from SNS!",
  topicArn = "TOPIC_ARN",
) => {
  const response = await snsClient.send(
    new PublishCommand({
      Message: message,
      TopicArn: topicArn,
    }),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: 'e7f77526-e295-5325-9ee4-281a43ad1f05',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   MessageId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
  // }
  return response;
};
```

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

```
node publish-topic.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/publish-topic.js).

# Verwaltung von Abonnements in Amazon SNS
<a name="sns-examples-subscribing-unsubscribing-topics"></a>

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

**Dieses Node.js-Codebeispiel zeigt:**
+ So listen Sie alle Abonnements für ein Amazon SNS SNS-Thema auf.
+ So abonnieren Sie eine E-Mail-Adresse, einen Anwendungsendpunkt oder eine AWS Lambda Funktion für ein Amazon SNS SNS-Thema.
+ So melden Sie sich von Amazon SNS SNS-Themen ab.

## Das Szenario
<a name="sns-examples-subscribing-unsubscribing-topics-scenario"></a>

In diesem Beispiel verwenden Sie eine Reihe von Node.js -Modulen, um Benachrichtigungen zu Amazon SNS SNS-Themen zu veröffentlichen. Die Module Node.js verwenden das SDK JavaScript zur Verwaltung von Themen mithilfe der folgenden Methoden der `SNS` Client-Klasse:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/ListSubscriptionsByTopicCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/ListSubscriptionsByTopicCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/SubscribeCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/SubscribeCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/ConfirmSubscriptionCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/ConfirmSubscriptionCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/UnsubscribeCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/UnsubscribeCommand/)

## Erforderliche Aufgaben
<a name="sns-examples-subscribing-unsubscribing-topics-prerequisites"></a>

Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:
+ Richten Sie die Projektumgebung ein, um diese TypeScript Node-Beispiele auszuführen, und installieren Sie die erforderlichen Module AWS SDK für JavaScript und Module von Drittanbietern. Folgen Sie den Anweisungen auf [ GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/README.md).
+ Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zur Bereitstellung einer Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie unter [Dateien mit gemeinsam genutzten Konfigurationen und Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) im *AWS SDKs Referenzhandbuch zu Tools*.

**Wichtig**  
Diese Beispiele veranschaulichen, wie Sie Objekte und Befehle mithilfe von ECMAScript6 (ES6) als import/export Client verwalten können.  
Dies erfordert Node.js Version 13.x oder höher. Informationen zum Herunterladen und Installieren der neuesten Version von Node.js finden Sie unter [Node.js downloads](https://nodejs.org/en/download). .
Wenn Sie die CommonJS-Syntax bevorzugen, finden Sie weitere Informationen unter[JavaScript ES6/CommonJs-Syntax](sdk-example-javascript-syntax.md).

## Auflisten von Abonnements eines Themas
<a name="sns-examples-list-subscriptions-email"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um alle Abonnements für ein Amazon SNS SNS-Thema aufzulisten. 

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

 Erstellen Sie ein Node.js-Modul mit dem Dateinamen `list-subscriptions-by-topic.js`. Konfigurieren Sie das SDK wie zuvor dargestellt.

Erstellen Sie ein Objekt, das den `TopicArn`-Parameter für das Thema enthält, dessen Abonnements Sie auflisten möchten. Übergeben Sie die Parameter an die `ListSubscriptionsByTopicCommand`-Methode der Client-Klasse `SNS`. Um die `ListSubscriptionsByTopicCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS SNS-Client-Serviceobjekt aufruft und das Parameter-Objekt übergibt. 

**Anmerkung**  
*TOPIC\$1ARN*Ersetzen Sie es durch den Amazon-Ressourcennamen (ARN) für das Thema, dessen Abonnements Sie auflisten möchten.

```
import { ListSubscriptionsByTopicCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

/**
 * @param {string} topicArn - The ARN of the topic for which you wish to list subscriptions.
 */
export const listSubscriptionsByTopic = async (topicArn = "TOPIC_ARN") => {
  const response = await snsClient.send(
    new ListSubscriptionsByTopicCommand({ TopicArn: topicArn }),
  );

  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: '0934fedf-0c4b-572e-9ed2-a3e38fadb0c8',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   Subscriptions: [
  //     {
  //       SubscriptionArn: 'PendingConfirmation',
  //       Owner: '901487484989',
  //       Protocol: 'email',
  //       Endpoint: 'corepyle@amazon.com',
  //       TopicArn: 'arn:aws:sns:us-east-1:901487484989:mytopic'
  //     }
  //   ]
  // }
  return response;
};
```

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

```
node list-subscriptions-by-topic.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/list-subscriptions-by-topic.js).

## Abonnieren eines Themas durch Hinterlegen einer E-Mail-Adresse
<a name="sns-examples-subscribing-email"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um eine E-Mail-Adresse zu abonnieren, sodass sie SMTP-E-Mail-Nachrichten von einem Amazon SNS SNS-Thema empfängt. 

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen. `snsClient.js` Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `subscribe-email.js`. Konfigurieren Sie das SDK wie zuvor dargestellt.

Erstellen Sie ein Objekt, das den `Protocol`-Parameter enthält, um das `email`-Protokoll, den `TopicArn` für das Thema, das abonniert werden soll, und eine E-Mail-Adresse als `Endpoint` der Nachricht anzugeben. Übergeben Sie die Parameter an die `SubscribeCommand`-Methode der Client-Klasse `SNS`. Sie können die `subscribe` Methode verwenden, um mehrere verschiedene Endpunkte für ein Amazon SNS SNS-Thema zu abonnieren, abhängig von den Werten, die für die übergebenen Parameter verwendet werden, wie andere Beispiele in diesem Thema zeigen werden.

Um die `SubscribeCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS SNS-Client-Serviceobjekt aufruft und das Parameter-Objekt übergibt. 

**Anmerkung**  
*TOPIC\$1ARN*Ersetzen Sie es durch den Amazon-Ressourcennamen (ARN) für das Thema und *EMAIL\$1ADDRESS* durch die E-Mail-Adresse, die Sie abonnieren möchten.

```
import { SubscribeCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

/**
 * @param {string} topicArn - The ARN of the topic for which you wish to confirm a subscription.
 * @param {string} emailAddress - The email address that is subscribed to the topic.
 */
export const subscribeEmail = async (
  topicArn = "TOPIC_ARN",
  emailAddress = "usern@me.com",
) => {
  const response = await snsClient.send(
    new SubscribeCommand({
      Protocol: "email",
      TopicArn: topicArn,
      Endpoint: emailAddress,
    }),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: 'c8e35bcd-b3c0-5940-9f66-06f6fcc108f0',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   SubscriptionArn: 'pending confirmation'
  // }
};
```

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

```
node subscribe-email.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/subscribe-email.js).

### Bestätigen von Abonnements
<a name="sns-confirm-subscription-email"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um die Absicht eines Endpunktbesitzers zu überprüfen, E-Mails zu empfangen, indem Sie das Token validieren, das durch eine vorherige Abonnement-Aktion an den Endpunkt gesendet wurde.

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `confirm-subscription.js`. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Clients und Pakete.

Definieren Sie die Parameter, einschließlich `TOPIC_ARN` und`TOKEN`, und definieren Sie einen Wert von `TRUE` oder `FALSE` für`AuthenticateOnUnsubscribe`.

Das Token ist ein kurzlebiges Token, das während einer vorherigen `SUBSCRIBE` Aktion an den Besitzer eines Endpunkts gesendet wurde. Bei einem E-Mail-Endpunkt `TOKEN` steht es beispielsweise in der URL der E-Mail zur Bestätigung des Abonnements, die an den E-Mail-Besitzer gesendet wurde. Zum Beispiel `abc123` ist das Token in der folgenden URL.

![\[Amazon Web Services Simple Notification Service subscription confirmation page.\]](http://docs.aws.amazon.com/de_de/sdk-for-javascript/v3/developer-guide/images/token.png)


Um die `ConfirmSubscriptionCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS SNS-Client-Serviceobjekt aufruft und das Parameter-Objekt übergibt. 

**Anmerkung**  
*TOPIC\$1ARN*Ersetzen Sie es durch den Amazon-Ressourcennamen (ARN) für das Thema, *TOKEN* durch den Token-Wert aus der URL, die in einer früheren `Subscribe` Aktion an den Endpoint-Besitzer gesendet wurde, und definiere*AuthenticateOnUnsubscribe*. mit dem Wert `TRUE` oder`FALSE`.

```
import { ConfirmSubscriptionCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

/**
 * @param {string} token - This token is sent the subscriber. Only subscribers
 *                         that are not AWS services (HTTP/S, email) need to be confirmed.
 * @param {string} topicArn - The ARN of the topic for which you wish to confirm a subscription.
 */
export const confirmSubscription = async (
  token = "TOKEN",
  topicArn = "TOPIC_ARN",
) => {
  const response = await snsClient.send(
    // A subscription only needs to be confirmed if the endpoint type is
    // HTTP/S, email, or in another AWS account.
    new ConfirmSubscriptionCommand({
      Token: token,
      TopicArn: topicArn,
      // If this is true, the subscriber cannot unsubscribe while unauthenticated.
      AuthenticateOnUnsubscribe: "false",
    }),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: '4bb5bce9-805a-5517-8333-e1d2cface90b',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   SubscriptionArn: 'arn:aws:sns:us-east-1:xxxxxxxxxxxx:TOPIC_NAME:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
  // }
  return response;
};
```

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

```
node confirm-subscription.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/confirm-subscription.js).

## Abonnieren eines Themas mit einem Anwendungsendpunkt
<a name="sns-examples-subscribing-apps"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um einen mobilen Anwendungsendpunkt zu abonnieren, sodass dieser Benachrichtigungen von einem Amazon SNS SNS-Thema empfängt. 

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `subscribe-app.js`. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Module und Pakete.

Erstellen Sie ein Objekt, das den `Protocol` Parameter zur Angabe des `application` Protokolls, das `TopicArn` für das zu abonnierende Thema und den Amazon-Ressourcennamen (ARN) eines mobilen Anwendungsendpunkts für den `Endpoint` Parameter enthält. Übergeben Sie die Parameter an die `SubscribeCommand`-Methode der Client-Klasse `SNS`.

Um die `SubscribeCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS-Serviceobjekt aufruft und das Parameterobjekt übergibt. 

**Anmerkung**  
*TOPIC\$1ARN*Ersetzen Sie es durch den Amazon-Ressourcennamen (ARN) für das Thema und *MOBILE\$1ENDPOINT\$1ARN* durch den Endpunkt, für den Sie das Thema abonnieren.

```
import { SubscribeCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

/**
 * @param {string} topicArn - The ARN of the topic the subscriber is subscribing to.
 * @param {string} endpoint - The Endpoint ARN of an application. This endpoint is created
 *                            when an application registers for notifications.
 */
export const subscribeApp = async (
  topicArn = "TOPIC_ARN",
  endpoint = "ENDPOINT",
) => {
  const response = await snsClient.send(
    new SubscribeCommand({
      Protocol: "application",
      TopicArn: topicArn,
      Endpoint: endpoint,
    }),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: 'c8e35bcd-b3c0-5940-9f66-06f6fcc108f0',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   SubscriptionArn: 'pending confirmation'
  // }
  return response;
};
```

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

```
node subscribe-app.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/subscribe-app.js).

## Abonnieren einer Lambda-Funktion für ein Thema
<a name="sns-examples-subscribing-lambda"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um eine AWS Lambda Funktion zu abonnieren, sodass sie Benachrichtigungen von einem Amazon SNS SNS-Thema empfängt. 

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `subscribe-lambda.js`. Konfigurieren Sie das SDK wie zuvor dargestellt.

Erstellen Sie ein Objekt, das den `Protocol` Parameter enthält und `lambda` das Protokoll, das `TopicArn` für das zu abonnierende Thema und den Amazon-Ressourcennamen (ARN) einer AWS Lambda Funktion als `Endpoint` Parameter angibt. Übergeben Sie die Parameter an die `SubscribeCommand`-Methode der Client-Klasse `SNS`.

Um die `SubscribeCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS SNS-Client-Serviceobjekt aufruft und das Parameter-Objekt übergibt. 

**Anmerkung**  
*TOPIC\$1ARN*Ersetzen Sie durch den Amazon-Ressourcennamen (ARN) für das Thema und *LAMBDA\$1FUNCTION\$1ARN* durch den Amazon-Ressourcennamen (ARN) der Lambda-Funktion.

```
import { SubscribeCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

/**
 * @param {string} topicArn - The ARN of the topic the subscriber is subscribing to.
 * @param {string} endpoint - The Endpoint ARN of and AWS Lambda function.
 */
export const subscribeLambda = async (
  topicArn = "TOPIC_ARN",
  endpoint = "ENDPOINT",
) => {
  const response = await snsClient.send(
    new SubscribeCommand({
      Protocol: "lambda",
      TopicArn: topicArn,
      Endpoint: endpoint,
    }),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: 'c8e35bcd-b3c0-5940-9f66-06f6fcc108f0',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   SubscriptionArn: 'pending confirmation'
  // }
  return response;
};
```

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

```
node subscribe-lambda.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/subscribe-lambda.js).

## Abmelden von einem Thema
<a name="sns-examples-unsubscribing"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um ein Amazon SNS SNS-Themenabonnement zu kündigen.

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `unsubscribe.js`. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Clients und Pakete.

Erstellen Sie ein Objekt, das den `SubscriptionArn` Parameter enthält und den Amazon-Ressourcennamen (ARN) des Abonnements angibt, das gekündigt werden soll. Übergeben Sie die Parameter an die `UnsubscribeCommand`-Methode der Client-Klasse `SNS`.

Um die `UnsubscribeCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS SNS-Client-Serviceobjekt aufruft und das Parameter-Objekt übergibt. 

**Anmerkung**  
*TOPIC\$1SUBSCRIPTION\$1ARN*Ersetzen Sie es durch den Amazon-Ressourcennamen (ARN) des Abonnements, um das Abonnement zu kündigen.

```
import { UnsubscribeCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

/**
 * @param {string} subscriptionArn - The ARN of the subscription to cancel.
 */
const unsubscribe = async (
  subscriptionArn = "arn:aws:sns:us-east-1:xxxxxxxxxxxx:mytopic:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
) => {
  const response = await snsClient.send(
    new UnsubscribeCommand({
      SubscriptionArn: subscriptionArn,
    }),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: '0178259a-9204-507c-b620-78a7570a44c6',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   }
  // }
  return response;
};
```

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

```
node unsubscribe.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/unsubscribe.js).

# Senden von SMS-Nachrichten mit Amazon SNS
<a name="sns-examples-sending-sms"></a>

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

**Dieses Node.js-Codebeispiel zeigt:**
+ So rufen Sie SMS-Nachrichteneinstellungen für Amazon SNS ab und legen sie fest.
+ Überprüfen, ob eine Telefonnummer vom Empfang von SMS-Nachrichten abgemeldet wurde
+ Abrufen einer Liste der Telefonnummern, die vom Empfang von SMS-Nachrichten abgemeldet wurden
+ Senden einer SMS-Nachricht

## Das Szenario
<a name="sns-examples-sending-sms-scenario"></a>

Verwenden Sie Amazon SNS, um Textnachrichten oder SMS-Nachrichten an SMS-fähige Geräte zu senden. Sie können eine Nachricht direkt an eine Telefonnummer senden oder Sie können eine Nachricht an mehrere Telefonnummern gleichzeitig senden, indem Sie das Thema für diese Telefonnummern abonnieren und die Nachricht an das Thema senden.

In diesem Beispiel verwenden Sie eine Reihe von Node.js -Modulen, um SMS-Textnachrichten von Amazon SNS auf SMS-fähigen Geräten zu veröffentlichen. Die Module Node.js verwenden das SDK für JavaScript die Veröffentlichung von SMS-Nachrichten mit den folgenden Methoden der `SNS` Client-Klasse:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/GetSMSAttributesCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/GetSMSAttributesCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/SetSMSAttributesCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/SetSMSAttributesCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/CheckIfPhoneNumberIsOptedOutCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/CheckIfPhoneNumberIsOptedOutCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/ListPhoneNumbersOptedOutCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/ListPhoneNumbersOptedOutCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/PublishCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sns/Class/PublishCommand/)

## Erforderliche Aufgaben
<a name="sns-examples-sending-sms-prerequisites"></a>

Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:
+ Richten Sie die Projektumgebung ein, um diese TypeScript Node-Beispiele auszuführen, und installieren Sie die erforderlichen Module AWS SDK für JavaScript und Module von Drittanbietern. Folgen Sie den Anweisungen auf [ GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/README.md).
+ Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zur Bereitstellung einer Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie unter [Dateien mit gemeinsam genutzten Konfigurationen und Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) im *AWS SDKs Referenzhandbuch zu Tools*.

**Wichtig**  
Diese Beispiele veranschaulichen, wie Sie Objekte und Befehle mithilfe von ECMAScript6 (ES6) als import/export Client verwalten können.  
Dies erfordert Node.js Version 13.x oder höher. Informationen zum Herunterladen und Installieren der neuesten Version von Node.js finden Sie unter [Node.js downloads](https://nodejs.org/en/download). .
Wenn Sie die CommonJS-Syntax bevorzugen, finden Sie weitere Informationen unter[JavaScript ES6/CommonJs-Syntax](sdk-example-javascript-syntax.md).

## Abrufen von SMS-Attributen
<a name="sending-sms-getattributes"></a>

Verwenden Sie Amazon SNS, um Einstellungen für SMS-Nachrichten festzulegen, z. B. wie Ihre Lieferungen optimiert werden (aus Kostengründen oder für eine zuverlässige Zustellung), Ihr monatliches Ausgabenlimit, wie Nachrichtenzustellungen protokolliert werden und ob Sie tägliche SMS-Nutzungsberichte abonnieren möchten. Diese Einstellungen werden abgerufen und als SMS-Attribute für Amazon SNS festgelegt.

Verwenden Sie in diesem Beispiel ein Modul Node.js, um die aktuellen SMS-Attribute in Amazon SNS abzurufen.

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

 Erstellen Sie ein Node.js-Modul mit dem Dateinamen `get-sms-attributes.js`.

Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich des Herunterladens der erforderlichen Clients und Pakete. Erstellen Sie ein Objekt, das die Parameter zum Abrufen von SMS-Attributen enthält, einschließlich der Namen der einzelnen Attribute, die abgerufen werden. Einzelheiten zu verfügbaren SMS-Attributen finden Sie unter [Set SMSAttributes](https://docs.aws.amazon.com/sns/latest/api/API_SetSMSAttributes.html) in der Amazon Simple Notification Service API-Referenz.

In diesem Beispiel wird das `DefaultSMSType`-Attribut abgerufen. Dieses Attribut steuert, ob SMS-Nachrichten als `Promotional` oder als `Transactional` gesendet werden. Im ersten Fall wird die Nachrichtenzustellung im Hinblick auf die Kosten und im zweiten Fall im Hinblick auf höchste Zuverlässigkeit optimiert. Übergeben Sie die Parameter an die `SetTopicAttributesCommand`-Methode der Client-Klasse `SNS`. Um die `SetSMSAttributesCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS SNS-Client-Serviceobjekt aufruft und das Parameter-Objekt übergibt. 

**Anmerkung**  
Ersetzen Sie es *ATTRIBUTE\$1NAME* durch den Namen des Attributs.

```
import { GetSMSAttributesCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

export const getSmsAttributes = async () => {
  const response = await snsClient.send(
    // If you have not modified the account-level mobile settings of SNS,
    // the DefaultSMSType is undefined. For this example, it was set to
    // Transactional.
    new GetSMSAttributesCommand({ attributes: ["DefaultSMSType"] }),
  );

  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: '67ad8386-4169-58f1-bdb9-debd281d48d5',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   attributes: { DefaultSMSType: 'Transactional' }
  // }
  return response;
};
```

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

```
node get-sms-attributes.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/get-sms-attributes.js).

## Festlegen von SMS-Attributen
<a name="sending-sms-setattributes"></a>

Verwenden Sie in diesem Beispiel ein Modul Node.js, um die aktuellen SMS-Attribute in Amazon SNS abzurufen.

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

 Erstellen Sie ein Node.js-Modul mit dem Dateinamen `set-sms-attribute-type.js`. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Clients und Pakete. Erstellen Sie ein Objekt, das die Parameter zum Festlegen von SMS-Attributen enthält, einschließlich der Namen der einzelnen Attribute, die festgelegt werden, und der jeweils festzulegenden Werte. Einzelheiten zu verfügbaren SMS-Attributen finden Sie unter [Set SMSAttributes](https://docs.aws.amazon.com/sns/latest/api/API_SetSMSAttributes.html) in der Amazon Simple Notification Service API-Referenz.

In diesem Beispiel wird das `DefaultSMSType`-Attribut auf `Transactional` festgelegt. Damit wird die Nachrichtenzustellung im Hinblick auf höchste Zuverlässigkeit optimiert. Übergeben Sie die Parameter an die `SetTopicAttributesCommand`-Methode der Client-Klasse `SNS`. Um die `SetSMSAttributesCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS SNS-Client-Serviceobjekt aufruft und das Parameter-Objekt übergibt. 

```
import { SetSMSAttributesCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

/**
 * @param {"Transactional" | "Promotional"} defaultSmsType
 */
export const setSmsType = async (defaultSmsType = "Transactional") => {
  const response = await snsClient.send(
    new SetSMSAttributesCommand({
      attributes: {
        // Promotional – (Default) Noncritical messages, such as marketing messages.
        // Transactional – Critical messages that support customer transactions,
        // such as one-time passcodes for multi-factor authentication.
        DefaultSMSType: defaultSmsType,
      },
    }),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: '1885b977-2d7e-535e-8214-e44be727e265',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   }
  // }
  return response;
};
```

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

```
node set-sms-attribute-type.js 
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/set-sms-attribute-type.js).

## Überprüfen, ob für eine Telefonnummer der Empfang deaktiviert wurde
<a name="sending-sms-checkifphonenumberisoptedout"></a>

In diesem Beispiel verwenden Sie ein Node.js-Modul, um zu überprüfen, ob für eine Telefonnummer der Empfang von SMS-Nachrichten deaktiviert wurde. 

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `check-if-phone-number-is-opted-out.js`. Konfigurieren Sie das SDK wie zuvor dargestellt. Erstellen Sie ein Objekt, das die zu überprüfende Telefonnummer als Parameter enthält.

In diesem Beispiel wird der `PhoneNumber`-Parameter festgelegt, um die Telefonnummer anzugeben, die überprüft werden soll. Übergeben Sie das Objekt an die `CheckIfPhoneNumberIsOptedOutCommand`-Methode der Client-Klasse `SNS`. Um die `CheckIfPhoneNumberIsOptedOutCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS SNS-Client-Serviceobjekt aufruft und das Parameter-Objekt übergibt. 

**Anmerkung**  

Durch die *PHONE\$1NUMBER* Telefonnummer ersetzen.

```
import { CheckIfPhoneNumberIsOptedOutCommand } from "@aws-sdk/client-sns";

import { snsClient } from "../libs/snsClient.js";

export const checkIfPhoneNumberIsOptedOut = async (
  phoneNumber = "5555555555",
) => {
  const command = new CheckIfPhoneNumberIsOptedOutCommand({
    phoneNumber,
  });

  const response = await snsClient.send(command);
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: '3341c28a-cdc8-5b39-a3ee-9fb0ee125732',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   isOptedOut: false
  // }
  return response;
};
```

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

```
node check-if-phone-number-is-opted-out.js 
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/check-if-phone-number-is-opted-out.js).

## Auflisten deaktivierter Telefonnummern
<a name="sending-sms-listphonenumbersoptedout"></a>

In diesem Beispiel verwenden Sie ein Node.js-Modul, um eine Liste der Telefonnummern abzurufen, für die der Empfang von SMS-Nachrichten deaktiviert wurde.

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `list-phone-numbers-opted-out.js`. Konfigurieren Sie das SDK wie zuvor dargestellt. Erstellen Sie ein leeres Objekt als Parameter.

Übergeben Sie das Objekt an die `ListPhoneNumbersOptedOutCommand`-Methode der Client-Klasse `SNS`. Um die `ListPhoneNumbersOptedOutCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS SNS-Client-Serviceobjekt aufruft und das Parameter-Objekt übergibt. 

```
import { ListPhoneNumbersOptedOutCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

export const listPhoneNumbersOptedOut = async () => {
  const response = await snsClient.send(
    new ListPhoneNumbersOptedOutCommand({}),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: '44ff72fd-1037-5042-ad96-2fc16601df42',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   phoneNumbers: ['+15555550100']
  // }
  return response;
};
```

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

```
node list-phone-numbers-opted-out.js 
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/list-phone-numbers-opted-out.js).

## Veröffentlichen einer SMS-Nachricht
<a name="sending-sms-publishsms"></a>

In diesem Beispiel verwenden Sie ein Node.js-Modul zum Senden einer SMS-Nachricht an eine Telefonnummer.

Erstellen Sie ein `libs` Verzeichnis und ein Modul Node.js mit dem Dateinamen`snsClient.js`. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SNS SNS-Client-Objekt erstellt wird. Ersetzen Sie es *REGION* durch Ihre AWS Region.

```
import { SNSClient } from "@aws-sdk/client-sns";

// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
```

Diesen Beispielcode finden Sie [hier auf GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/libs/snsClient.js).

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `publish-sms.js`. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Clients und Pakete. Erstellen Sie ein Objekt, das die Parameter `Message` und `PhoneNumber` enthält.

Wenn Sie eine SMS-Nachricht senden, geben Sie die Telefonnummer im E.164-Format an. Die Richtlinie E.164 legt die internationale Schreibweise für Telefonnummern fest. Rufnummern im E.164-Format bestehen aus maximal 15 Zeichen sowie einem vorangestellten Plus-Zeichen (\$1) und der Ländervorwahl. Eine US-Telefonnummer im E.164-Format würde beispielsweise als XXX5550100 \$11001 angezeigt. 

In diesem Beispiel wird der `PhoneNumber`-Parameter festgelegt, um die Telefonnummer zum Senden der Nachricht anzugeben. Übergeben Sie das Objekt an die `PublishCommand`-Methode der Client-Klasse `SNS`. Um die `PublishCommand` Methode aufzurufen, erstellen Sie eine asynchrone Funktion, die ein Amazon SNS-Serviceobjekt aufruft und das Parameterobjekt übergibt. 

**Anmerkung**  
*TEXT\$1MESSAGE*Ersetzen Sie es durch die Textnachricht und *PHONE\$1NUMBER* durch die Telefonnummer.

```
import { PublishCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";

/**
 * @param {string | Record<string, any>} message - The message to send. Can be a plain string or an object
 *                                                 if you are using the `json` `MessageStructure`.
 * @param {*} phoneNumber - The phone number to send the message to.
 */
export const publish = async (
  message = "Hello from SNS!",
  phoneNumber = "+15555555555",
) => {
  const response = await snsClient.send(
    new PublishCommand({
      Message: message,
      // One of PhoneNumber, TopicArn, or TargetArn must be specified.
      PhoneNumber: phoneNumber,
    }),
  );
  console.log(response);
  // {
  //   '$metadata': {
  //     httpStatusCode: 200,
  //     requestId: '7410094f-efc7-5f52-af03-54737569ab77',
  //     extendedRequestId: undefined,
  //     cfId: undefined,
  //     attempts: 1,
  //     totalRetryDelay: 0
  //   },
  //   MessageId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
  // }
  return response;
};
```

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

```
node publish-sms.js
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/sns/actions/publish-sms.js).