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.
Empfangen eingehender RCS-Medien
Benutzer können Medien (Bilder, Videos, Audiodateien und Dokumente) in RCS-Konversationen mit Ihrem Agenten senden. Wenn Sie den Speicher für eingehende Medien konfigurieren, lädt AWS End User Messaging die Medien vom RCS-Anbieter herunter, lädt sie in Ihren Amazon S3 S3-Bucket hoch und veröffentlicht eine Benachrichtigung zu Ihrem bidirektionalen Amazon SNS SNS-Thema mit dem S3-Standort und den Dateimetadaten.
Allgemeine Informationen zum Empfang eingehender RCS-Nachrichten (Text, Standort und Antwortvorschläge) finden Sie unter. Empfangen eingehender RCS-Nachrichten Informationen zum Senden von Rich Media an Benutzer finden Sie unter. Senden umfangreicher RCS-Nachrichten
So funktionieren eingehende Medien
Wenn ein Benutzer in einer RCS-Konversation eine Mediendatei sendet, verarbeitet AWS End User Messaging die Nachricht anhand der folgenden Schritte:
-
Der Benutzer sendet ein Bild, ein Video, eine Audiodatei oder ein Dokument aus seiner RCS-Messaging-App.
-
AWSEnd User Messaging lädt die Medien vom RCS-Anbieter herunter.
-
AWSEnd User Messaging lädt die Medien mithilfe der von Ihnen angegebenen IAM-Rolle in Ihren konfigurierten S3-Bucket hoch.
-
AWSEnd User Messaging veröffentlicht eine Benachrichtigung zu Ihrem bidirektionalen SNS-Thema. Die Benachrichtigung enthält den S3-Bucket, den Schlüssel, den MIME-Typ und die Nachrichtenmetadaten.
Für SUGGESTION Nachrichtentypen LOCATION und -typen findet kein S3-Upload statt. Der Inhalt wird direkt im SNS-Benachrichtigungstext übermittelt. Einzelheiten zu diesen Nachrichtentypen finden Sie unterEmpfangen eingehender RCS-Nachrichten.
Konfiguration des Speichers eingehender Medien
Um eingehende Medien zu empfangen, konfigurieren Sie die folgenden Felder auf Ihrem RCS-Agenten mithilfe der API. UpdateRcsAgent Two-way Messaging muss auf dem Agenten aktiviert sein, bevor Sie den Medienspeicher konfigurieren.
| Feld | Erforderlich | Beschreibung |
|---|---|---|
TwoWayMediaS3BucketName |
Ja | Der Name des S3-Buckets, in dem AWS End User Messaging eingehende Mediendateien speichert. |
TwoWayMediaS3KeyPrefix |
Nein | Ein optionales Präfix für S3-Objektschlüssel. Falls angegeben, werden Medienobjekte unter diesem Präfix im Bucket gespeichert. |
TwoWayMediaS3Role |
Ja | Der ARN der IAM-Rolle, von der AWS End User Messaging ausgeht, um Mediendateien in Ihren S3-Bucket hochzuladen. |
Der S3-Bucket und die IAM-Rolle sind zusammen erforderlich. Wenn Sie einen angeben, müssen Sie beide angeben.
S3-Schlüsselformat
Medienobjekte werden mit dem folgenden Schlüsselformat gespeichert, wobei der ursprüngliche Dateiname nach einem # Trennzeichen angehängt wird:
{prefix}/rcs/{messageId}#{fileName}
Wenn Sie das key prefix beispielsweise auf setzeninbound-media, kann eine Mediendatei wie folgt gespeichert werden:
inbound-media/rcs/msg-abc123def456#photo_2026.jpg
Die IAM-Rolle für eingehende Medien erstellen
Erstellen Sie eine IAM-Rolle, die es dem AWS End User Messaging-Dienst ermöglicht, Mediendateien in Ihren S3-Bucket hochzuladen. Die Rolle erfordert eine Vertrauensrichtlinie, die es dem Dienst ermöglicht, sie zu übernehmen, und eine Berechtigungsrichtlinie, die s3:PutObject Zugriff auf Ihren Bucket gewährt.
Vertrauensrichtlinie
Die folgende Vertrauensrichtlinie ermöglicht es dem Principal des AWS End User Messaging-Dienstes, die Rolle zu übernehmen. 123456789012Ersetzen Sie es durch Ihre AWS Konto-ID.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
Berechtigungsrichtlinie
Die folgende Berechtigungsrichtlinie gewährt der Rolle Zugriff zum Schreiben von Objekten in Ihren S3-Bucket. my-rcs-media-bucketErsetzen Sie es durch Ihren Bucket-Namen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::my-rcs-media-bucket/*" } ] }
Anmerkung
Schränken Sie die IAM-Rolle eng auf „Nur“ ein. s3:PutObject Für den Service sind keines3:GetObject,s3:DeleteObject, oder andere Berechtigungen für die Übertragung eingehender Medien erforderlich.
Medienspeicher (CLI) konfigurieren
Der folgende AWS CLI-Befehl konfiguriert den eingehenden Medienspeicher auf einem vorhandenen RCS-Agenten:
aws pinpoint-sms-voice-v2 update-rcs-agent \ --rcs-agent-id rcs-agent-1234567890abcdef0 \ --two-way-media-s3-bucket-name my-rcs-media-bucket \ --two-way-media-s3-key-prefix "inbound-media" \ --two-way-media-s3-role arn:aws:iam::123456789012:role/RcsInboundMediaRole \ --region us-east-1
Payload für Benachrichtigungen über eingehende Medien
Wenn AWS End User Messaging eine Mediendatei empfängt, veröffentlicht es eine Benachrichtigung zu Ihrem bidirektionalen SNS-Thema. Die Benachrichtigung ist ein JSON-Objekt mit einem messageBody Feld, das ein stringifiziertes JSON-Dokument mit dem Medienstatus und, falls erfolgreich, dem S3-Speicherort und den Dateimetadaten enthält.
Das folgende Beispiel zeigt eine erfolgreiche eingehende Medienbenachrichtigung:
{ "originationNumber": "+14255551234", "destinationNumber": "rcs-cb1e6e519e9049fabf8c0ae38e4d876b", "messageBody": "{\"mediaStatus\":\"SUCCESS\",\"s3Bucket\":\"my-rcs-media-bucket\",\"s3Key\":\"inbound-media/rcs/msg-abc123def456#photo_2026.jpg\",\"mimeType\":\"image/jpeg\",\"fileName\":\"photo_2026.jpg\",\"fileSizeBytes\":1211843}", "inboundMessageId": "8821d750-4bc5-4cb1-a8c3-c3d64a38d019" }
Die Benachrichtigung auf oberster Ebene enthält die folgenden Felder:
originationNumber-
Die Telefonnummer des Benutzers, der die Medien gesendet hat.
destinationNumber-
Die ID des RCS-Agenten, der die Nachricht erhalten hat.
messageBody-
Ein stringifiziertes JSON-Dokument, das die Medien beschreibt. Es enthält die Felder in der folgenden Tabelle.
inboundMessageId-
Die eindeutige Kennung für die eingehende Nachricht.
Die messageBody JSON-Datei enthält die folgenden Felder:
mediaStatus-
Das Ergebnis der Medienverarbeitung. Gültige Werte sind
SUCCESS,UPLOAD_FAILEDundROLE_ASSUME_FAILED. mediaStatusMessage-
Eine menschenlesbare Beschreibung des Status. Geben Sie an, wann
mediaStatusein Fehlerwert vorliegt. s3Bucket-
Der Name des S3-Buckets, in dem die Mediendatei gespeichert ist. Bei Erfolg anwesend.
s3Key-
Der S3-Objektschlüssel für die gespeicherte Mediendatei. Bei Erfolg anwesend.
mimeType-
Der MIME-Typ der Mediendatei (z. B.
image/jpeg,video/mp4,application/pdf). fileName-
Der ursprüngliche Dateiname, wie er vom Gerät des Benutzers bereitgestellt wurde.
fileSizeBytes-
Die Größe der Mediendatei in Byte.
Anmerkung
Die eingehende Medienbenachrichtigung enthält derzeit kein Feld vom Typ Nachricht. Wird verwendetmediaStatus, um das Ergebnis zu bestimmen.
Behandlung von Fehlern beim Herunterladen von Medien
Wenn AWS End User Messaging keine Medien vom RCS-Anbieter herunterladen oder speichern kann, veröffentlicht der Dienst trotzdem eine Benachrichtigung zu Ihrem bidirektionalen SNS-Thema. Der messageBody enthält einen Fehler mediaStatus (UPLOAD_FAILEDoderROLE_ASSUME_FAILED) und eine mediaStatusMessage Beschreibung der Ursache, ohne S3-Standortfelder.
Ein Fehler bei der Annahme einer IAM-Rolle führt beispielsweise zu folgendem messageBody Inhalt:
{ "mediaStatus": "ROLE_ASSUME_FAILED", "mediaStatusMessage": "Media received but could not assume the configured IAM role", "mimeType": "image/heic", "fileName": "IMG_7115.heic", "fileSizeBytes": 1211843 }
Zu den häufigsten Ursachen für Fehler beim Herunterladen von Medien gehören:
-
Das Medium ist beim RCS-Anbieter nicht mehr erhältlich (es ist beispielsweise abgelaufen oder wurde gelöscht).
-
Die IAM-Rolle ist nicht berechtigt, in den angegebenen S3-Bucket zu schreiben.
-
Der S3-Bucket ist nicht vorhanden oder befindet sich in einer anderen Region als erwartet.
Stellen Sie zur Behebung von Zustellungsfehlern sicher, dass Ihre Vertrauens- und Berechtigungsrichtlinien für IAM-Rollen korrekt konfiguriert sind und dass der S3-Bucket vorhanden ist und vom Service aus darauf zugegriffen werden kann. Überwachen Sie die CloudWatch Metriken Ihres Agenten im Hinblick auf Fehler beim Hochladen von Medien.
Zulässige Medientypen
AWSEnd User Messaging akzeptiert die folgenden MIME-Typen für eingehende Medien:
-
Bilder:
image/jpeg,,image/jpg,image/gifimage/png -
Audio:
audio/aac,audio/mp3audio/mpeg,audio/mpg,audio/mp4,audio/mp4-latm,audio/3gpp,audio/ogg,application/ogg -
Video:
video/h263video/m4v,video/mp4video/mpeg,video/mpeg4,video/webm -
Dokumente:
application/pdf
Anmerkung
AWSFür Endbenutzer-Nachrichten gibt es keine Größenbeschränkung für eingehende Medien.
Bewährte Methoden
-
Konfigurieren Sie den Medienspeicher immer dann, wenn Sie erwarten, dass Benutzer Bilder, Videos oder Dateien in RCS-Konversationen senden.
-
Verwenden Sie einen speziellen S3-Bucket für eingehende RCS-Medien, um Zugriffskontrollen und Lebenszyklusrichtlinien zu isolieren.
-
Richten Sie eine S3-Lebenszyklusrichtlinie ein, um alte Medienobjekte ablaufen zu lassen (z. B. nach 90 Tagen), um die Speicherkosten zu kontrollieren.
-
Verarbeiten Sie eingehende Medien asynchron mithilfe einer AWS Lambda-Funktion, die durch Ihr SNS-Thema ausgelöst wird.
-
Richten Sie die IAM-Rolle ausschließlich ein.
s3:PutObjectFür den Dienst sind keine umfassenderen Berechtigungen erforderlich. -
Überwachen Sie CloudWatch Messwerte für Fehler beim Hochladen von Medien und richten Sie Alarme ein, um Konfigurationsprobleme zu erkennen.