Senden von SMS Nachrichten mit Amazon SNS - Amazon Simple Notification Service

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

In diesem Abschnitt wird beschrieben, wie Sie SMS Nachrichten über Amazon versendenSNS, einschließlich der Veröffentlichung zu einem Thema, dem Abonnieren von Telefonnummern für Themen, dem Festlegen von Attributen für Nachrichten und dem direkten Veröffentlichen auf Mobiltelefonen.

SMSNachrichten zu einem SNS Amazon-Thema veröffentlichen

Sie können eine einzelne SMS Nachricht an viele Telefonnummern gleichzeitig veröffentlichen, indem Sie diese Telefonnummern für ein SNS Amazon-Thema abonnieren. Ein SNS Thema ist ein Kommunikationskanal, zu dem Sie Abonnenten hinzufügen und dann Nachrichten an all diese Abonnenten veröffentlichen können. Ein Abonnent erhält alle Nachrichten, die zu dem Thema veröffentlicht wurden, bis Sie das Abonnement kündigen oder bis der Abonnent den Empfang von SMS Nachrichten von Ihrem AWS Konto ablehnt.

Senden einer Nachricht zu einem Thema mithilfe der Konsole AWS

Erstellen Sie ein Thema wie folgt

Führen Sie die folgenden Schritte aus, wenn Sie noch kein Thema haben, an das Sie SMS Nachrichten senden möchten.

  1. Melden Sie sich bei der SNSAmazon-Konsole an.

  2. Wählen Sie im Konsolenmenü eine Region aus, die SMS Messaging unterstützt.

  3. Wählen Sie im Navigationsbereich Themen aus.

  4. Klicken Sie auf der Seite Themen auf Thema erstellen.

  5. Gehen Sie auf der Seite Thema erstellen unter Details wie folgt vor:

    1. Wählen Sie unter Type (Typ) die Option Standard aus.

    2. Geben Sie für Name einen Themennamen ein.

    3. (Optional) Geben Sie unter Anzeigename ein benutzerdefiniertes Präfix für Ihre SMS Nachrichten ein. Wenn Sie eine Nachricht zu dem Thema senden, stellt Amazon SNS dem Anzeigenamen eine rechte eckige Klammer (>) und ein Leerzeichen voran. Bei Anzeigenamen wird nicht zwischen Groß- und Kleinschreibung unterschieden, und Amazon SNS konvertiert Anzeigenamen in Großbuchstaben. Beispiel: Wenn der Anzeigename eines Themas MyTopic ist und die Nachricht lautet Hello World!, wird die Nachricht folgendermaßen angezeigt:

      MYTOPIC> Hello World!
  6. Wählen Sie Thema erstellen aus. Der Name des Themas und der Amazon-Ressourcenname (ARN) werden auf der Themenseite angezeigt.

Um ein SMS Abonnement zu erstellen

Sie können Abonnements verwenden, um eine SMS Nachricht an mehrere Empfänger zu senden, indem Sie die Nachricht nur einmal zu Ihrem Thema veröffentlichen.

Anmerkung

Wenn Sie Amazon SNS zum Senden von SMS Nachrichten verwenden, befindet sich Ihr AWS Konto in der SMSSandbox. Die SMS Sandbox bietet eine sichere Umgebung, in der Sie SNS Amazon-Funktionen ausprobieren können, ohne Ihren Ruf als SMS Absender zu gefährden. Solange sich Ihr Konto in der SMS Sandbox befindet, können Sie alle Funktionen von Amazon nutzenSNS, aber Sie können SMS Nachrichten nur an verifizierte Zieltelefonnummern senden. Weitere Informationen finden Sie unter Verwenden der SNS SMS Amazon-Sandbox.

  1. Melden Sie sich bei der SNSAmazon-Konsole an.

  2. Wählen Sie im Navigationsbereich Subscriptions aus.

  3. Wählen Sie auf der Seite Subscriptions (Abonnements) die Option Create subscription (Abonnement erstellen)aus.

  4. Gehen Sie auf der Seite Abonnement erstellen unter Details wie folgt vor:

    1. Geben Sie unter Thema ARN den Amazon-Ressourcennamen (ARN) des Themas ein, an das Sie SMS Nachrichten senden möchten, oder wählen Sie ihn aus.

    2. Für Protocol (Protokoll) wählen Sie SMS aus.

    3. Geben Sie für Endpunkt die Telefonnummer ein, die mit Ihrem Thema abonniert werden soll.

  5. Wählen Sie Create subscription (Abonnement erstellen) aus. Die Abonnementinformationen erscheint auf der Seite Abonnements.

    Wiederholen Sie diese Schritte, um weitere Telefonnummern hinzuzufügen. Sie können auch andere Abonnementtypen, wie E-Mail, hinzufügen.

So senden Sie eine Nachricht

Wenn Sie eine Nachricht zu einem Thema veröffentlichen, SNS versucht Amazon, diese Nachricht an jede Telefonnummer zu senden, die das Thema abonniert hat.

  1. Wählen Sie in der SNSAmazon-Konsole auf der Seite Themen den Namen des Themas aus, an das Sie SMS Nachrichten senden möchten.

  2. Wählen Sie auf der Seite mit den Details des Themas Publish message (Nachricht veröffentlichen) aus.

  3. Geben Sie auf der Seite Nachricht für Thema veröffentlichen unter Nachrichtendetails wie folgt vor:

    1. Lassen Sie das Feld für Betreff leer, es sei denn, Ihr Thema enthält E-Mail-Abonnements und Sie möchten sowohl für E-Mails als auch für SMS Abonnements veröffentlichen. Amazon SNS verwendet den von Ihnen eingegebenen Betreff als Betreffzeile der E-Mail.

    2. (Optional) Geben Sie für Time to Live (TTL) eine Anzahl von Sekunden ein, die Amazon benötigtSNS, um Ihre SMS Nachricht an alle Abonnenten von mobilen Anwendungsendpunkten zu senden.

  4. Gehen Sie unter Nachrichtentext wie folgt vor:

    1. Wählen Sie für Nachrichtenstruktur Identische Nutzlast für alle Bereitstellungsprotokolle, um die gleiche Nachricht an alle Protokolltypen zu schicken, die Ihr Thema abonniert haben. Oder wählen Sie Benutzerdefinierte Nutzlast für die einzelnen Bereitstellungsprotokolle, um die Nachricht für Abonnenten verschiedener Protokolltypen anzupassen. Sie können beispielsweise eine Standardnachricht für Telefonnummernabonnenten und eine benutzerdefinierte Nachricht für E-Mail-Abonnenten eingeben.

    2. Geben Sie für Nachrichtentext zum Senden an den Endpunkt Ihre Nachricht oder Ihre benutzerdefinierten Nachrichten je Zustellungsprotokoll ein.

      Wenn Ihr Thema einen Anzeigenamen hat, SNS fügt Amazon ihn der Nachricht hinzu, wodurch die Nachrichtenlänge erhöht wird. Die Länge des Anzeigenamens ist die Anzahl der Zeichen im Namen plus zwei Zeichen für die rechte eckige Klammer (>) und das von Amazon hinzugefügte SNS Leerzeichen.

      Informationen zu den Größenkontingenten für SMS Nachrichten finden Sie unterVeröffentlichen von SMS Nachrichten auf einem Mobiltelefon mit Amazon SNS.

  5. (Optional) Fügen Sie für Nachrichtenattribute Nachrichtenmetadaten wie Zeitstempel, Signaturen und IDs hinzu.

  6. Wählen Sie Publish message (Nachricht veröffentlichen) aus. Amazon SNS sendet die SMS Nachricht und zeigt eine Erfolgsmeldung an.

Senden einer Nachricht an ein Thema mit dem AWS SDKs

Um eine zu verwenden AWS SDK, müssen Sie sie mit Ihren Anmeldeinformationen konfigurieren. Weitere Informationen finden Sie unter The shared config and credentials files im Referenzhandbuch AWS SDKsund im Tools-Referenzhandbuch.

Wie das aussehen kann, sehen Sie am nachfolgenden Beispielcode:

  • Erstellen Sie ein SNS Amazon-Thema.

  • Verknüpfen Sie Telefonnummern mit dem Thema.

  • Veröffentlichen Sie SMS Nachrichten zum Thema, sodass alle abonnierten Telefonnummern die Nachricht gleichzeitig erhalten.

Java
SDKfür Java 2.x
Anmerkung

Es gibt noch mehr dazu. GitHub Sie sehen das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel-Repository einrichten und ausführen.

Erstelle ein Thema und gib es zurückARN.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.services.sns.model.CreateTopicRequest; import software.amazon.awssdk.services.sns.model.CreateTopicResponse; import software.amazon.awssdk.services.sns.model.SnsException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class CreateTopic { public static void main(String[] args) { final String usage = """ Usage: <topicName> Where: topicName - The name of the topic to create (for example, mytopic). """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String topicName = args[0]; System.out.println("Creating a topic with name: " + topicName); SnsClient snsClient = SnsClient.builder() .region(Region.US_EAST_1) .build(); String arnVal = createSNSTopic(snsClient, topicName); System.out.println("The topic ARN is" + arnVal); snsClient.close(); } public static String createSNSTopic(SnsClient snsClient, String topicName) { CreateTopicResponse result; try { CreateTopicRequest request = CreateTopicRequest.builder() .name(topicName) .build(); result = snsClient.createTopic(request); return result.topicArn(); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; } }

Abonnieren eines Endpunkts für ein Thema.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.services.sns.model.SnsException; import software.amazon.awssdk.services.sns.model.SubscribeRequest; import software.amazon.awssdk.services.sns.model.SubscribeResponse; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class SubscribeTextSMS { public static void main(String[] args) { final String usage = """ Usage: <topicArn> <phoneNumber> Where: topicArn - The ARN of the topic to subscribe. phoneNumber - A mobile phone number that receives notifications (for example, +1XXX5550100). """; if (args.length < 2) { System.out.println(usage); System.exit(1); } String topicArn = args[0]; String phoneNumber = args[1]; SnsClient snsClient = SnsClient.builder() .region(Region.US_EAST_1) .build(); subTextSNS(snsClient, topicArn, phoneNumber); snsClient.close(); } public static void subTextSNS(SnsClient snsClient, String topicArn, String phoneNumber) { try { SubscribeRequest request = SubscribeRequest.builder() .protocol("sms") .endpoint(phoneNumber) .returnSubscriptionArn(true) .topicArn(topicArn) .build(); SubscribeResponse result = snsClient.subscribe(request); System.out.println("Subscription ARN: " + result.subscriptionArn() + "\n\n Status is " + result.sdkHttpResponse().statusCode()); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }

Legen Sie Attribute für die Nachricht fest, z. B. die ID des Senders, den Höchstpreis und seinen Typ. Nachrichtenattribute sind optional.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.services.sns.model.SetSmsAttributesRequest; import software.amazon.awssdk.services.sns.model.SetSmsAttributesResponse; import software.amazon.awssdk.services.sns.model.SnsException; import java.util.HashMap; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class SetSMSAttributes { public static void main(String[] args) { HashMap<String, String> attributes = new HashMap<>(1); attributes.put("DefaultSMSType", "Transactional"); attributes.put("UsageReportS3Bucket", "janbucket"); SnsClient snsClient = SnsClient.builder() .region(Region.US_EAST_1) .build(); setSNSAttributes(snsClient, attributes); snsClient.close(); } public static void setSNSAttributes(SnsClient snsClient, HashMap<String, String> attributes) { try { SetSmsAttributesRequest request = SetSmsAttributesRequest.builder() .attributes(attributes) .build(); SetSmsAttributesResponse result = snsClient.setSMSAttributes(request); System.out.println("Set default Attributes to " + attributes + ". Status was " + result.sdkHttpResponse().statusCode()); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }

Veröffentlichen einer Nachricht für ein Thema. Die Nachricht wird an jeden Teilnehmer gesendet.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.services.sns.model.PublishRequest; import software.amazon.awssdk.services.sns.model.PublishResponse; import software.amazon.awssdk.services.sns.model.SnsException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class PublishTextSMS { public static void main(String[] args) { final String usage = """ Usage: <message> <phoneNumber> Where: message - The message text to send. phoneNumber - The mobile phone number to which a message is sent (for example, +1XXX5550100).\s """; if (args.length != 2) { System.out.println(usage); System.exit(1); } String message = args[0]; String phoneNumber = args[1]; SnsClient snsClient = SnsClient.builder() .region(Region.US_EAST_1) .build(); pubTextSMS(snsClient, message, phoneNumber); snsClient.close(); } public static void pubTextSMS(SnsClient snsClient, String message, String phoneNumber) { try { PublishRequest request = PublishRequest.builder() .message(message) .phoneNumber(phoneNumber) .build(); PublishResponse result = snsClient.publish(request); System.out .println(result.messageId() + " Message sent. Status was " + result.sdkHttpResponse().statusCode()); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }

Veröffentlichen von SMS Nachrichten auf einem Mobiltelefon mit Amazon SNS

Sie können Amazon verwendenSNS, um SMS Nachrichten direkt an ein Mobiltelefon zu senden, ohne die Telefonnummer für ein SNS Amazon-Thema abonnieren zu müssen.

Anmerkung

Das Abonnieren von Telefonnummern zu einem Thema kann nach wie vor nützlich sein, wenn Sie jede Nachricht in mehreren Telefonnummern zugleich senden möchten. Anweisungen zum Veröffentlichen einer SMS Nachricht zu einem Thema finden Sie unterSMSNachrichten zu einem SNS Amazon-Thema veröffentlichen.

Wenn Sie eine Nachricht senden, können Sie überprüfen, ob der Versand in Bezug auf Kosten und Verlässlichkeit optimiert ist. Sie können auch eine Sender-ID oder Ursprungsnummer angeben. Wenn Sie die Nachricht programmgesteuert über Amazon SNS API oder Amazon versenden AWS SDKs, können Sie einen Höchstpreis für die Nachrichtenzustellung angeben.

Jede SMS Nachricht kann bis zu 140 Byte enthalten, und das Zeichenkontingent hängt vom Kodierungsschema ab. Eine SMS Nachricht kann beispielsweise Folgendes enthalten:

  • 160 GSM Zeichen

  • 140 ASCII Zeichen

  • 70 UCS -2 Zeichen

Wenn Sie eine Nachricht veröffentlichen, die das Größenkontingent überschreitet, SNS sendet Amazon sie als mehrere Nachrichten, von denen jede innerhalb des Größenkontingents liegt. Nachrichten werden niemals inmitten eines Wortes geteilt, sondern immer zwischen zwei Wörtern. Das Gesamtgrößenkontingent für eine einzelne SMS Veröffentlichungsaktion beträgt 1.600 Byte.

Wenn Sie eine SMS Nachricht senden, geben Sie die Telefonnummer im E.164-Format an, einer Standardstruktur für Telefonnummern, die für die internationale Telekommunikation verwendet wird. Telefonnummern in diesem Format bestehen aus maximal 15 Zeichen sowie einem vorangestellten Plus-Zeichen (+) und der Ländervorwahl. Beispielsweise wird eine US-Telefonnummer im E.164-Format als +1 0100 angezeigt. XXX555

Senden einer Nachricht (Konsole)

  1. Melden Sie sich bei der SNSAmazon-Konsole an.

  2. Wählen Sie im Konsolenmenü eine Region aus, die SMS Messaging unterstützt.

  3. Wählen Sie im Navigationsbereich Textnachrichten (SMS) aus.

  4. Wählen Sie auf der Seite SMS-Nachrichten für Mobilgeräte (SMS) die Option Textnachricht veröffentlichen aus.

  5. Wählen Sie auf der Seite SMSNachricht veröffentlichen unter Nachrichtentyp eine der folgenden Optionen aus:

    • Werbenachrichten – Unkritische Nachrichten, wie beispielsweise Marketing-Nachrichten.

    • Transaktionsnachrichten: Sensible Nachrichten, die Kundentransaktionen unterstützen, wie beispielsweise One-Time-Passcodes für eine Multi-Faktor-Authentifizierung (MFA).

    Anmerkung

    Diese Einstellung auf Nachrichtenebene setzt den Standardnachrichtentyp auf Kontoebene außer Kraft. Sie können im Bereich Einstellungen für Textnachrichten auf der Seite SMS-Nachrichten für Mobilgeräte (SMS) einen Standardnachrichtentyp auf Kontoebene festlegen.

    Preisinformationen für Werbe- und Transaktionsnachrichten finden Sie unter Weltweite Preisgestaltung. SMS

  6. Geben Sie unter Zieltelefonnummer die Telefonnummer ein, an die Sie die Nachricht senden möchten.

  7. Geben Sie im Feld Message (Nachricht) die Art der zu versendenden Nachricht ein.

  8. (Optional) Legen Sie unter Ursprungsidentitäten fest, wie Sie sich selbst gegenüber Ihren Empfängern identifizieren möchten:

    • Geben Sie im Feld Sender ID (Sender-ID) eine Kunden-ID ein, die 3 bis 11 alphanumerische Zeichen enthält, einschließlich mindestens einem Buchstaben und ohne Leerzeichen. Die Sender-ID wird auf dem Empfänger-Gerät als Sender der Nachricht angezeigt. Sie können z. B. Ihre Unternehmensmarke verwenden, um die Nachrichtenquelle leichter erkennbar zu machen.

      Die Support für den Absender IDs ist je nach Land und/oder Region unterschiedlich. Beispiel: Für Nachrichten, die an eine US-Telefonnummer gesendet werden, wird keine Sender-ID angezeigt. Informationen zu den Ländern und Regionen, in denen Sender unterstützt werdenIDs, finden Sie AWS Endbenutzer-Messaging SMS im AWS Endbenutzer-Messaging SMS Benutzerhandbuch unter Unterstützte Länder und Regionen für SMS Nachrichtenübermittlungen.

      Wenn Sie keine Sender-ID angeben, wird eines der folgenden Elemente als Ursprungsidentität angezeigt:

      • In Ländern, die Langwahlnummern unterstützen, wird die Langwahlnummer angezeigt.

      • In Ländern, in denen nur Absender unterstützt IDs werden, NOTICEwird angezeigt.

      Diese Sender-ID auf Nachrichtenebene ersetzt die standardmäßige Sender-ID, die Sie auf der Seite Text messaging preferences (SMS-Präferenzen) konfigurieren.

    • Um eine Ursprungsnummer festzulegen, geben Sie eine Zeichenfolge von 5-14 Nummern ein, die als Telefonnummer des Senders auf dem Gerät des Empfängers angezeigt werden soll. Diese Zeichenfolge muss mit einer Absendernummer übereinstimmen, die in Ihrem AWS-Konto Zielland konfiguriert ist. Bei der Ausgangsnummer kann es sich um eine DLC 10-Nummer, eine gebührenfreie Nummer, einen person-to-person Langcode oder eine Kurzvorwahl handeln. Weitere Informationen finden Sie unter Herkunftsidentitäten für Amazon-Nachrichten SNS SMS.

      Wenn Sie keine Absendernummer angeben, SNS wählt Amazon basierend auf Ihrer AWS-Konto Konfiguration eine Absendernummer aus, die für die SMS Textnachricht verwendet werden soll.

  9. Wenn Sie SMS Nachrichten an Empfänger in Indien senden, erweitern Sie die Option Länderspezifische Attribute und geben Sie die folgenden Attribute an:

    • Entitäts-ID — Die Entitäts-ID oder Principal Entity (PE) -ID für das Senden von SMS Nachrichten an Empfänger in Indien. Diese ID ist eine eindeutige Zeichenfolge mit 1—50 Zeichen, die die Telecom Regulatory Authority of India (TRAI) zur Identifizierung der Entität bereitstellt, bei der TRAI Sie sich registriert haben.

    • Vorlagen-ID — Die Vorlagen-ID für das Senden von SMS Nachrichten an Empfänger in Indien. Diese ID ist eine eindeutige, TRAI bereitgestellte Zeichenfolge mit 1—50 Zeichen, die die Vorlage identifiziert, bei der Sie sich registriert haben. TRAI Die Vorlagen-ID muss der Sender-ID zugeordnet sein, die Sie für die Nachricht angegeben haben.

    Weitere Informationen zum Senden von SMS Nachrichten an Empfänger in Indien, Indien, Indien, finden Sie im AWS Endbenutzer-Messaging SMS Benutzerhandbuch.

  10. Wählen Sie Publish message (Nachricht veröffentlichen) aus.

Tipp

Um SMS Nachrichten von einer Absendernummer aus zu versenden, können Sie auch im Navigationsbereich der SNS Amazon-Konsole die Option Absendernummern auswählen. Wählen Sie eine Absendernummer aus, die SMSin der Spalte Funktionen enthalten ist, und wählen Sie dann Textnachricht veröffentlichen.

Eine Nachricht senden ()AWS SDKs

Um eine SMS Nachricht mit einem der zu senden AWS SDKs, verwenden Sie den API VorgangSDK, der der Publish Anfrage im Amazon entspricht SNSAPI. Mit dieser Anfrage können Sie eine SMS Nachricht direkt an eine Telefonnummer senden. Sie können auch den MessageAttributes-Parameter verwenden, um Werte für die folgenden Attributnamen zu definieren:

AWS.SNS.SMS.SenderID

Eine benutzerdefinierte ID, die 3 bis 11 alphanumerische Zeichen oder Bindestriche (-) enthält, einschließlich mindestens einem Buchstaben und ohne Leerzeichen. Die Sender-ID wird auf dem Empfänger-Gerät als Sender der Nachricht angezeigt. Sie können z. B. Ihre Unternehmensmarke verwenden, um die Nachrichtenquelle leichter erkennbar zu machen.

Die Support für den Absender IDs ist je nach Land oder Region unterschiedlich. Beispiel: Für Nachrichten, die an eine US-Telefonnummer gesendet werden, wird keine Sender-ID angezeigt. Eine Liste der Länder oder Regionen, die Absender unterstützenIDs, finden Sie AWS Endbenutzer-Messaging SMS im AWS Endbenutzer-Messaging SMS Benutzerhandbuch unter Unterstützte Länder und Regionen für SMS Nachrichtenübermittlung.

Wenn Sie keine Sender-ID angeben, erscheint eine Langwahlnummer als Sender-ID in den unterstützten Ländern oder Regionen. In Ländern oder Regionen, für die eine alphabetische Absender-ID erforderlich ist, NOTICEwird als Absender-ID angezeigt.

Dieses Attribut auf Nachrichtenebene ersetzt das DefaultSenderID-Attribut auf Kontoebene, das Sie bei der Nutzung der SetSMSAttributes-Anfrage festlegen.

AWS.MM.SMS.OriginationNumber

Eine benutzerdefinierte Zeichenfolge von 5 bis 14 Zahlen, die ein optionales vorzeitiges Pluszeichen (+) enthalten. Diese Zahlenfolge wird als Telefonnummer des Senders auf dem empfangenden Gerät angezeigt. Die Zeichenfolge muss mit einer Ursprungsnummer übereinstimmen, die in Ihrem AWS Konto für das Zielland konfiguriert ist. Bei der Ausgangsnummer kann es sich um eine DLC 10-Nummer, eine gebührenfreie Nummer, einen person-to-person (P2P-) Langcode oder einen Kurzcode handeln. Weitere Informationen finden Sie im Benutzerhandbuch unter Telefonnummern.AWS Endbenutzer-Messaging SMS

Wenn Sie keine Ursprungsnummer angeben, SNS wählt Amazon eine Ursprungsnummer auf der Grundlage Ihrer AWS Kontokonfiguration.

AWS.SNS.SMS.MaxPrice

Der HöchstpreisUSD, den Sie bereit sind, für den Versand der SMS Nachricht auszugeben. Wenn Amazon SNS feststellt, dass für das Senden der Nachricht Kosten anfallen würden, die Ihren Höchstpreis übersteigen, wird die Nachricht nicht gesendet.

Dieses Attribut hat keine Auswirkung, wenn Ihre month-to-date SMS Kosten das für das MonthlySpendLimit Attribut festgelegte Kontingent bereits überschritten haben. Sie können das MonthlySpendLimit-Attribut mit der SetSMSAttributes-Anfrage festlegen.

Wenn Sie die Nachricht an ein SNS Amazon-Thema senden, gilt der Höchstpreis für jede Nachrichtenzustellung an jede Telefonnummer, die das Thema abonniert hat.

AWS.SNS.SMS.SMSType

Der Typ der gesendeten Nachricht:

  • Promotional (Standard): Unkritische Nachrichten, wie beispielsweise Marketing-Nachrichten.

  • Transactional – Sensible Nachrichten, die Kundentransaktionen unterstützen, wie beispielsweise One-Time-Passcodes für eine Multi-Faktor-Authentifizierung.

Dieses Attribut auf Nachrichtenebene ersetzt das DefaultSMSType-Attribut auf Kontoebene, das Sie bei der Nutzung der SetSMSAttributes-Anfrage festlegen.

AWS.MM.SMS.EntityId

Dieses Attribut ist nur für das Senden von SMS Nachrichten an Empfänger in Indien erforderlich.

Dies ist Ihre Entitäts-ID oder Principal Entity (PE) -ID für das Senden von SMS Nachrichten an Empfänger in Indien. Diese ID ist eine eindeutige Zeichenfolge mit 1—50 Zeichen, die die Telecom Regulatory Authority of India (TRAI) zur Identifizierung der Entität bereitstellt, bei der TRAI Sie sich registriert haben.

AWS.MM.SMS.TemplateId

Dieses Attribut ist nur für das Senden von SMS Nachrichten an Empfänger in Indien erforderlich.

Dies ist Ihre Vorlage für das Senden von SMS Nachrichten an Empfänger in Indien. Diese ID ist eine eindeutige, TRAI bereitgestellte Zeichenfolge mit 1—50 Zeichen, die die Vorlage identifiziert, bei der Sie sich registriert haben. TRAI Die Vorlagen-ID muss der Sender-ID zugeordnet sein, die Sie für die Nachricht angegeben haben.

Senden einer Nachricht

Die folgenden Codebeispiele zeigen, wie SMS Nachrichten mit Amazon veröffentlicht SNS werden.

.NET
AWS SDK for .NET
Anmerkung

Es gibt noch mehr dazu GitHub. Sie sehen das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel-Repository einrichten und ausführen.

namespace SNSMessageExample { using System; using System.Threading.Tasks; using Amazon; using Amazon.SimpleNotificationService; using Amazon.SimpleNotificationService.Model; public class SNSMessage { private AmazonSimpleNotificationServiceClient snsClient; /// <summary> /// Initializes a new instance of the <see cref="SNSMessage"/> class. /// Constructs a new SNSMessage object initializing the Amazon Simple /// Notification Service (Amazon SNS) client using the supplied /// Region endpoint. /// </summary> /// <param name="regionEndpoint">The Amazon Region endpoint to use in /// sending test messages with this object.</param> public SNSMessage(RegionEndpoint regionEndpoint) { snsClient = new AmazonSimpleNotificationServiceClient(regionEndpoint); } /// <summary> /// Sends the SMS message passed in the text parameter to the phone number /// in phoneNum. /// </summary> /// <param name="phoneNum">The ten-digit phone number to which the text /// message will be sent.</param> /// <param name="text">The text of the message to send.</param> /// <returns>Async task.</returns> public async Task SendTextMessageAsync(string phoneNum, string text) { if (string.IsNullOrEmpty(phoneNum) || string.IsNullOrEmpty(text)) { return; } // Now actually send the message. var request = new PublishRequest { Message = text, PhoneNumber = phoneNum, }; try { var response = await snsClient.PublishAsync(request); } catch (Exception ex) { Console.WriteLine($"Error sending message: {ex}"); } } } }
  • APIEinzelheiten finden Sie unter AWS SDK for .NET APIAls Referenz veröffentlichen.

C++
SDKfür C++
Anmerkung

Es gibt noch mehr dazu GitHub. Sie sehen das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel-Repository einrichten und ausführen.

/** * Publish SMS: use Amazon Simple Notification Service (Amazon SNS) to send an SMS text message to a phone number. * Note: This requires additional AWS configuration prior to running example. * * NOTE: When you start using Amazon SNS to send SMS messages, your AWS account is in the SMS sandbox and you can only * use verified destination phone numbers. See https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html. * NOTE: If destination is in the US, you also have an additional restriction that you have use a dedicated * origination ID (phone number). You can request an origination number using Amazon Pinpoint for a fee. * See https://aws.amazon.com/blogs/compute/provisioning-and-using-10dlc-origination-numbers-with-amazon-sns/ * for more information. * * <phone_number_value> input parameter uses E.164 format. * For example, in United States, this input value should be of the form: +12223334444 */ //! Send an SMS text message to a phone number. /*! \param message: The message to publish. \param phoneNumber: The phone number of the recipient in E.164 format. \param clientConfiguration: AWS client configuration. \return bool: Function succeeded. */ bool AwsDoc::SNS::publishSms(const Aws::String &message, const Aws::String &phoneNumber, const Aws::Client::ClientConfiguration &clientConfiguration) { Aws::SNS::SNSClient snsClient(clientConfiguration); Aws::SNS::Model::PublishRequest request; request.SetMessage(message); request.SetPhoneNumber(phoneNumber); const Aws::SNS::Model::PublishOutcome outcome = snsClient.Publish(request); if (outcome.IsSuccess()) { std::cout << "Message published successfully with message id, '" << outcome.GetResult().GetMessageId() << "'." << std::endl; } else { std::cerr << "Error while publishing message " << outcome.GetError().GetMessage() << std::endl; } return outcome.IsSuccess(); }
  • APIEinzelheiten finden Sie unter AWS SDK for C++ APIAls Referenz veröffentlichen.

Java
SDKfür Java 2.x
Anmerkung

Es gibt noch mehr dazu. GitHub Sie sehen das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel-Repository einrichten und ausführen.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.services.sns.model.PublishRequest; import software.amazon.awssdk.services.sns.model.PublishResponse; import software.amazon.awssdk.services.sns.model.SnsException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class PublishTextSMS { public static void main(String[] args) { final String usage = """ Usage: <message> <phoneNumber> Where: message - The message text to send. phoneNumber - The mobile phone number to which a message is sent (for example, +1XXX5550100).\s """; if (args.length != 2) { System.out.println(usage); System.exit(1); } String message = args[0]; String phoneNumber = args[1]; SnsClient snsClient = SnsClient.builder() .region(Region.US_EAST_1) .build(); pubTextSMS(snsClient, message, phoneNumber); snsClient.close(); } public static void pubTextSMS(SnsClient snsClient, String message, String phoneNumber) { try { PublishRequest request = PublishRequest.builder() .message(message) .phoneNumber(phoneNumber) .build(); PublishResponse result = snsClient.publish(request); System.out .println(result.messageId() + " Message sent. Status was " + result.sdkHttpResponse().statusCode()); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
  • APIEinzelheiten finden Sie unter AWS SDK for Java 2.x APIAls Referenz veröffentlichen.

Kotlin
SDKfür Kotlin
Anmerkung

Es gibt noch mehr dazu. GitHub Sie sehen das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel-Repository einrichten und ausführen.

suspend fun pubTextSMS( messageVal: String?, phoneNumberVal: String?, ) { val request = PublishRequest { message = messageVal phoneNumber = phoneNumberVal } SnsClient { region = "us-east-1" }.use { snsClient -> val result = snsClient.publish(request) println("${result.messageId} message sent.") } }
  • APIEinzelheiten finden Sie unter Publish in AWS SDK als APIKotlin-Referenz.

PHP
SDK für PHP
Anmerkung

Es gibt noch mehr dazu. GitHub Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel- einrichten und ausführen.

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient; /** * Sends a text message (SMS message) directly to a phone number using Amazon SNS. * * This code expects that you have AWS credentials set up per: * https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html */ $SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); $message = 'This message is sent from a Amazon SNS code sample.'; $phone = '+1XXX5550100'; try { $result = $SnSclient->publish([ 'Message' => $message, 'PhoneNumber' => $phone, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }
Python
SDKfür Python (Boto3)
Anmerkung

Es gibt noch mehr dazu. GitHub Sie sehen das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel-Repository einrichten und ausführen.

class SnsWrapper: """Encapsulates Amazon SNS topic and subscription functions.""" def __init__(self, sns_resource): """ :param sns_resource: A Boto3 Amazon SNS resource. """ self.sns_resource = sns_resource def publish_text_message(self, phone_number, message): """ Publishes a text message directly to a phone number without need for a subscription. :param phone_number: The phone number that receives the message. This must be in E.164 format. For example, a United States phone number might be +12065550101. :param message: The message to send. :return: The ID of the message. """ try: response = self.sns_resource.meta.client.publish( PhoneNumber=phone_number, Message=message ) message_id = response["MessageId"] logger.info("Published message to %s.", phone_number) except ClientError: logger.exception("Couldn't publish message to %s.", phone_number) raise else: return message_id
  • APIEinzelheiten finden Sie unter Publish in AWS SDKfor Python (Boto3) API -Referenz.