As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Recebendo mídia RCS de entrada
Os usuários podem enviar mídia (imagens, vídeos, arquivos de áudio e documentos) em conversas RCS com seu agente. Quando você configura o armazenamento de mídia de entrada, o AWS End User Messaging baixa a mídia do provedor RCS, a carrega em seu bucket do Amazon S3 e publica uma notificação em seu tópico bidirecional do Amazon SNS com a localização do S3 e os metadados do arquivo.
Para obter informações gerais sobre o recebimento de mensagens RCS de entrada (respostas de texto, localização e sugestões), consulte. Receber mensagens RCS de entrada Para obter informações sobre o envio de mídia avançada aos usuários, consulteEnviando mensagens ricas de RCS.
Como funciona a mídia de entrada
Quando um usuário envia um arquivo de mídia em uma conversa RCS, o AWS End User Messaging processa a mensagem por meio das seguintes etapas:
-
O usuário envia uma imagem, vídeo, arquivo de áudio ou documento do aplicativo de mensagens RCS.
-
AWSO End User Messaging baixa a mídia do provedor RCS.
-
AWSO End User Messaging carrega a mídia em seu bucket S3 configurado usando a função do IAM que você especifica.
-
AWSO End User Messaging publica uma notificação para seu tópico bidirecional do SNS. A notificação inclui o bucket do S3, a chave, o tipo MIME e os metadados da mensagem.
Para tipos de SUGGESTION mensagem LOCATION e tipo, nenhum upload do S3 ocorre. O conteúdo é entregue diretamente no corpo de notificação do SNS. Para obter detalhes sobre esses tipos de mensagem, consulteReceber mensagens RCS de entrada.
Configurando o armazenamento de mídia de entrada
Para receber mídia de entrada, configure os seguintes campos em seu agente RCS usando a UpdateRcsAgent API. Two-way as mensagens devem ser habilitadas no agente antes de você configurar o armazenamento de mídia.
| Campo | Obrigatório | Descrição |
|---|---|---|
TwoWayMediaS3BucketName |
Sim | O nome do bucket do S3 em que o AWS End User Messaging armazena arquivos de mídia de entrada. |
TwoWayMediaS3KeyPrefix |
Não | Um prefixo opcional para chaves de objeto do S3. Se especificado, os objetos de mídia são armazenados sob esse prefixo no bucket. |
TwoWayMediaS3Role |
Sim | O ARN da função do IAM que o AWS End User Messaging assume para fazer upload de arquivos de mídia para seu bucket do S3. |
O bucket do S3 e a função do IAM são necessários juntos. Se você especificar um, deverá especificar os dois.
Formato de chave S3
Os objetos de mídia são armazenados com o seguinte formato de chave, em que o nome do arquivo original é anexado após um # separador:
{prefix}/rcs/{messageId}#{fileName}
Por exemplo, se você definir o prefixo da chave comoinbound-media, um arquivo de mídia poderá ser armazenado como:
inbound-media/rcs/msg-abc123def456#photo_2026.jpg
Criação da função do IAM para mídia de entrada
Crie uma função do IAM que permita que o serviço AWS End User Messaging faça upload de arquivos de mídia para seu bucket do S3. A função exige uma política de confiança que permita que o serviço a assuma e uma política de permissão que conceda s3:PutObject acesso ao seu bucket.
Política de confiança
A política de confiança a seguir permite que o diretor do serviço de mensagens do usuário AWS final assuma a função. 123456789012Substitua pelo ID AWS da sua conta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
Política de permissão
A política de permissão a seguir concede à função acesso para gravar objetos em seu bucket do S3. Substitua my-rcs-media-bucket pelo nome do seu bucket.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::my-rcs-media-bucket/*" } ] }
nota
Defina o escopo da função do IAM de forma restrita a s3:PutObject apenas. O serviço não exige s3:GetObject nem outras permissões para entrega de mídia de entrada. s3:DeleteObject
Configurando o armazenamento de mídia (CLI)
O comando AWS CLI a seguir configura o armazenamento de mídia de entrada em um agente RCS existente:
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
Carga útil de notificação de mídia de entrada
Quando o AWS End User Messaging recebe um arquivo de mídia, ele publica uma notificação em seu tópico bidirecional do SNS. A notificação é um objeto JSON com um messageBody campo que contém um documento JSON em sequência com o status da mídia e, em caso de sucesso, a localização do S3 e os metadados do arquivo.
O exemplo a seguir mostra uma notificação de mídia de entrada bem-sucedida:
{ "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" }
A notificação de nível superior contém os seguintes campos:
originationNumber-
O número de telefone do usuário que enviou a mídia.
destinationNumber-
O identificador do agente RCS que recebeu a mensagem.
messageBody-
Um documento JSON em sequência de caracteres descrevendo a mídia. Ele contém os campos na tabela a seguir.
inboundMessageId-
O identificador exclusivo da mensagem de entrada.
O messageBody JSON contém os seguintes campos:
mediaStatus-
O resultado do processamento de mídia. Os valores válidos são
SUCCESS,UPLOAD_FAILEDeROLE_ASSUME_FAILED. mediaStatusMessage-
Uma descrição legível por humanos do status. Presente quando
mediaStatusé um valor de falha. s3Bucket-
O nome do bucket do S3 em que o arquivo de mídia está armazenado. Presente sobre o sucesso.
s3Key-
A chave do objeto S3 para o arquivo de mídia armazenado. Presente sobre o sucesso.
mimeType-
O tipo MIME do arquivo de mídia (por exemplo,,
image/jpegvideo/mp4,application/pdf). fileName-
O nome do arquivo original, conforme fornecido pelo dispositivo do usuário.
fileSizeBytes-
O tamanho do arquivo de mídia em bytes.
nota
Atualmente, a notificação de mídia de entrada não inclui um campo de tipo de mensagem. Use mediaStatus para determinar o resultado.
Tratamento de falhas no download de mídia
Se o AWS End User Messaging não puder baixar ou armazenar mídia do provedor de RCS, o serviço ainda publicará uma notificação para seu tópico bidirecional do SNS. O messageBody carrega uma falha mediaStatus (UPLOAD_FAILEDouROLE_ASSUME_FAILED) e uma mediaStatusMessage descrição da causa, sem campos de localização do S3.
Por exemplo, uma falha na suposição de uma função do IAM produz o seguinte messageBody conteúdo:
{ "mediaStatus": "ROLE_ASSUME_FAILED", "mediaStatusMessage": "Media received but could not assume the configured IAM role", "mimeType": "image/heic", "fileName": "IMG_7115.heic", "fileSizeBytes": 1211843 }
As causas comuns de falhas no download de mídia incluem:
-
A mídia não está mais disponível no provedor de RCS (por exemplo, ela expirou ou foi excluída).
-
A função do IAM não tem permissão para gravar no bucket do S3 especificado.
-
O bucket do S3 não existe ou está em uma região diferente da esperada.
Para solucionar falhas de entrega, verifique se suas políticas de confiança e permissão da função do IAM estão configuradas corretamente e se o bucket do S3 existe e pode ser acessado pelo serviço. Monitore CloudWatch as métricas do seu agente quanto a falhas no upload de mídia.
Tipos de mídia aceitos
AWSO End User Messaging aceita os seguintes tipos de MIME de mídia de entrada:
-
Imagens:
image/jpeg,image/jpg,image/gif,image/png -
Áudio:
audio/aacaudio/mp3,audio/mpeg,,audio/mpg,audio/mp4,audio/mp4-latm,audio/3gpp,audio/ogg,application/ogg -
Vídeo:
video/h263,video/m4v,video/mp4,video/mpeg,video/mpeg4,video/webm -
Documentos:
application/pdf
nota
AWSO End User Messaging não impõe um limite de tamanho na mídia de entrada.
Práticas recomendadas
-
Sempre configure o armazenamento de mídia se você espera que os usuários enviem imagens, vídeos ou arquivos em conversas RCS.
-
Use um bucket S3 dedicado para mídia de entrada RCS para isolar controles de acesso e políticas de ciclo de vida.
-
Defina uma política de ciclo de vida do S3 para expirar objetos de mídia antigos (por exemplo, após 90 dias) para gerenciar os custos de armazenamento.
-
Processe mídia de entrada de forma assíncrona usando uma função AWS Lambda acionada pelo seu tópico do SNS.
-
Defina o escopo da função do IAM
s3:PutObjectsomente para. O serviço não exige permissões mais amplas. -
Monitore CloudWatch as métricas de falhas no upload de mídia e defina alarmes para detectar problemas de configuração.