Verwalten von Themen in Amazon SNS - AWS SDK for JavaScript

Helfen Sie uns, dasAWS SDK for JavaScriptVersion 3 (V3) -Dokumentation durch Feedback unter Verwendung derFeedbackLink oder erstellen Sie ein Problem oder ziehen Sie eine Anfrage anGitHubaus.

DieAWS SDK for JavaScriptReferenzhandbuch zur V3-API-Referenzbeschreibt ausführlich alle API-Operationen für dieAWS SDK for JavaScriptVersion 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.

Verwalten von Themen in Amazon SNS


                    JavaScript code example that applies to Node.js execution

Dieses Node.js-Codebeispiel zeigt:

  • Erstellen von Themen in Amazon SNS, für die Sie Benachrichtigungen veröffentlichen können

  • Löschen von Themen, die in Amazon SNS erstellt wurden

  • Abrufen einer Liste von verfügbaren Themen

  • Abrufen und Festlegen von Themenattributen

Das Szenario

In diesem Beispiel verwenden Sie eine Reihe von Modulen Node.js zum Erstellen, Auflisten und Löschen von Amazon SNS -Themen und zum Verarbeiten von Themenattributen. Die Node.js Module verwenden das SDK für JavaScript, um Themen mithilfe dieser Methoden desSNSClient-Klasse:

Erforderliche Aufgaben

Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:

  • Richten Sie die Projektumgebung so ein, dass diese Node TypeScript Beispiele ausgeführt werden, und installieren Sie die erforderlicheAWS SDK for JavaScriptModule und Drittanbieter-Module. Folgen Sie den Anweisungen aufGitHubaus.

  • Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zum Bereitstellen einer JSON-Datei mit den Anmeldeinformationen finden Sie unter Laden der Anmeldeinformationen in Node.js aus der Datei mit gemeinsamen -Anmeld.

Wichtig

In diesen Beispielen wird gezeigt, wie Client-Service-Objekte und Befehle mithilfe von ECMAScript6 (ES6) importiert/exportiert werden.

  • Dies erfordert Node.js Version 13.x oder höher. Informationen zum Herunterladen der neuesten Version von Node.js finden Sie unterNode.js Downloads.aus.

  • Wenn Sie lieber die CommonJS-Syntax verwenden möchten, finden Sie unterJavaScript ES6/CommonJS-Syntaxaus.

Erstellen eines Themas

In diesem Beispiel erstellen Sie mithilfe des Moduls Node.js ein Amazon SNS Thema.

Erstellen eineslibsErstellen Sie ein Modul Node.js mit dem DateinamensnsClient.jsaus. Kopieren Sie den folgenden Code, und fügen Sie ihn ein, wodurch das Amazon SNS Client-Objekt erstellt wird. ErsetzenREGIONmit IhrerAWSRegion :

import { SNSClient } from "@aws-sdk/client-sns"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SNS service object. const snsClient = new SNSClient({ region: REGION }); export { snsClient };

Den Beispiel-Code finden Sie unterauf GitHubaus.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen sns_createtopic.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. Rufen Sie auf, umCreateTopicCommandErstellen Sie eine asynchrone Funktion, die ein Amazon SNS -Serviceobjekt aufruft und das Parameterobjekt übergeben. DiedataDie zurückgegebenen Daten enthalten den ARN des -Themas.

Anmerkung

ErsetzenTOPIC_NAMEmit dem Namen des Themas.

// Import required AWS SDK clients and commands for Node.js import {CreateTopicCommand } from "@aws-sdk/client-sns"; import {snsClient } from "./libs/snsClient.js"; // Set the parameters const params = { Name: "TOPIC_NAME" }; //TOPIC_NAME const run = async () => { try { const data = await snsClient.send(new CreateTopicCommand(params)); console.log("Success.", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();

Geben Sie an der Eingabeaufforderung Folgendes ein.

node sns_createtopic.js

Den Beispiel-Code finden Sie unterauf GitHubaus.

Auflisten Ihrer -Themen

In diesem Beispiel verwenden Sie ein Node.js -Modul zum Auflisten aller Amazon SNS -Themen.

Erstellen eineslibsErstellen Sie ein Modul Node.js mit dem DateinamensnsClient.jsaus. Kopieren Sie den folgenden Code, und fügen Sie ihn ein, wodurch das Amazon SNS Client-Objekt erstellt wird. ErsetzenREGIONmit IhrerAWSRegion :

import { SNSClient } from "@aws-sdk/client-sns"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SNS service object. const snsClient = new SNSClient({ region: REGION }); export { snsClient };

Den Beispiel-Code finden Sie unterauf GitHubaus.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen sns_listtopics.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. Rufen Sie auf, umListTopicsCommandErstellen Sie eine asynchrone Funktion, die ein Amazon SNS -Serviceobjekt aufruft und das Parameterobjekt übergeben. DiedataDie zurückgegebenen Daten enthalten ein Array Ihres Themas Amazon-Ressourcennamen (ARNs).

// Import required AWS SDK clients and commands for Node.js import {ListTopicsCommand } from "@aws-sdk/client-sns"; import {snsClient } from "./libs/snsClient.js"; const run = async () => { try { const data = await snsClient.send(new ListTopicsCommand({})); console.log("Success.", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();

Geben Sie an der Eingabeaufforderung Folgendes ein.

node sns_listtopics.js

Diesen Beispielcode finden Sie hier auf GitHub.

Löschen eines Themas

In diesem Beispiel verwenden Sie ein Node.js -Modul zum Löschen eines Amazon SNS -Themas.

Erstellen eineslibsErstellen Sie ein Modul Node.js mit dem DateinamensnsClient.jsaus. Kopieren Sie den folgenden Code, und fügen Sie ihn ein, wodurch das Amazon SNS Client-Objekt erstellt wird. ErsetzenREGIONmit IhrerAWSRegion :

import { SNSClient } from "@aws-sdk/client-sns"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SNS service object. const snsClient = new SNSClient({ region: REGION }); export { snsClient };

Den Beispiel-Code finden Sie unterhier auf GitHubaus.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen sns_deletetopic.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. Rufen Sie auf, umDeleteTopicCommandErstellen Sie eine asynchrone Funktion, die ein Amazon SNS Client-Serviceobjekt aufruft und das Parameterobjekt übergeben.

Anmerkung

ErsetzenTOPIC_ARNMit dem Amazon-Ressourcennamen (ARN) des zu löschenden Themas.

// Load the AWS SDK for Node.js // Import required AWS SDK clients and commands for Node.js import {DeleteTopicCommand } from "@aws-sdk/client-sns"; import {snsClient } from "./libs/snsClient.js"; // Set the parameters const params = { TopicArn: "TOPIC_ARN" }; //TOPIC_ARN const run = async () => { try { const data = await snsClient.send(new DeleteTopicCommand(params)); console.log("Success.", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();

Geben Sie an der Eingabeaufforderung Folgendes ein.

node sns_deletetopic.js

Den Beispiel-Code finden Sie unterhier auf GitHubaus.

Abrufen von Themenattributen

In diesem Beispiel rufen Sie mithilfe des Moduls Node.js Attribute eines Amazon SNS -Themas ab.

Erstellen eineslibsErstellen Sie ein Modul Node.js mit dem DateinamensnsClient.jsaus. Kopieren Sie den folgenden Code, und fügen Sie ihn ein, wodurch das Amazon SNS Client-Objekt erstellt wird. ErsetzenREGIONmit IhrerAWSRegion :

import { SNSClient } from "@aws-sdk/client-sns"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SNS service object. const snsClient = new SNSClient({ region: REGION }); export { snsClient };

Den Beispiel-Code finden Sie unterhier auf GitHubaus.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen sns_gettopicattributes.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. Rufen Sie auf, umGetTopicAttributesCommand-Methode und ruft ein Amazon SNS Client-Service-Objekt auf und übergeben das Parameterobjekt.

Anmerkung

ErsetzenTOPIC_ARNmit dem ARN des -Themas.

// Import required AWS SDK clients and commands for Node.js import {GetTopicAttributesCommand } from "@aws-sdk/client-sns"; import {snsClient } from "./libs/snsClient.js"; // Set the parameters const params = { TopicArn: "TOPIC_ARN" }; // TOPIC_ARN const run = async () => { try { const data = await snsClient.send(new GetTopicAttributesCommand(params)); console.log("Success.", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();

Geben Sie an der Eingabeaufforderung Folgendes ein.

node sns_gettopicattributes.js

Den Beispiel-Code finden Sie unterhier auf GitHubaus.

Festlegen von Themenattributen

In diesem Beispiel legen Sie mithilfe des Moduls Node.js die veränderbaren Attribute eines Amazon SNS -Themas fest.

Erstellen eineslibsErstellen Sie ein Modul Node.js mit dem DateinamensnsClient.jsaus. Kopieren Sie den folgenden Code, und fügen Sie ihn ein, wodurch das Amazon SNS Client-Objekt erstellt wird. ErsetzenREGIONmit IhrerAWSRegion :

import { SNSClient } from "@aws-sdk/client-sns"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SNS service object. const snsClient = new SNSClient({ region: REGION }); export { snsClient };

Den Beispiel-Code finden Sie unterhier auf GitHubaus.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen sns_settopicattributes.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. Rufen Sie auf, umSetTopicAttributesCommandErstellen Sie eine asynchrone Funktion, die ein Amazon SNS Kleint-Serviceobjekt aufruft und das Parameterobjekt übergeben.

Anmerkung

ErsetzenATTRIBUTNAMEmit dem Namen des Attributs, das Sie festlegen,TOPIC_ARNMit dem Amazon-Ressourcennamen (ARN) des Themas, dessen Attribute Sie festlegen möchten, undNEW_ATTRIBUTE_VALUEmit dem neuen Wert für dieses Attribut.

// Import required AWS SDK clients and commands for Node.js import {SetTopicAttributesCommand } from "@aws-sdk/client-sns"; import {snsClient } from "./libs/snsClient.js"; // Set the parameters const params = { AttributeName: "ATTRIBUTE_NAME", // ATTRIBUTE_NAME TopicArn: "TOPIC_ARN", // TOPIC_ARN AttributeValue: "NEW_ATTRIBUTE_VALUE", //NEW_ATTRIBUTE_VALUE }; const run = async () => { try { const data = await snsClient.send(new SetTopicAttributesCommand(params)); console.log("Success.", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();

Geben Sie an der Eingabeaufforderung Folgendes ein.

node sns_settopicattributes.js

Den Beispiel-Code finden Sie unterhier auf GitHubaus.