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.
Beispiel für das Senden einer SMS oder Sprachnachricht mithilfe von AWS End User Messaging SMS
Sie können die SMS-API für AWS Endbenutzernachrichten verwenden, um Nachrichten direkt von Ihren Apps aus zu senden. Transaktionsnachrichten sind Nachrichten, die Sie an bestimmte Empfänger senden.
Dieser Abschnitt enthält Codebeispiele für das Senden von SMS-Nachrichten und Sprachnachrichten.
Wichtig
Um eine gemeinsam genutzte Ressource zu verwenden, müssen Sie den vollständigen Amazon-Ressourcennamen (ARN) verwenden.
Themen in diesem Abschnitt:
Senden einer SMS-Nachricht mit AWS End User Messaging SMS
Wenn Sie eine gemeinsam genutzte Ressource verwenden, müssen Sie den vollständigen Amazon-Ressourcennamen (ARN) der Ressource verwenden. Sie können das folgende Codebeispiel verwenden, um eine SMS-Nachricht mit dem AWS SDK für Python (Boto3) zu senden.
import boto3 from botocore.exceptions import ClientError def send_sms_message(sms_voice_v2_client, configuration_set, context_keys, country_parameters, destination_number, dry_run, keyword, max_price, message_body, message_type, origination_number, ttl): try: response = sms_voice_v2_client.send_text_message( ConfigurationSetName=configuration_set, Context=context_keys, DestinationCountryParameters=country_parameters, DestinationPhoneNumber=destination_number, DryRun=dry_run, Keyword=keyword, MaxPrice=max_price, MessageBody=message_body, MessageType=message_type, OriginationIdentity=origination_number, TimeToLive=ttl ) except ClientError as e: print(e.response) else: return response['MessageId'] def main(): configuration_set = "MyConfigurationSet" context_keys = {"key1": "value1"} country_parameters = { "IN_TEMPLATE_ID": "TEMPLATE01234", "IN_ENTITY_ID": "ENTITY98765" } destination_number = "+14255550168" dry_run = False keyword = "MyKeyword" max_price = "2.00" message_body = ("This is a test message sent from AWS End User Messaging SMS " "using the AWS SDK for Python (Boto3). ") message_type = "TRANSACTIONAL" origination_number = "+12065550183" ttl = 120 print( f"Sending text message to {destination_number}.") message_id = send_sms_message( boto3.client('pinpoint-sms-voice-v2'), configuration_set, context_keys, country_parameters, destination_number, dry_run, keyword, max_price, message_body, message_type, origination_number, ttl) print(f"Message sent!\nMessage ID: {message_id}") if __name__ == '__main__': main()
Nehmen Sie im vorherigen Codebeispiel die folgenden Änderungen in der main()
-Funktion vor:
-
Ändern Sie den Wert von
configuration_set
in den Namen oder den Amazon-Ressourcennamen (ARN) des Konfigurationssatzes, den Sie zum Senden dieser Nachricht verwenden möchten. -
Ändern Sie den Wert von
context_keys
in die Schlüssel und Werte, die Sie beim Senden dieser Nachricht verwenden möchten. Diese Schlüssel werden in den mit dieser Nachricht verknüpften Ereignisdatensätzen angezeigt. -
Wenn Sie eine registrierte Absender-ID verwenden, um Nachrichten an Kunden in Indien zu senden, ändern Sie den Wert von
country_parameters
so, dass er der registrierten Entity-ID und der Vorlagen-ID entspricht, die Sie bei der Registrierung Ihrer Absender-ID erhalten haben.Wichtig
Wenn Sie keine registrierte Absender-ID verwenden, um Nachrichten an Kunden in Indien zu senden, lassen Sie diesen Parameter komplett weg. Wenn Sie dies tun, müssen Sie auch die entsprechende Zeile in der
send_sms_message
-Funktion entfernen. -
Ändern Sie den Wert von
destination_number
in die Telefonnummer, an die Sie die Nachricht senden möchten. -
Wenn Sie diesen Vorgang ausführen möchten, ohne Nachrichten zu senden, ändern Sie den Wert von
dry_run
inTrue
. -
Ändern Sie den Wert
max_price
auf den Höchstbetrag in US-Dollar, den Sie ausgeben möchten, um die einzelnen Teile dieser Nachricht zu versenden. Ein Nachrichten kann bis zu 140 Byte an Informationen enthalten. Weitere Informationen finden Sie unter SMS-Zeichenbeschränkungen. -
Ändern Sie den Wert von
message_body
, um die Nachricht einzuschließen, die Sie senden möchten. Die maximale Länge einer Nachricht hängt davon ab, welche Zeichen die Nachricht enthält. Weitere Informationen zur SMS-Zeichencodierung erhalten Sie unter SMS-Zeichenbeschränkungen. -
Ändern Sie den Wert von
message_type
, sodass er der entsprechenden Nachrichtenkategorie entspricht. Gültige Werte sind TRANSACTIONAL (für Nachrichten, die kritisch oder zeitabhängig sind) und PROMOTIONAL (für Nachrichten, die nicht kritisch oder zeitkritisch sind). -
Ändern Sie den Wert von
origination_number
in die Telefonnummer, an die Sie die Nachricht senden möchten. Die Telefonnummer muss im E.164-Format vorliegen. -
Ändern Sie den Wert
ttl
auf die Zeitspanne in Sekunden, während der AWS End User Messaging SMS versuchen soll, die Nachricht zuzustellen. Sie können den TTL-Wert auf bis zu 259200 Sekunden (72 Stunden) festlegen.
Senden einer Sprachnachricht mithilfe von AWS End User Messaging SMS
Sie können das folgende Codebeispiel verwenden, um eine Sprachnachricht mit dem AWS SDK für Python (Boto3) zu senden.
import boto3 from botocore.exceptions import ClientError def send_voice_message(sms_voice_v2_client, configuration_set, context_keys, destination_number, dry_run, max_price, message_body, message_type, origination_number, ttl, voice_id): try: response = sms_voice_v2_client.send_voice_message( ConfigurationSetName=configuration_set, Context=context_keys, DestinationPhoneNumber=destination_number, DryRun=dry_run, MaxPricePerMinute=max_price, MessageBody=message_body, MessageBodyTextType=message_type, OriginationIdentity=origination_number, TimeToLive=ttl, VoiceId=voice_id ) except ClientError as e: print(e.response) else: return response['MessageId'] def main(): configuration_set = "MyConfigurationSet" context_keys = {"key1":"value1"} destination_number = "+12065550123" dry_run = False max_price = "2.00" message_body = ( "<speak>" "This is a test message sent from <emphasis>AWS End User Messaging SMS</emphasis>" "using the <break strength='weak'/> AWS SDK für Python (Boto3). " "<amazon:effect phonation='soft'>Thank you for listening." "</amazon:effect>" "</speak>") message_type = "SSML" origination_number = "+18445550142" ttl = 120 voice_id = "MATTHEW" print( f"Sending voice message with AWS End User Messaging SMS from {origination_number} to {destination_number}.") message_id = send_voice_message( boto3.client('pinpoint-sms-voice-v2'), configuration_set, context_keys, destination_number, dry_run, max_price, message_body, message_type, origination_number, ttl, voice_id) print(f"Message sent!\nMessage ID: {message_id}") if __name__ == '__main__': main()
Nehmen Sie im vorherigen Codebeispiel die folgenden Änderungen in der main()
-Funktion vor:
-
Ändern Sie den Wert von
configuration_set
in den Namen oder den Amazon-Ressourcennamen (ARN) des Konfigurationssatzes, den Sie zum Senden dieser Nachricht verwenden möchten. -
Ändern Sie den Wert von
context_keys
in die Schlüssel und Werte, die Sie beim Senden dieser Nachricht verwenden möchten. Diese Schlüssel werden in den mit dieser Nachricht verknüpften Ereignisdatensätzen angezeigt. -
Ändern Sie den Wert von
destination_number
in die Telefonnummer, an die Sie die Nachricht senden möchten. -
Ändern Sie den Wert von
max_price
auf den Höchstbetrag, den Sie pro Minute für das Senden dieser Nachricht ausgeben möchten. -
Ändern Sie den Wert von
message_body
, um die Nachricht einzuschließen, die Sie senden möchten. Ihre Nachricht kann bis zu 6 000 Zeichen enthalten. -
Wenn Sie ein Nur-Text-Skript anstelle eines SSML-formatierten Skripts verwenden möchten, ändern Sie den Wert von
message_type
inTEXT
. -
Ändern Sie den Wert von
origination_number
in die Telefonnummer, an die Sie die Nachricht senden möchten. Die Telefonnummer muss im E.164-Format vorliegen. -
Wenn Sie diesen Vorgang ausführen möchten, ohne Nachrichten zu senden, ändern Sie den Wert von
dry_run
inTrue
. -
Ändern Sie den Wert
ttl
auf die Zeitspanne in Sekunden, während der AWS End User Messaging SMS versuchen soll, die Nachricht zuzustellen. Sie können den TTL-Wert auf bis zu 259200 Sekunden (72 Stunden) festlegen. -
Ersetzen Sie
MATTHEW
durch den Namen der Amazon-Polly-Stimme, die Sie zum Senden der Nachricht verwenden möchten. Eine vollständige Liste der unterstützten Stimmen finden Sie SendVoiceMessagein der API-Referenz zu SMS and Voice, Version 2. Wenn Sie keine Stimme angeben, wird Ihre Nachricht mit der Stimme „MATTHEW“ gesendet.