

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
<a name="send-sms-voice-message"></a>

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](#sms-voice-v2-messages-sms) und [Sprachnachrichten](#sms-voice-v2-messages-voice).

**Wichtig**  
Um eine gemeinsam genutzte Ressource zu verwenden, müssen Sie den vollständigen Amazon-Ressourcennamen (ARN) verwenden.

**Topics**
+ [Senden einer SMS-Nachricht mit AWS End User Messaging SMS](#sms-voice-v2-messages-sms)
+ [Senden einer Sprachnachricht mithilfe von AWS End User Messaging SMS](#sms-voice-v2-messages-voice)

## Senden einer SMS-Nachricht mit AWS End User Messaging SMS
<a name="sms-voice-v2-messages-sms"></a>

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` in `True`.
+ Ä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](sms-limitations-character.md).
+ Ä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](sms-limitations-character.md).
+ Ä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
<a name="sms-voice-v2-messages-voice"></a>

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` in `TEXT`.
+ Ä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` in `True`.
+ Ä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 [SendVoiceMessage](https://docs.aws.amazon.com/pinpoint/latest/apireference_smsvoicev2/API_SendVoiceMessage.html#pinpoint-SendVoiceMessage-request-VoiceId)in der *API-Referenz zu SMS and Voice, Version 2.* Wenn Sie keine Stimme angeben, wird Ihre Nachricht mit der Stimme „MATTHEW“ gesendet.