SMSNachrichteneinstellungen in Amazon festlegen 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.

SMSNachrichteneinstellungen in Amazon festlegen SNS

Verwenden Sie AmazonSNS, um Einstellungen für SMS Nachrichten festzulegen. Sie können beispielsweise angeben, ob Sie Lieferungen im Hinblick auf Kosten oder Zuverlässigkeit optimieren möchten, wie Ihr monatliches Ausgabenlimit festgelegt wird, wie Lieferungen protokolliert werden und ob Sie tägliche SMS Nutzungsberichte abonnieren möchten.

Diese Einstellungen gelten für jede SMS Nachricht, die Sie von Ihrem Konto aus senden. Sie können jedoch einige davon überschreiben, wenn Sie eine einzelne Nachricht senden. Weitere Informationen finden Sie unter Veröffentlichen von SMS-Nachrichten auf einem Mobiltelefon mithilfe von Amazon SNS.

Einstellung der SMS Nachrichteneinstellungen mithilfe der AWS Management Console

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

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

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

  4. Wählen Sie auf der Seite SMS-Nachrichten für Mobilgeräte (SMS) im Abschnitt Einstellungen für Textnachrichten die Option Bearbeiten aus.

  5. Führen Sie auf der Seite Edit text messaging preferences (SMS-Einstellungen bearbeiten) im Abschnitt Details Folgendes durch:

    1. Wählen Sie für Default message type (Standardnachrichtentyp) eine der folgenden Optionen aus:

      • Werbenachrichten – Nicht kritische Nachrichten (zum Beispiel Marketing). Amazon SNS optimiert die Nachrichtenzustellung, um die niedrigsten Kosten zu erzielen.

      • Transaktionsnachrichten (Standard) – Kritische Nachrichten, die Kundentransaktionen unterstützen, wie beispielsweise One-Time-Passcodes für eine Multi-Faktor-Authentifizierung (MFA). Amazon SNS optimiert die Nachrichtenzustellung, um höchste Zuverlässigkeit zu erreichen.

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

    2. (Optional) Geben Sie unter Ausgabenlimit für Ihr Konto den Betrag (inUSD) ein, den Sie pro Kalendermonat für SMS Nachrichten ausgeben möchten.

      Wichtig
      • Standardmäßig ist das Ausgabenkontingent auf 1,00 USD festgelegt. Wenn Sie das Service-Kontingent erhöhen möchten, senden Sie eine Anfrage.

      • Wenn der in der Konsole festgelegte Betrag Ihr Servicekontingent überschreitet, SNS stellt Amazon die Veröffentlichung von SMS Nachrichten ein.

      • Da es SNS sich bei Amazon um ein verteiltes System handelt, werden innerhalb von Minuten nach Überschreitung des Ausgabenkontingents keine SMS Nachrichten mehr gesendet. Wenn Sie während dieses Intervalls weiterhin SMS Nachrichten senden, können Ihnen Kosten entstehen, die Ihr Kontingent überschreiten.

  6. (Optional) Geben Sie im Feld Default sender ID (Standard-Sender-ID) eine benutzerdefinierte ID ein, wie z. B. Ihr Unternehmen, die als Sender des Empfängergeräts angezeigt wird.

    Anmerkung

    Die Support für den Absender IDs ist je nach Land unterschiedlich.

  7. (Optional) Geben Sie den Namen des Amazon S3 Bucket Namen für Nutzungsberichte ein.

    Anmerkung

    Die S3-Bucket-Richtlinie muss Amazon Schreibzugriff gewährenSNS.

  8. Wählen Sie Änderungen speichern aus.

Einstellungen festlegen (AWS SDKs)

Um Ihre SMS Einstellungen mithilfe einer der festzulegen AWS SDKs, verwenden Sie die AktionSDK, die der SetSMSAttributes Anfrage im Amazon entspricht SNSAPI. Mit dieser Anfrage weisen Sie den verschiedenen SMS Attributen Werte zu, z. B. Ihrem monatlichen Ausgabenkontingent und Ihrem SMS Standardtyp (Werbe- oder Transaktionsart). Informationen zu allen SMS Attributen finden Sie unter S etSMSAttributes in der Amazon Simple Notification Service API Reference.

Die folgenden Codebeispiele zeigen, wie manSetSMSAttributes.

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.

So verwenden Sie AmazonSNS, um das efaultSMSType D-Attribut festzulegen.

//! Set the default settings for sending SMS messages. /*! \param smsType: The type of SMS message that you will send by default. \param clientConfiguration: AWS client configuration. \return bool: Function succeeded. */ bool AwsDoc::SNS::setSMSType(const Aws::String &smsType, const Aws::Client::ClientConfiguration &clientConfiguration) { Aws::SNS::SNSClient snsClient(clientConfiguration); Aws::SNS::Model::SetSMSAttributesRequest request; request.AddAttributes("DefaultSMSType", smsType); const Aws::SNS::Model::SetSMSAttributesOutcome outcome = snsClient.SetSMSAttributes( request); if (outcome.IsSuccess()) { std::cout << "SMS Type set successfully " << std::endl; } else { std::cerr << "Error while setting SMS Type: '" << outcome.GetError().GetMessage() << "'" << std::endl; } return outcome.IsSuccess(); }
CLI
AWS CLI

So legen Sie SMS Nachrichtenattribute fest

Im folgenden set-sms-attributes Beispiel wird die standardmäßige Absender-ID für SMS Nachrichten auf festgelegtMyName.

aws sns set-sms-attributes \ --attributes DefaultSenderID=MyName

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

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.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); } } }
  • APIEinzelheiten finden Sie unter S etSMSAttributes in AWS SDK for Java 2.x APIReferenz.

JavaScript
SDKfür JavaScript (v3)
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.

Erstellen Sie den Client in einem separaten Modul und exportieren Sie ihn.

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({});

Importieren Sie die Module SDK und den Client und rufen Sie die aufAPI.

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; };
PHP
SDK für PHP
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.

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); try { $result = $SnSclient->SetSMSAttributes([ 'attributes' => [ 'DefaultSMSType' => 'Transactional', ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Einstellung der SMS Nachrichteneinstellungen für die länderspezifische Zustellung

Sie können Ihren SMS Datenverkehr verwalten und kontrollieren, indem Sie Nachrichten nur an bestimmte Zielländer senden. Dadurch wird sichergestellt, dass Ihre Nachrichten nur in zugelassene Länder gesendet werden, wodurch unerwünschte SMS Gebühren vermieden werden. Die folgenden Anweisungen verwenden die Protect-Konfiguration von Amazon Pinpoint, um die Länder anzugeben, die Sie zulassen oder blockieren möchten.

  1. Öffnen Sie die AWS SMS Konsole unter. https://console.aws.amazon.com/sms-voice/

  2. Wählen Sie im Navigationsbereich unter Übersicht im Abschnitt Schnellstart die Option Create a protect configuration aus.

  3. Geben Sie unter Protect-Konfigurationsdetails einen unternehmensfreundlichen Namen für Ihre Protect-Konfiguration ein (z. B. Allow-only-AU).

  4. Wählen Sie unter SMSLänderregeln das Kontrollkästchen Region/Land aus, um das Senden von Nachrichten in alle unterstützten Länder zu blockieren.

  5. Deaktivieren Sie die Kontrollkästchen für die Länder, in die Sie Nachrichten senden möchten. Um beispielsweise nur Nachrichten nach Australien zuzulassen, deaktivieren Sie das Kontrollkästchen für Australien.

  6. Wählen Sie im Abschnitt Konfigurationszuordnungen schützen unter Zuordnungstyp die Option Kontostandard aus. Dadurch wird sichergestellt, dass sich die AWS Endbenutzer-Messaging SMS Protect-Konfiguration auf alle Nachrichten auswirkt, die über AmazonSNS, Amazon Cognito und den Amazon Pinpoint SendMessagesAPIPinpoint-Anruf gesendet werden.

  7. Wählen Sie Create Protect configuration aus, um Ihre Einstellungen zu speichern.

    Die folgende Bestätigungsmeldung wird angezeigt:

    Success Protect configuration protect-abc0123456789 has been created.
  8. Melden Sie sich bei der SNSAmazon-Konsole an.

  9. Veröffentlichen Sie eine Nachricht in einem der blockierten Länder, z. B. Indien.

    Die Nachricht wird nicht zugestellt. Sie können dies in den Zustellungsfehlerprotokollen mit überprüfen CloudWatch. Suchen Sie nach der Protokollgruppe SNS/Region/AccountID/ DirectPublishToPhoneNumber /Failure nach einer Antwort, die dem folgenden Beispiel ähnelt:

    { "notification": { "messageId": "bd59a509-XXXX-XXXX-82f8-fbdb8cb68217", "timestamp": "YYYY-MM-DD XX:XX:XX.XXXX“ }, "delivery": { "destination": "+91XXXXXXXXXX", "smsType": "Transactional", "providerResponse": "Cannot deliver message to the specified destination country", "dwellTimeMs": 85 }, "status": "FAILURE" }