Impostazione delle preferenze di SMS messaggistica in Amazon SNS - Amazon Simple Notification Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Impostazione delle preferenze di SMS messaggistica in Amazon SNS

Usa Amazon SNS per specificare le preferenze per la SMS messaggistica. Ad esempio, puoi specificare se ottimizzare le consegne in termini di costi o affidabilità, il limite di spesa mensile, il modo in cui vengono registrate le consegne e se iscriverti ai report di utilizzo giornalieriSMS.

Queste preferenze hanno effetto per ogni SMS messaggio inviato dal tuo account, ma puoi sovrascrivere alcune di esse quando invii un messaggio singolo. Per ulteriori informazioni, consulta Pubblicazione di SMS messaggi su un telefono cellulare tramite Amazon SNS.

Impostazione delle preferenze SMS di messaggistica tramite AWS Management Console

  1. Accedi alla SNSconsole Amazon.

  2. Scegli una regione che supporti la SMS messaggistica.

  3. Nel pannello di navigazione, scegli Mobile e poi Messaggi di testo (SMS).

  4. Nella pagina Messaggi di testo per dispositivi mobili (SMS), nella sezione Preferenze per i messaggi di testo, scegli Modifica.

  5. Nella pagina Modifica le preferenze per i messaggi di testo, nella sezione Dettagli, effettuare queste operazioni:

    1. Per Default message type (Tipo di messaggio predefinito), scegliere una di queste opzioni:

      • Promozionale: messaggi non critici (ad esempio marketing). Amazon SNS ottimizza la consegna dei messaggi per garantire i costi più bassi.

      • Transazionale: messaggi critici che supportano le transazioni dei clienti, come le password monouso per l'autenticazione a più fattori. Amazon SNS ottimizza la consegna dei messaggi per ottenere la massima affidabilità.

      Per informazioni sui prezzi dei messaggi promozionali e transazionali, consulta la pagina Prezzi globali. SMS

    2. (Facoltativo) Per il limite di spesa dell'Account, inserisci l'importo (inUSD) che desideri spendere per SMS i messaggi ogni mese di calendario.

      Importante
      • Per impostazione predefinita, la quota di spesa è impostata su 1,00USD. Se si desidera aumentare la quota di servizio, inviare una richiesta.

      • Se l'importo impostato nella console supera la quota di servizio, Amazon SNS interrompe la pubblicazione SMS dei messaggi.

      • Poiché Amazon SNS è un sistema distribuito, interrompe l'invio di SMS messaggi entro pochi minuti dal superamento della quota di spesa. Durante questo intervallo, se continui a inviare SMS messaggi, potresti incorrere in costi superiori alla tua quota.

  6. (Facoltativo) Per Default sender ID (ID mittente predefinito), immettere un ID personalizzato, ad esempio il marchio aziendale, visualizzato come mittente sul dispositivo di ricezione.

    Nota

    Il supporto per il mittente IDs varia in base al Paese.

  7. (Facoltativo) Immettere il Amazon S3 bucket name for usage reports (Nome bucket Amazon S3 per i report di utilizzo).

    Nota

    La policy del bucket S3 deve concedere l'accesso in scrittura ad Amazon. SNS

  8. Scegli Save changes (Salva modifiche).

Impostazione delle preferenze ()AWS SDKs

Per impostare SMS le tue preferenze utilizzando uno di questi AWS SDKs, utilizza l'azione corrispondente alla SetSMSAttributes richiesta in Amazon SNSAPI. SDK Con questa richiesta, assegni valori ai diversi SMS attributi, come la quota di spesa mensile e il SMS tipo predefinito (promozionale o transazionale). Per tutti SMS gli attributi, consulta S etSMSAttributes nell'Amazon Simple Notification Service API Reference.

I seguenti esempi di codice mostrano come usareSetSMSAttributes.

C++
SDKper C++
Nota

C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

Come usare Amazon SNS per impostare l'efaultSMSType attributo D.

//! 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

Per impostare gli attributi dei SMS messaggi

L'set-sms-attributesesempio seguente imposta l'ID mittente predefinito per SMS MyName i messaggi su.

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

Questo comando non produce alcun output.

Java
SDKper Java 2.x
Nota

C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

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); } } }
JavaScript
SDKper JavaScript (v3)
Nota

C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice AWS.

Creare il client in un modulo separato ed esportarlo.

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

Importa i moduli SDK e client e chiama ilAPI.

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 per PHP
Nota

C'è di più su GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

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

Impostazione delle preferenze SMS di messaggistica per la consegna in base al Paese

Puoi gestire e controllare il SMS traffico inviando messaggi solo a paesi di destinazione specifici. Ciò garantisce che i messaggi vengano inviati solo nei paesi approvati, evitando SMS addebiti indesiderati. Le seguenti istruzioni utilizzano la configurazione Protect di Amazon Pinpoint per specificare i paesi che desideri consentire o bloccare.

  1. Apri la AWS SMS console all'indirizzo https://console.aws.amazon.com/sms-voice/.

  2. Nel riquadro di navigazione, in Panoramica, nella sezione Avvio rapido, scegli Crea una configurazione di protezione.

  3. In Proteggi i dettagli di configurazione, inserisci un nome adatto alle aziende per la tua configurazione di protezione (ad esempio, Allow-Only-AU).

  4. In base alle regole SMS nazionali, seleziona la casella di controllo Regione/Paese per bloccare l'invio di messaggi a tutti i paesi supportati.

  5. Deseleziona le caselle di controllo relative ai paesi in cui desideri inviare messaggi. Ad esempio, per consentire l'invio di messaggi solo in Australia, deseleziona la casella di controllo relativa all'Australia.

  6. Nella sezione Proteggi le associazioni di configurazione, in Tipo di associazione, seleziona Account predefinito. Ciò garantirà che la configurazione AWS End User Messaging SMS Protect influisca su tutti i messaggi inviati tramite AmazonSNS, Amazon Cognito e la chiamata Amazon SendMessagesAPIPinpoint.

  7. Scegli Crea configurazione di protezione per salvare le tue impostazioni.

    Viene visualizzato il seguente messaggio di conferma:

    Success Protect configuration protect-abc0123456789 has been created.
  8. Accedi alla SNSconsole Amazon.

  9. Pubblica un messaggio in uno dei paesi bloccati, come l'India.

    Il messaggio non verrà recapitato. È possibile verificarlo nei registri degli errori di consegna utilizzando CloudWatch. Cerca nel gruppo di sns/region/AccountID/DirectPublishToPhoneNumber/Failurelog una risposta simile all'esempio seguente:

    { "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" }