O S3 Push Delivery é um método que estúdios, fornecedores de atendimento e outros provedores de conteúdo podem usar para entregar arquivos ao Prime Video.
O Amazon Simple Storage Service (S3) é um serviço de armazenamento de objetos da Amazon Web Services (AWS). O S3 Push Delivery permite que os parceiros copiem com segurança arquivos de seu próprio bucket Amazon S3 diretamente para o Prime Video.
O S3 Push Delivery oferece vários benefícios, incluindo:
- Custo mais baixo: as transferências do bucket S3 de um provedor de conteúdo para o Prime Video usando o S3 Push Delivery incorrerão em taxas de saída reduzidas da AWS para provedores de conteúdo cujos buckets S3 estão hospedados nas regiões da AWS da América do Norte e EMEA.
- Velocidades de entrega mais rápidas: os arquivos entregues via S3 Push Delivery são transferidos até 3 vezes mais rápido do que aqueles entregues por meio de outros métodos de entrega em massa.
O diagrama do sistema a seguir ilustra como os arquivos de duas contas parceiras diferentes da AWS se movem por meio de um método de transferência de arquivos escolhido (S3 Copy ou AWS DataSync) para um ponto de acesso em uma conta da AWS do Prime Video e, em seguida, são ingeridos no Prime Video.
Comece
Para receber e testar um ponto de acesso S3 onde você pode entregar seus arquivos:
- Crie um ticket de suporte Fale conosco para solicitar a integração ao S3 ou entre em contato com seu POM ou CAM para levantar isso em seu nome. Forneça as seguintes informações na solicitação:
- Funções do AWS Identity and Account Management (IAM) que precisam de acesso.
Por exemplo: arn:aws:iam: ::role/this-is-a-test-role - Nomes das contas de entrega do Prime Video que serão entregues em seu nome.
Por exemplo: test_account - Região da AWS onde seu bucket S3 está hospedado.
Seu contato da Amazon entrará em contato com você para informá-lo sobre as próximas etapas e compartilhar o ponto de acesso S3 como referência para suas entregas.
Por exemplo: arn:aws:s3: ::test-s3-accesspoint-agsen8dehko1eyjxo3myhtui4cgs4use1b-s3alias - Funções do AWS Identity and Account Management (IAM) que precisam de acesso.
- Atualize suas funções do IAM com as políticas necessárias para copiar seus arquivos para o bucket S3 do Prime Video por meio do seu ponto de acesso. O exemplo a seguir mostra as permissões esperadas. Neste código:
- Substitua o nome source_bucket pelo nome do seu próprio bucket do S3.
- Substitua o nome do destination_bucket, destination_bucket_access_point_alias, prime_video_provided_prefix e access_point_name pelas informações fornecidas pelo seu POM.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::source_bucket", "arn:aws:s3:::source_bucket/*", "arn:aws:s3:::destination_bucket", "arn:aws:s3:::destination_bucket/*", "arn:aws:s3:::destination_bucket_access_point_alias", "arn:aws:s3:::destination_bucket_access_point_alias/prime_video_provided_prefix/*", "arn:aws:s3:us-east-1:1231231231:accesspoint/access_point_name", "arn:aws:s3:us-east-1:1231231231:accesspoint/access_point_name/object/prime_video_provided_prefix/*" ] } ] }
Depois de receber seu ponto de acesso e atualizar suas permissões de função do IAM, você pode entregar arquivos usando um dos métodos de transferência de arquivos descritos na próxima seção.
- Por meio do método escolhido, primeiro entregue um arquivo de teste inicial (como test.txt) e confirme se o arquivo está visível na guia Entregas no Slate.
Após a confirmação, você está pronto para começar a entregar seu conteúdo com o S3 Push Delivery.
Métodos de transferência de arquivos
Recomendamos usar um dos seguintes métodos de transferência de arquivos para entregar arquivos da sua conta do S3.
S3 Copy (interface de linha de comando da AWS, SDKs, API REST, console)
Para obter informações sobre como copiar objetos usando a interface de linha de comando (CLI) da AWS, SDKs, API REST ou console do S3, consulte Para copiar um objeto no Guia do usuário do AWS S3. A Referência de Comandos da AWS CLI tem detalhes sobre como executar vários comandos de cópia na AWS CLI. Para obter exemplos de código e instruções de configuração para o AWS Lambda e o AWS CLI, consulte a seção de métodos de cópia do S3 abaixo.
AWS DataSync O
AWS DataSync é um serviço on-line de movimentação e descoberta de dados que simplifica a migração de dados e ajuda você a transferir de forma rápida, fácil e segura seus dados de arquivos ou objetos para, de e entre os serviços de armazenamento da AWS. Para aprender a usar o AWS DataSync, consulte este tutorial.
O diagrama a seguir ilustra um cenário em que você transfere dados de um bucket do S3 para outro bucket do S3 que está em uma conta diferente da AWS, mas dentro da mesma região da AWS.
O diagrama a seguir ilustra um cenário em que você transfere dados de um bucket do S3 para outro bucket do S3 que está em uma conta e região diferentes da AWS.
Métodos de cópia do S3
Esta seção fornece dois exemplos de métodos de cópia que você pode usar com o AWS CLI.
Copie objetos com o AWS Lambda
- Criar uma função lambda do Python na AWS. (Este exemplo foi criado no Python 3.12.)
- Use a função do IAM que você criou e atualizou com as informações do ponto de acesso do seu POM.
- Use o código de exemplo a seguir para copiar um arquivo da origem para o bucket do S3 de destino.
import boto3 def lambda_handler(event, context): # Define your S3 bucket name and file key source_bucket_name = 'source_bucket' source_file_key = 'source_prefix/sample_source_file.txt' copy_source = {'Bucket': source_bucket_name, 'Key': source_file_key} # Create an S3 client s3 = boto3.client('s3') # Define your destination S3 access point ARN and file key destination_bucket_name = 'destination_bucket_alias ' destination_file_key = 'prime_video_provided_prefix/sample_destination_file.txt' try: # Copy the object from the source S3 bucket to the destination S3 access point s3.copy_object( CopySource=copy_source, Bucket=destination_bucket_name, Key=destination_file_key ) return { 'statusCode': 200, 'body': 'File copied successfully to destination S3.' } except Exception as e: # Print any errors that occur print(f"Error: {e}") return { 'statusCode': 500, 'body': str(e) } - Valide a entrega verificando a guia Entregas no Slate para ver o arquivo copiado.
Copie objetos com o AWS CLI
- Certifique-se de que a função do IAM que você criou tenha a instrução 2 com AccountID adicionada à AWS.
- Assuma a função do IAM que você criou usando o comando a seguir.
[cloudshell-user@ip-192-168-1-1 ~]$ aws sts assume-role --role-arn "arn:aws:iam::XXXXXXXXXXX:role/PrimeVideoDeliveryIAMRole" --role-session-name AWSCLI-Session { "Credentials": { "AccessKeyId": "XXXXXXXX", "SecretAccessKey": "XXXXXXXX", "SessionToken": "XXXXXXXX", "Expiration": "2024-09-03T23:37:43+00:00" }, "AssumedRoleUser": { "AssumedRoleId": "XXXXXXXX:AWSCLI-Session", "Arn": "arn:aws:sts::XXXXXXXXXXX:assumed-role/PrimeVideoDeliveryIAMRole/AWSCLI-Session" } } - Copie as credenciais e defina-as como variáveis de ambiente.
export AWS_ACCESS_KEY_ID=AccessKeyId_From_Above_Response export AWS_SECRET_ACCESS_KEY=SecretAccessKey_From_Above_Response export AWS_SESSION_TOKEN=SessionToken_From_Above_Response - Valide se a função é assumida pelo shell executando o código a seguir.
[cloudshell-user@ip-192-168-1-1 ~]$ aws sts get-caller-identity { "UserId": "XXXXXXXX:AWSCLI-Session", "Account": "XXXXXXXXXXX", "Arn": "arn:aws:sts::XXXXXXXXXXX:assumed-role/PrimeVideoDeliveryIAMRole/AWSCLI-Session" } [cloudshell-user@ip-192-168-1-1 ~]$ - Copie o arquivo para o destino usando o comando a seguir.
[cloudshell-user@ip-192-168-1-1 ~]$ aws s3api copy-object --copy-source source_bucket/source_prefix/sample_source_file.txt --key prime_video_provided_prefix/sample_destination_file.txt --bucket destination_bucket_alias { "CopySourceVersionId": "5IsrJMy42TJEa7wXSValghbqQZjfAdnW", "VersionId": "A6sYhr9q4iDJy7VtWv9iscJdRWF4xE8S", "ServerSideEncryption": "AES256", "CopyObjectResult": { "ETag": "\"ae2b1fca515949e5d54fb22b8ed95575\"", "LastModified": "2024-09-03T22:40:01+00:00" } } - Valide a entrega verificando a guia Entregas no Slate para ver o arquivo copiado.