Wir haben das Kommende end-of-support für AWS SDK für JavaScript v2 angekündigt
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.
Senden von SMS-Nachrichten mit Amazon SNS
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
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 AWS.SNS
Client-Klasse:
Erforderliche Aufgaben
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
. -
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 freigegebenen Anmeldeinformationsdatei.
Abrufen von SMS-Attributen
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 Node.js-Modul mit dem Dateinamen sns_getsmstype.js
. Konfigurieren Sie das SDK wie zuvor dargestellt. 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 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 setTopicAttributes
-Methode der Client-Klasse AWS.SNS
. Um die getSMSAttributes
Methode aufzurufen, erstellen Sie eine Zusage für den Aufruf eines Amazon SNS-Serviceobjekts, indem Sie das Parameterobjekt übergeben. Verarbeiten Sie anschließend die response
im Promise-Callback.
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set region
AWS.config.update({ region: "REGION" });
// Create SMS Attribute parameter you want to get
var params = {
attributes: [
"DefaultSMSType",
"ATTRIBUTE_NAME",
/* more items */
],
};
// Create promise and SNS service object
var getSMSTypePromise = new AWS.SNS({ apiVersion: "2010-03-31" })
.getSMSAttributes(params)
.promise();
// Handle promise's fulfilled/rejected states
getSMSTypePromise
.then(function (data) {
console.log(data);
})
.catch(function (err) {
console.error(err, err.stack);
});
Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.
node sns_getsmstype.js
Diesen Beispielcode finden Sie hier auf. GitHub
Festlegen von SMS-Attributen
Verwenden Sie in diesem Beispiel ein Modul Node.js, um die aktuellen SMS-Attribute in Amazon SNS abzurufen. Erstellen Sie ein Node.js-Modul mit dem Dateinamen sns_setsmstype.js
. Konfigurieren Sie das SDK wie zuvor dargestellt. 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 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 setTopicAttributes
-Methode der Client-Klasse AWS.SNS
. Um die getSMSAttributes
Methode aufzurufen, erstellen Sie eine Zusage für den Aufruf eines Amazon SNS-Serviceobjekts, indem Sie das Parameterobjekt übergeben. Verarbeiten Sie anschließend die response
im Promise-Callback.
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set region
AWS.config.update({ region: "REGION" });
// Create SMS Attribute parameters
var params = {
attributes: {
/* required */
DefaultSMSType: "Transactional" /* highest reliability */,
//'DefaultSMSType': 'Promotional' /* lowest cost */
},
};
// Create promise and SNS service object
var setSMSTypePromise = new AWS.SNS({ apiVersion: "2010-03-31" })
.setSMSAttributes(params)
.promise();
// Handle promise's fulfilled/rejected states
setSMSTypePromise
.then(function (data) {
console.log(data);
})
.catch(function (err) {
console.error(err, err.stack);
});
Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.
node sns_setsmstype.js
Diesen Beispielcode finden Sie hier auf. GitHub
Überprüfen, ob für eine Telefonnummer der Empfang deaktiviert wurde
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 Node.js-Modul mit dem Dateinamen sns_checkphoneoptout.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 checkIfPhoneNumberIsOptedOut
-Methode der Client-Klasse AWS.SNS
. Um die checkIfPhoneNumberIsOptedOut
Methode aufzurufen, erstellen Sie eine Zusage für den Aufruf eines Amazon SNS-Serviceobjekts, indem Sie das Parameterobjekt übergeben. Verarbeiten Sie anschließend die response
im Promise-Callback.
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set region
AWS.config.update({ region: "REGION" });
// Create promise and SNS service object
var phonenumPromise = new AWS.SNS({ apiVersion: "2010-03-31" })
.checkIfPhoneNumberIsOptedOut({ phoneNumber: "PHONE_NUMBER" })
.promise();
// Handle promise's fulfilled/rejected states
phonenumPromise
.then(function (data) {
console.log("Phone Opt Out is " + data.isOptedOut);
})
.catch(function (err) {
console.error(err, err.stack);
});
Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.
node sns_checkphoneoptout.js
Diesen Beispielcode finden Sie hier auf. GitHub
Auflisten deaktivierter Telefonnummern
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 Node.js-Modul mit dem Dateinamen sns_listnumbersoptedout.js
. Konfigurieren Sie das SDK wie zuvor dargestellt. Erstellen Sie ein leeres Objekt als Parameter.
Übergeben Sie das Objekt an die listPhoneNumbersOptedOut
-Methode der Client-Klasse AWS.SNS
. Um die listPhoneNumbersOptedOut
Methode aufzurufen, erstellen Sie eine Zusage für den Aufruf eines Amazon SNS-Serviceobjekts, indem Sie das Parameterobjekt übergeben. Verarbeiten Sie anschließend die response
im Promise-Callback.
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set region
AWS.config.update({ region: "REGION" });
// Create promise and SNS service object
var phonelistPromise = new AWS.SNS({ apiVersion: "2010-03-31" })
.listPhoneNumbersOptedOut({})
.promise();
// Handle promise's fulfilled/rejected states
phonelistPromise
.then(function (data) {
console.log(data);
})
.catch(function (err) {
console.error(err, err.stack);
});
Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.
node sns_listnumbersoptedout.js
Diesen Beispielcode finden Sie hier auf. GitHub
Veröffentlichen einer SMS-Nachricht
In diesem Beispiel verwenden Sie ein Node.js-Modul zum Senden einer SMS-Nachricht an eine Telefonnummer. Erstellen Sie ein Node.js-Modul mit dem Dateinamen sns_publishsms.js
. Konfigurieren Sie das SDK wie zuvor dargestellt. 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 (+) und der Ländervorwahl. Eine US-Telefonnummer im E.164-Format würde beispielsweise als +1001 XXX555 0100 angezeigt.
In diesem Beispiel wird der PhoneNumber
-Parameter festgelegt, um die Telefonnummer zum Senden der Nachricht anzugeben. Übergeben Sie das Objekt an die publish
-Methode der Client-Klasse AWS.SNS
. Um die publish
Methode aufzurufen, erstellen Sie eine Zusage für den Aufruf eines Amazon SNS-Serviceobjekts, indem Sie das Parameterobjekt übergeben. Verarbeiten Sie anschließend die response
im Promise-Callback.
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set region
AWS.config.update({ region: "REGION" });
// Create publish parameters
var params = {
Message: "TEXT_MESSAGE" /* required */,
PhoneNumber: "E.164_PHONE_NUMBER",
};
// Create promise and SNS service object
var publishTextPromise = new AWS.SNS({ apiVersion: "2010-03-31" })
.publish(params)
.promise();
// Handle promise's fulfilled/rejected states
publishTextPromise
.then(function (data) {
console.log("MessageID is " + data.MessageId);
})
.catch(function (err) {
console.error(err, err.stack);
});
Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.
node sns_publishsms.js
Diesen Beispielcode finden Sie hier auf. GitHub