tradutor da amazon · tradutor da amazon guia do desenvolvedor table of contents ... o amazon...

65
Tradutor da Amazon Guia do desenvolvedor

Upload: vuongliem

Post on 11-Nov-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Tradutor da AmazonGuia do desenvolvedor

Tradutor da Amazon Guia do desenvolvedor

Tradutor da Amazon Guia do desenvolvedorCopyright copy 2018 Amazon Web Services Inc andor its affiliates All rights reserved

Amazons trademarks and trade dress may not be used in connection with any product or service that is not Amazons in any mannerthat is likely to cause confusion among customers or in any manner that disparages or discredits Amazon All other trademarks notowned by Amazon are the property of their respective owners who may or may not be affiliated with connected to or sponsored byAmazon

Tradutor da Amazon Guia do desenvolvedor

Table of ContentsO que eacute o Amazon Translate 1

Vocecirc eacute um usuaacuterio iniciante do Amazon Translate 1Como ele funciona 3

Detecccedilatildeo automaacutetica de idioma 4Processamento de exceccedilotildees 4Proacuteximas etapas 4

Conceitos baacutesicos 6Etapa 1 configurar uma conta 6

Cadastre-se na AWS 6Criar um usuaacuterio do IAM 7Proacutexima etapa 7

Etapa 2 Configurar aAWS CLI 7Proacutexima etapa 8

Etapa 3 Conceitos baacutesicos (console) 8Proacutexima etapa 10

Etapa 4 conceitos baacutesicos (AWS CLI) 10Traduzir textos usando a linha de comando 11Traduzir textos usando um arquivo JSON 11Proacutexima etapa 12

Etapa 5 Conceitos baacutesicos (SDK) 12Uso do SDK para Java 12Como usar o AWS SDK para Python 13Uso do Mobile SDK para Android 13Uso do Mobile SDK for iOS 15

Exemplos 17Uso do Amazon Polly com o Amazon Translate 17

Code 18Uso do Amazon Translate para traduzir um canal de bate-papo 21Uso do Amazon Translate com o DynamoDB 29

Coacutedigo de exemplo 30Uso do Amazon Translate para traduzir uma paacutegina da Web 32Uso do Amazon Translate para traduzir grandes documentos 35Uso do Signature versatildeo 4 com o Amazon Translate 37

Configuraccedilatildeo 37Code 38

Autenticaccedilatildeo e controle de acesso 41Autenticaccedilatildeo 41Controle de acesso 42Visatildeo geral do gerenciamento de acesso 42

Gerenciar o acesso a accedilotildees 43Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais 44Especificaccedilatildeo de condiccedilotildees em uma poliacutetica 44

Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate 44Referecircncia de permissotildees da API do Amazon Translate 45

Monitoramento 46Monitorar com o CloudWatch 48

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate 48Visualizar meacutetricas do Amazon Translate 48

CloudWatch Meacutetricas e dimensotildees do Amazon Translate 49CloudWatch Metrics for Amazon Translate 49CloudWatch Dimensions for Amazon Translate 50

Diretrizes e limites 51Regiotildees compatiacuteveis 51Limitaccedilatildeo 51

iii

Tradutor da Amazon Guia do desenvolvedor

Diretrizes 51Limites 51

Histoacuterico de documentos 52API Reference 53

Cabeccedilalhos HTTP 53Actions 53

TranslateText 54Data Types 57Common Errors 57Common Parameters 58

AWS Glossary 61

iv

Tradutor da Amazon Guia do desenvolvedorVocecirc eacute um usuaacuterio iniciante do Amazon Translate

O que eacute o Amazon TranslateO Amazon Translate traduz documentos de doze idiomas para o inglecircs e do inglecircs para estes idiomas

bull Aacuterabebull Chinecircs (simplificado)bull Chinecircs (tradicional)bull Tchecobull Francecircsbull Alematildeobull Italianobull Japonecircsbull Portuguecircsbull Russobull Espanholbull Turco

O Amazon Translate usa tecnologias avanccediladas de machine learning para fornecer traduccedilotildees de altaqualidade sob demanda Use-o para traduzir documentos ou texto natildeo estruturado ou para criar aplicativosque funcionem em vaacuterios idiomas

Por exemplo eacute possiacutevel

bull Integre o Amazon Translate a seus aplicativos para habilitar experiecircncias de usuaacuterio multiliacutenguesbull Traduza conteuacutedo da empresa como atas de reuniatildeo relatoacuterios teacutecnicos artigos da base de

conhecimento postagens e muito maisbull Traduza comunicaccedilotildees interpessoais como e-mail bate-papo no jogo bate-papo de atendimento ao

cliente e muito mais permitindo que clientes e funcionaacuterios se conectem no idioma preferidobull Use o Amazon Translate como parte do fluxo de trabalho da sua empresa para dados de entrada

bull Analise texto como miacutedias sociais e feeds de notiacutecias em vaacuterios idiomasbull Informaccedilotildees de pesquisa como para casos de eDiscovery em vaacuterios idiomas

bull Integre o Amazon Translate a outros serviccedilos da AWS para habilitar o processamento independente deidiomabull Use-o com o Amazon Comprehend para extrair entidades nomeadas sentimentos e frases-chave de

texto natildeo estruturado como streamings de redes sociaisbull Use-o com o Amazon Transcribe para disponibilizar legendas e captions ao vivo em vaacuterios idiomasbull Use-o com o Amazon Polly para fazer leitura de conteuacutedo traduzido em voz altabull Use-o com o Amazon S3 para traduzir repositoacuterios de documentosbull Use-o com o Amazon DynamoDB o Amazon Aurora e o Amazon Redshift para traduzir textos

armazenados em bancos de dadosbull Use-o com o AWS Lambda ou o AWS Glue para obter uma perfeita integraccedilatildeo de fluxo de trabalho

Vocecirc eacute um usuaacuterio iniciante do Amazon TranslateCaso seja um usuaacuterio iniciante recomendamos que vocecirc leia as seccedilotildees a seguir em ordem

1

Tradutor da Amazon Guia do desenvolvedorVocecirc eacute um usuaacuterio iniciante do Amazon Translate

1 Como Amazon Translate funciona (p 3)mdashApresenta o Amazon Translate2 Conceitos baacutesicos do Amazon Translate (p 6)mdashExplica como configurar sua conta da AWS e testar

o Amazon Translate3 Exemplos (p 17)mdashFornece exemplos de coacutedigo em Java e Python Use-os para descobrir como o

Amazon Translate funciona4 API Reference (p 53)mdashConteacutem a documentaccedilatildeo de referecircncia das operaccedilotildees do Amazon Translate

2

Tradutor da Amazon Guia do desenvolvedor

Como Amazon Translate funcionaO Amazon Translate eacute baseado em redes neurais que foram treinadas para traduzir do inglecircs para osseguintes idiomas ou destes idiomas para o inglecircs

bull Aacuterabebull Chinecircs (simplificado)bull Chinecircs (tradicional)bull Tchecobull Francecircsbull Alematildeobull Italianobull Japonecircsbull Portuguecircsbull Russobull Espanholbull Turco

Vocecirc tambeacutem pode traduzir o texto de qualquer um desses idiomas para outro Para isso basta traduzir otexto original para o inglecircs e depois para o idioma de destino

Ao trabalhar com o Amazon Translate vocecirc forneceraacute texto de origem e obteraacute o texto de saiacuteda

bull Source text (Texto de origem)mdashO texto que vocecirc deseja traduzir O texto de origem deve ser inserido noformato UTF-8

bull Output text (Texto de saiacuteda)mdashO texto que o Amazon Translate traduziu para o idioma de destino O textode saiacuteda tambeacutem estaacute no formato UTF-8 Dependendo dos idiomas de origem e de destino pode havermais caracteres no texto de saiacuteda do que no texto de entrada

O modelo de traduccedilatildeo tem dois componentes o codificador e o decodificador O codificador lecirc uma palavrapor vez na frase original e cria uma representaccedilatildeo semacircntica que captura seu significado O decodificadorusa a representaccedilatildeo semacircntica para gerar uma traduccedilatildeo uma palavra por vez no idioma de destino

O Amazon Translate usa mecanismos de atenccedilatildeo para entender o contexto Isso ajuda a decidir quaispalavras no texto de origem satildeo mais relevantes para gerar a proacutexima palavra no texto de destino Osmecanismos de atenccedilatildeo permitem que o decodificador se concentre nas partes mais relevantes de umasentenccedila do texto de origem Isso garante que o decodificador traduza corretamente palavras ou frasesambiacuteguas

A palavra do texto de destino que o modelo gera se torna entrada para o decodificador A rede continuagerando palavras ateacute chegar ao final da frase

Para traduzir o texto vocecirc chama o meacutetodo TranslateText (p 54) fornece o texto de origem e informa oidioma de destino usando o coacutedigo de idioma listado na tabela a seguir

Idioma Code

Aacuterabe ar

Chinecircs (simplificado) zh

Chinecircs (tradicional) zh-TW

3

Tradutor da Amazon Guia do desenvolvedorDetecccedilatildeo automaacutetica de idioma

Idioma Code

Tcheco cs

Inglecircs en

Francecircs fr

Alematildeo de

Italiano it

Japonecircs ja

Portuguecircs pt

Russo ru

Espanhol es

Turco tr

Para traduzir texto de qualquer idioma diferente do inglecircs para outro traduza-o para o inglecircs primeiro eem seguida traduza o texto de saiacuteda em inglecircs para o idioma de destino

O Amazon Translate pode detectar automaticamente o idioma de origem Para a detecccedilatildeo automaacuteticade idioma especifique auto como o idioma de origem Quando vocecirc fornece texto de origem o AmazonTranslate chama Amazon Comprehend para detectar o idioma de origem

Detecccedilatildeo automaacutetica de idiomaO Amazon Translate pode detectar automaticamente o idioma usado no seu texto de origem Para usara detecccedilatildeo automaacutetica de idioma especifique auto como o idioma de origem O Amazon Translatechama Amazon Comprehend em seu nome para determinar o idioma usado no texto de origem Aoescolher a detecccedilatildeo automaacutetica de idioma vocecirc concorda com os termos e acordos de serviccedilo do AmazonComprehend Para obter mais informaccedilotildees sobre a definiccedilatildeo de preccedilo do Amazon Comprehend consulte Definiccedilatildeo de preccedilo do Amazon Comprehend

Processamento de exceccedilotildeesSe vocecirc especificar um idioma de origem ou de destino que natildeo tenha suporte o Amazon Translateretornaraacute as seguintes exceccedilotildees

bull UnsupportedLanguagePairException ndash o Amazon Translate oferece suporte agrave traduccedilatildeo entre inglecircs eoutros seis idiomas O idioma de origem ou o idioma de destino precisa ser inglecircs

bull DetectedLanguageLowConfidenceException ndash se vocecirc usar a detecccedilatildeo automaacutetica de idioma e oAmazon Translate tiver pouca confianccedila em relaccedilatildeo agrave detecccedilatildeo do idioma de origem ele retornaraacute essaexceccedilatildeo Se um niacutevel de confianccedila baixo for aceitaacutevel vocecirc poderaacute usar o idioma de origem retornadona exceccedilatildeo

Proacuteximas etapasAgora que vocecirc aprendeu sobre o Amazon Translate poderaacute explorar as seccedilotildees a seguir para saber maissobre como criar uma soluccedilatildeo

4

Tradutor da Amazon Guia do desenvolvedorProacuteximas etapas

bull Conceitos baacutesicos do Amazon Translate (p 6)bull Exemplos (p 17)

5

Tradutor da Amazon Guia do desenvolvedorEtapa 1 configurar uma conta

Conceitos baacutesicos do AmazonTranslate

Para comeccedilar a usar o Amazon Translate configure uma conta da AWS e crie um usuaacuterio do AWSIdentity and Access Management (IAM) Para usar a AWS Command Line Interface (AWS CLI) baixe-a econfigure-a

Toacutepicosbull Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador (p 6)bull Etapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)bull Etapa 3 Conceitos baacutesicos (console) (p 8)bull Etapa 4 conceitos baacutesicos (AWS CLI) (p 10)bull Etapa 5 Conceitos baacutesicos (SDK) (p 12)

Etapa 1 configurar uma conta da AWS e criar umusuaacuterio administrador

Antes de usar Amazon Translate pela primeira vez execute as seguintes tarefas

1 Cadastre-se na AWS (p 6)2 Criar um usuaacuterio do IAM (p 7)

Cadastre-se na AWSAo se cadastrar na Amazon Web Services (AWS) sua conta seraacute automaticamente cadastrada para todosos serviccedilos da AWS incluindo o Amazon Translate Vocecirc seraacute cobrado apenas pelos serviccedilos que usar

Com o Amazon Translate vocecirc paga apenas pelos recursos que usa Se vocecirc eacute um novo cliente da AWSpode comeccedilar a usar o Amazon Translate gratuitamente Para obter mais informaccedilotildees consulte Niacutevel deuso gratuito da AWS

Se vocecirc jaacute tem uma conta da AWS vaacute para a proacutexima seccedilatildeo

Para criar uma conta da AWS

1 Abra httpsawsamazoncom e escolha Create an AWS Account (Criar uma conta da AWS)

Note

Se vocecirc fez login no Console de gerenciamento da AWS usando credenciais do Usuaacuterioraiz da conta da AWS escolha Sign in to a different account (Fazer login em uma contadiferente) Se vocecirc fez login no console usando as credenciais do IAM escolha Sign-in using

6

Tradutor da Amazon Guia do desenvolvedorCriar um usuaacuterio do IAM

root account credentials (Fazer login usando credenciais da conta raiz) Em seguida escolhaCreate a new AWS account (Criar uma conta da AWS)

2 Siga as instruccedilotildees online

Parte do procedimento de cadastro envolve receber uma chamada telefocircnica e digitar um coacutedigo deverificaccedilatildeo usando o teclado do telefone

Registre o ID de sua conta da AWS pois precisaraacute dele na proacutexima tarefa

Criar um usuaacuterio do IAMOs serviccedilos da AWS como o Amazon Translate exigem que vocecirc forneccedila credenciais quando acessaacute-losIsso permite que o serviccedilo determine se vocecirc tem permissotildees para acessar os recursos dele

Recomendamos que vocecirc acesse a AWS usando o AWS Identity and Access Management (IAM) emvez das credenciais de sua conta da AWS Para usar o IAM a fim de acessar a AWS crie um usuaacuteriodo IAM adicione o usuaacuterio a um grupo do IAM com permissotildees administrativas e em seguida concedapermissotildees administrativas ao usuaacuterio do IAM Em seguida vocecirc pode acessar a AWS usando um URLespecial e as credenciais do usuaacuterio do IAM

Os exerciacutecios deste guia pressupotildeem que vocecirc tenha um usuaacuterio do IAM chamado adminuser comprivileacutegios de administrador

Para criar um usuaacuterio administrador do

bull Em sua conta da AWS crie um usuaacuterio administrador chamado adminuser Para obter instruccedilotildeesconsulte Criar o primeiro usuaacuterio do IAM e grupo de administradores no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre IAM consulte o seguinte

bull AWS Identity and Access Management (IAM)bull Conceitos baacutesicosbull Guia do usuaacuterio do IAM

Proacutexima etapaEtapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)

Etapa 2 configurar a AWS Command Line Interface(AWS CLI)

Use a AWS CLI para fazer chamadas interativas para o Amazon Translate

Para configurar a AWS CLI

1 Baixe e configure a AWS CLI Para obter instruccedilotildees consulte os toacutepicos a seguir no Guia do usuaacuteriodo AWS Command Line Interface

bull Comeccedilar a usar a AWS Command Line Interface

7

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

bull Configurar a AWS Command Line Interface2 No arquivo AWS CLI da config adicione um perfil nomeado para o usuaacuterio administrador

[profile adminuser]aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-region

Use esse perfil ao executar os comandos da AWS CLI Para obter mais informaccedilotildees sobre perfisnomeados consulte Perfis nomeados no Guia do usuaacuterio do AWS Command Line Interface Paraobter uma lista das regiotildees da AWS consulte Regiotildees e endpoints no Referecircncia geral do AmazonWeb Services

3 Verifique a configuraccedilatildeo digitando o seguinte comando de ajuda no prompt de comando

aws translate help

Vocecirc deve visualizar uma breve descriccedilatildeo do Amazon Translate e uma lista dos comandosdisponiacuteveis

Proacutexima etapaEtapa 3 Conceitos baacutesicos (console) (p 8)

Etapa 3 Conceitos baacutesicos (console)A maneira mais faacutecil de comeccedilar a usar o Amazon Translate eacute traduzir um texto por meio do consoleVocecirc pode traduzir ateacute 5000 caracteres usando o console Se vocecirc ainda natildeo revisou os conceitos e aterminologia em Como Amazon Translate funciona (p 3) recomendamos fazer isso antes de continuar

Para comeccedilar a traduzir um texto acesse o Console de gerenciamento da AWS e abra o console doAmazon Translate

Se esta eacute a sua primeira vez usando o Amazon Translate selecione Try (Experimentar o AmazonTranslate)

Em Translate text selecione os idiomas de origem e de destino Insira o texto que vocecirc deseja traduzir nacaixa de texto agrave esquerda O texto traduzido eacute exibido na caixa de texto agrave direita

8

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedor

Tradutor da Amazon Guia do desenvolvedorCopyright copy 2018 Amazon Web Services Inc andor its affiliates All rights reserved

Amazons trademarks and trade dress may not be used in connection with any product or service that is not Amazons in any mannerthat is likely to cause confusion among customers or in any manner that disparages or discredits Amazon All other trademarks notowned by Amazon are the property of their respective owners who may or may not be affiliated with connected to or sponsored byAmazon

Tradutor da Amazon Guia do desenvolvedor

Table of ContentsO que eacute o Amazon Translate 1

Vocecirc eacute um usuaacuterio iniciante do Amazon Translate 1Como ele funciona 3

Detecccedilatildeo automaacutetica de idioma 4Processamento de exceccedilotildees 4Proacuteximas etapas 4

Conceitos baacutesicos 6Etapa 1 configurar uma conta 6

Cadastre-se na AWS 6Criar um usuaacuterio do IAM 7Proacutexima etapa 7

Etapa 2 Configurar aAWS CLI 7Proacutexima etapa 8

Etapa 3 Conceitos baacutesicos (console) 8Proacutexima etapa 10

Etapa 4 conceitos baacutesicos (AWS CLI) 10Traduzir textos usando a linha de comando 11Traduzir textos usando um arquivo JSON 11Proacutexima etapa 12

Etapa 5 Conceitos baacutesicos (SDK) 12Uso do SDK para Java 12Como usar o AWS SDK para Python 13Uso do Mobile SDK para Android 13Uso do Mobile SDK for iOS 15

Exemplos 17Uso do Amazon Polly com o Amazon Translate 17

Code 18Uso do Amazon Translate para traduzir um canal de bate-papo 21Uso do Amazon Translate com o DynamoDB 29

Coacutedigo de exemplo 30Uso do Amazon Translate para traduzir uma paacutegina da Web 32Uso do Amazon Translate para traduzir grandes documentos 35Uso do Signature versatildeo 4 com o Amazon Translate 37

Configuraccedilatildeo 37Code 38

Autenticaccedilatildeo e controle de acesso 41Autenticaccedilatildeo 41Controle de acesso 42Visatildeo geral do gerenciamento de acesso 42

Gerenciar o acesso a accedilotildees 43Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais 44Especificaccedilatildeo de condiccedilotildees em uma poliacutetica 44

Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate 44Referecircncia de permissotildees da API do Amazon Translate 45

Monitoramento 46Monitorar com o CloudWatch 48

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate 48Visualizar meacutetricas do Amazon Translate 48

CloudWatch Meacutetricas e dimensotildees do Amazon Translate 49CloudWatch Metrics for Amazon Translate 49CloudWatch Dimensions for Amazon Translate 50

Diretrizes e limites 51Regiotildees compatiacuteveis 51Limitaccedilatildeo 51

iii

Tradutor da Amazon Guia do desenvolvedor

Diretrizes 51Limites 51

Histoacuterico de documentos 52API Reference 53

Cabeccedilalhos HTTP 53Actions 53

TranslateText 54Data Types 57Common Errors 57Common Parameters 58

AWS Glossary 61

iv

Tradutor da Amazon Guia do desenvolvedorVocecirc eacute um usuaacuterio iniciante do Amazon Translate

O que eacute o Amazon TranslateO Amazon Translate traduz documentos de doze idiomas para o inglecircs e do inglecircs para estes idiomas

bull Aacuterabebull Chinecircs (simplificado)bull Chinecircs (tradicional)bull Tchecobull Francecircsbull Alematildeobull Italianobull Japonecircsbull Portuguecircsbull Russobull Espanholbull Turco

O Amazon Translate usa tecnologias avanccediladas de machine learning para fornecer traduccedilotildees de altaqualidade sob demanda Use-o para traduzir documentos ou texto natildeo estruturado ou para criar aplicativosque funcionem em vaacuterios idiomas

Por exemplo eacute possiacutevel

bull Integre o Amazon Translate a seus aplicativos para habilitar experiecircncias de usuaacuterio multiliacutenguesbull Traduza conteuacutedo da empresa como atas de reuniatildeo relatoacuterios teacutecnicos artigos da base de

conhecimento postagens e muito maisbull Traduza comunicaccedilotildees interpessoais como e-mail bate-papo no jogo bate-papo de atendimento ao

cliente e muito mais permitindo que clientes e funcionaacuterios se conectem no idioma preferidobull Use o Amazon Translate como parte do fluxo de trabalho da sua empresa para dados de entrada

bull Analise texto como miacutedias sociais e feeds de notiacutecias em vaacuterios idiomasbull Informaccedilotildees de pesquisa como para casos de eDiscovery em vaacuterios idiomas

bull Integre o Amazon Translate a outros serviccedilos da AWS para habilitar o processamento independente deidiomabull Use-o com o Amazon Comprehend para extrair entidades nomeadas sentimentos e frases-chave de

texto natildeo estruturado como streamings de redes sociaisbull Use-o com o Amazon Transcribe para disponibilizar legendas e captions ao vivo em vaacuterios idiomasbull Use-o com o Amazon Polly para fazer leitura de conteuacutedo traduzido em voz altabull Use-o com o Amazon S3 para traduzir repositoacuterios de documentosbull Use-o com o Amazon DynamoDB o Amazon Aurora e o Amazon Redshift para traduzir textos

armazenados em bancos de dadosbull Use-o com o AWS Lambda ou o AWS Glue para obter uma perfeita integraccedilatildeo de fluxo de trabalho

Vocecirc eacute um usuaacuterio iniciante do Amazon TranslateCaso seja um usuaacuterio iniciante recomendamos que vocecirc leia as seccedilotildees a seguir em ordem

1

Tradutor da Amazon Guia do desenvolvedorVocecirc eacute um usuaacuterio iniciante do Amazon Translate

1 Como Amazon Translate funciona (p 3)mdashApresenta o Amazon Translate2 Conceitos baacutesicos do Amazon Translate (p 6)mdashExplica como configurar sua conta da AWS e testar

o Amazon Translate3 Exemplos (p 17)mdashFornece exemplos de coacutedigo em Java e Python Use-os para descobrir como o

Amazon Translate funciona4 API Reference (p 53)mdashConteacutem a documentaccedilatildeo de referecircncia das operaccedilotildees do Amazon Translate

2

Tradutor da Amazon Guia do desenvolvedor

Como Amazon Translate funcionaO Amazon Translate eacute baseado em redes neurais que foram treinadas para traduzir do inglecircs para osseguintes idiomas ou destes idiomas para o inglecircs

bull Aacuterabebull Chinecircs (simplificado)bull Chinecircs (tradicional)bull Tchecobull Francecircsbull Alematildeobull Italianobull Japonecircsbull Portuguecircsbull Russobull Espanholbull Turco

Vocecirc tambeacutem pode traduzir o texto de qualquer um desses idiomas para outro Para isso basta traduzir otexto original para o inglecircs e depois para o idioma de destino

Ao trabalhar com o Amazon Translate vocecirc forneceraacute texto de origem e obteraacute o texto de saiacuteda

bull Source text (Texto de origem)mdashO texto que vocecirc deseja traduzir O texto de origem deve ser inserido noformato UTF-8

bull Output text (Texto de saiacuteda)mdashO texto que o Amazon Translate traduziu para o idioma de destino O textode saiacuteda tambeacutem estaacute no formato UTF-8 Dependendo dos idiomas de origem e de destino pode havermais caracteres no texto de saiacuteda do que no texto de entrada

O modelo de traduccedilatildeo tem dois componentes o codificador e o decodificador O codificador lecirc uma palavrapor vez na frase original e cria uma representaccedilatildeo semacircntica que captura seu significado O decodificadorusa a representaccedilatildeo semacircntica para gerar uma traduccedilatildeo uma palavra por vez no idioma de destino

O Amazon Translate usa mecanismos de atenccedilatildeo para entender o contexto Isso ajuda a decidir quaispalavras no texto de origem satildeo mais relevantes para gerar a proacutexima palavra no texto de destino Osmecanismos de atenccedilatildeo permitem que o decodificador se concentre nas partes mais relevantes de umasentenccedila do texto de origem Isso garante que o decodificador traduza corretamente palavras ou frasesambiacuteguas

A palavra do texto de destino que o modelo gera se torna entrada para o decodificador A rede continuagerando palavras ateacute chegar ao final da frase

Para traduzir o texto vocecirc chama o meacutetodo TranslateText (p 54) fornece o texto de origem e informa oidioma de destino usando o coacutedigo de idioma listado na tabela a seguir

Idioma Code

Aacuterabe ar

Chinecircs (simplificado) zh

Chinecircs (tradicional) zh-TW

3

Tradutor da Amazon Guia do desenvolvedorDetecccedilatildeo automaacutetica de idioma

Idioma Code

Tcheco cs

Inglecircs en

Francecircs fr

Alematildeo de

Italiano it

Japonecircs ja

Portuguecircs pt

Russo ru

Espanhol es

Turco tr

Para traduzir texto de qualquer idioma diferente do inglecircs para outro traduza-o para o inglecircs primeiro eem seguida traduza o texto de saiacuteda em inglecircs para o idioma de destino

O Amazon Translate pode detectar automaticamente o idioma de origem Para a detecccedilatildeo automaacuteticade idioma especifique auto como o idioma de origem Quando vocecirc fornece texto de origem o AmazonTranslate chama Amazon Comprehend para detectar o idioma de origem

Detecccedilatildeo automaacutetica de idiomaO Amazon Translate pode detectar automaticamente o idioma usado no seu texto de origem Para usara detecccedilatildeo automaacutetica de idioma especifique auto como o idioma de origem O Amazon Translatechama Amazon Comprehend em seu nome para determinar o idioma usado no texto de origem Aoescolher a detecccedilatildeo automaacutetica de idioma vocecirc concorda com os termos e acordos de serviccedilo do AmazonComprehend Para obter mais informaccedilotildees sobre a definiccedilatildeo de preccedilo do Amazon Comprehend consulte Definiccedilatildeo de preccedilo do Amazon Comprehend

Processamento de exceccedilotildeesSe vocecirc especificar um idioma de origem ou de destino que natildeo tenha suporte o Amazon Translateretornaraacute as seguintes exceccedilotildees

bull UnsupportedLanguagePairException ndash o Amazon Translate oferece suporte agrave traduccedilatildeo entre inglecircs eoutros seis idiomas O idioma de origem ou o idioma de destino precisa ser inglecircs

bull DetectedLanguageLowConfidenceException ndash se vocecirc usar a detecccedilatildeo automaacutetica de idioma e oAmazon Translate tiver pouca confianccedila em relaccedilatildeo agrave detecccedilatildeo do idioma de origem ele retornaraacute essaexceccedilatildeo Se um niacutevel de confianccedila baixo for aceitaacutevel vocecirc poderaacute usar o idioma de origem retornadona exceccedilatildeo

Proacuteximas etapasAgora que vocecirc aprendeu sobre o Amazon Translate poderaacute explorar as seccedilotildees a seguir para saber maissobre como criar uma soluccedilatildeo

4

Tradutor da Amazon Guia do desenvolvedorProacuteximas etapas

bull Conceitos baacutesicos do Amazon Translate (p 6)bull Exemplos (p 17)

5

Tradutor da Amazon Guia do desenvolvedorEtapa 1 configurar uma conta

Conceitos baacutesicos do AmazonTranslate

Para comeccedilar a usar o Amazon Translate configure uma conta da AWS e crie um usuaacuterio do AWSIdentity and Access Management (IAM) Para usar a AWS Command Line Interface (AWS CLI) baixe-a econfigure-a

Toacutepicosbull Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador (p 6)bull Etapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)bull Etapa 3 Conceitos baacutesicos (console) (p 8)bull Etapa 4 conceitos baacutesicos (AWS CLI) (p 10)bull Etapa 5 Conceitos baacutesicos (SDK) (p 12)

Etapa 1 configurar uma conta da AWS e criar umusuaacuterio administrador

Antes de usar Amazon Translate pela primeira vez execute as seguintes tarefas

1 Cadastre-se na AWS (p 6)2 Criar um usuaacuterio do IAM (p 7)

Cadastre-se na AWSAo se cadastrar na Amazon Web Services (AWS) sua conta seraacute automaticamente cadastrada para todosos serviccedilos da AWS incluindo o Amazon Translate Vocecirc seraacute cobrado apenas pelos serviccedilos que usar

Com o Amazon Translate vocecirc paga apenas pelos recursos que usa Se vocecirc eacute um novo cliente da AWSpode comeccedilar a usar o Amazon Translate gratuitamente Para obter mais informaccedilotildees consulte Niacutevel deuso gratuito da AWS

Se vocecirc jaacute tem uma conta da AWS vaacute para a proacutexima seccedilatildeo

Para criar uma conta da AWS

1 Abra httpsawsamazoncom e escolha Create an AWS Account (Criar uma conta da AWS)

Note

Se vocecirc fez login no Console de gerenciamento da AWS usando credenciais do Usuaacuterioraiz da conta da AWS escolha Sign in to a different account (Fazer login em uma contadiferente) Se vocecirc fez login no console usando as credenciais do IAM escolha Sign-in using

6

Tradutor da Amazon Guia do desenvolvedorCriar um usuaacuterio do IAM

root account credentials (Fazer login usando credenciais da conta raiz) Em seguida escolhaCreate a new AWS account (Criar uma conta da AWS)

2 Siga as instruccedilotildees online

Parte do procedimento de cadastro envolve receber uma chamada telefocircnica e digitar um coacutedigo deverificaccedilatildeo usando o teclado do telefone

Registre o ID de sua conta da AWS pois precisaraacute dele na proacutexima tarefa

Criar um usuaacuterio do IAMOs serviccedilos da AWS como o Amazon Translate exigem que vocecirc forneccedila credenciais quando acessaacute-losIsso permite que o serviccedilo determine se vocecirc tem permissotildees para acessar os recursos dele

Recomendamos que vocecirc acesse a AWS usando o AWS Identity and Access Management (IAM) emvez das credenciais de sua conta da AWS Para usar o IAM a fim de acessar a AWS crie um usuaacuteriodo IAM adicione o usuaacuterio a um grupo do IAM com permissotildees administrativas e em seguida concedapermissotildees administrativas ao usuaacuterio do IAM Em seguida vocecirc pode acessar a AWS usando um URLespecial e as credenciais do usuaacuterio do IAM

Os exerciacutecios deste guia pressupotildeem que vocecirc tenha um usuaacuterio do IAM chamado adminuser comprivileacutegios de administrador

Para criar um usuaacuterio administrador do

bull Em sua conta da AWS crie um usuaacuterio administrador chamado adminuser Para obter instruccedilotildeesconsulte Criar o primeiro usuaacuterio do IAM e grupo de administradores no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre IAM consulte o seguinte

bull AWS Identity and Access Management (IAM)bull Conceitos baacutesicosbull Guia do usuaacuterio do IAM

Proacutexima etapaEtapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)

Etapa 2 configurar a AWS Command Line Interface(AWS CLI)

Use a AWS CLI para fazer chamadas interativas para o Amazon Translate

Para configurar a AWS CLI

1 Baixe e configure a AWS CLI Para obter instruccedilotildees consulte os toacutepicos a seguir no Guia do usuaacuteriodo AWS Command Line Interface

bull Comeccedilar a usar a AWS Command Line Interface

7

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

bull Configurar a AWS Command Line Interface2 No arquivo AWS CLI da config adicione um perfil nomeado para o usuaacuterio administrador

[profile adminuser]aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-region

Use esse perfil ao executar os comandos da AWS CLI Para obter mais informaccedilotildees sobre perfisnomeados consulte Perfis nomeados no Guia do usuaacuterio do AWS Command Line Interface Paraobter uma lista das regiotildees da AWS consulte Regiotildees e endpoints no Referecircncia geral do AmazonWeb Services

3 Verifique a configuraccedilatildeo digitando o seguinte comando de ajuda no prompt de comando

aws translate help

Vocecirc deve visualizar uma breve descriccedilatildeo do Amazon Translate e uma lista dos comandosdisponiacuteveis

Proacutexima etapaEtapa 3 Conceitos baacutesicos (console) (p 8)

Etapa 3 Conceitos baacutesicos (console)A maneira mais faacutecil de comeccedilar a usar o Amazon Translate eacute traduzir um texto por meio do consoleVocecirc pode traduzir ateacute 5000 caracteres usando o console Se vocecirc ainda natildeo revisou os conceitos e aterminologia em Como Amazon Translate funciona (p 3) recomendamos fazer isso antes de continuar

Para comeccedilar a traduzir um texto acesse o Console de gerenciamento da AWS e abra o console doAmazon Translate

Se esta eacute a sua primeira vez usando o Amazon Translate selecione Try (Experimentar o AmazonTranslate)

Em Translate text selecione os idiomas de origem e de destino Insira o texto que vocecirc deseja traduzir nacaixa de texto agrave esquerda O texto traduzido eacute exibido na caixa de texto agrave direita

8

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedor

Table of ContentsO que eacute o Amazon Translate 1

Vocecirc eacute um usuaacuterio iniciante do Amazon Translate 1Como ele funciona 3

Detecccedilatildeo automaacutetica de idioma 4Processamento de exceccedilotildees 4Proacuteximas etapas 4

Conceitos baacutesicos 6Etapa 1 configurar uma conta 6

Cadastre-se na AWS 6Criar um usuaacuterio do IAM 7Proacutexima etapa 7

Etapa 2 Configurar aAWS CLI 7Proacutexima etapa 8

Etapa 3 Conceitos baacutesicos (console) 8Proacutexima etapa 10

Etapa 4 conceitos baacutesicos (AWS CLI) 10Traduzir textos usando a linha de comando 11Traduzir textos usando um arquivo JSON 11Proacutexima etapa 12

Etapa 5 Conceitos baacutesicos (SDK) 12Uso do SDK para Java 12Como usar o AWS SDK para Python 13Uso do Mobile SDK para Android 13Uso do Mobile SDK for iOS 15

Exemplos 17Uso do Amazon Polly com o Amazon Translate 17

Code 18Uso do Amazon Translate para traduzir um canal de bate-papo 21Uso do Amazon Translate com o DynamoDB 29

Coacutedigo de exemplo 30Uso do Amazon Translate para traduzir uma paacutegina da Web 32Uso do Amazon Translate para traduzir grandes documentos 35Uso do Signature versatildeo 4 com o Amazon Translate 37

Configuraccedilatildeo 37Code 38

Autenticaccedilatildeo e controle de acesso 41Autenticaccedilatildeo 41Controle de acesso 42Visatildeo geral do gerenciamento de acesso 42

Gerenciar o acesso a accedilotildees 43Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais 44Especificaccedilatildeo de condiccedilotildees em uma poliacutetica 44

Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate 44Referecircncia de permissotildees da API do Amazon Translate 45

Monitoramento 46Monitorar com o CloudWatch 48

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate 48Visualizar meacutetricas do Amazon Translate 48

CloudWatch Meacutetricas e dimensotildees do Amazon Translate 49CloudWatch Metrics for Amazon Translate 49CloudWatch Dimensions for Amazon Translate 50

Diretrizes e limites 51Regiotildees compatiacuteveis 51Limitaccedilatildeo 51

iii

Tradutor da Amazon Guia do desenvolvedor

Diretrizes 51Limites 51

Histoacuterico de documentos 52API Reference 53

Cabeccedilalhos HTTP 53Actions 53

TranslateText 54Data Types 57Common Errors 57Common Parameters 58

AWS Glossary 61

iv

Tradutor da Amazon Guia do desenvolvedorVocecirc eacute um usuaacuterio iniciante do Amazon Translate

O que eacute o Amazon TranslateO Amazon Translate traduz documentos de doze idiomas para o inglecircs e do inglecircs para estes idiomas

bull Aacuterabebull Chinecircs (simplificado)bull Chinecircs (tradicional)bull Tchecobull Francecircsbull Alematildeobull Italianobull Japonecircsbull Portuguecircsbull Russobull Espanholbull Turco

O Amazon Translate usa tecnologias avanccediladas de machine learning para fornecer traduccedilotildees de altaqualidade sob demanda Use-o para traduzir documentos ou texto natildeo estruturado ou para criar aplicativosque funcionem em vaacuterios idiomas

Por exemplo eacute possiacutevel

bull Integre o Amazon Translate a seus aplicativos para habilitar experiecircncias de usuaacuterio multiliacutenguesbull Traduza conteuacutedo da empresa como atas de reuniatildeo relatoacuterios teacutecnicos artigos da base de

conhecimento postagens e muito maisbull Traduza comunicaccedilotildees interpessoais como e-mail bate-papo no jogo bate-papo de atendimento ao

cliente e muito mais permitindo que clientes e funcionaacuterios se conectem no idioma preferidobull Use o Amazon Translate como parte do fluxo de trabalho da sua empresa para dados de entrada

bull Analise texto como miacutedias sociais e feeds de notiacutecias em vaacuterios idiomasbull Informaccedilotildees de pesquisa como para casos de eDiscovery em vaacuterios idiomas

bull Integre o Amazon Translate a outros serviccedilos da AWS para habilitar o processamento independente deidiomabull Use-o com o Amazon Comprehend para extrair entidades nomeadas sentimentos e frases-chave de

texto natildeo estruturado como streamings de redes sociaisbull Use-o com o Amazon Transcribe para disponibilizar legendas e captions ao vivo em vaacuterios idiomasbull Use-o com o Amazon Polly para fazer leitura de conteuacutedo traduzido em voz altabull Use-o com o Amazon S3 para traduzir repositoacuterios de documentosbull Use-o com o Amazon DynamoDB o Amazon Aurora e o Amazon Redshift para traduzir textos

armazenados em bancos de dadosbull Use-o com o AWS Lambda ou o AWS Glue para obter uma perfeita integraccedilatildeo de fluxo de trabalho

Vocecirc eacute um usuaacuterio iniciante do Amazon TranslateCaso seja um usuaacuterio iniciante recomendamos que vocecirc leia as seccedilotildees a seguir em ordem

1

Tradutor da Amazon Guia do desenvolvedorVocecirc eacute um usuaacuterio iniciante do Amazon Translate

1 Como Amazon Translate funciona (p 3)mdashApresenta o Amazon Translate2 Conceitos baacutesicos do Amazon Translate (p 6)mdashExplica como configurar sua conta da AWS e testar

o Amazon Translate3 Exemplos (p 17)mdashFornece exemplos de coacutedigo em Java e Python Use-os para descobrir como o

Amazon Translate funciona4 API Reference (p 53)mdashConteacutem a documentaccedilatildeo de referecircncia das operaccedilotildees do Amazon Translate

2

Tradutor da Amazon Guia do desenvolvedor

Como Amazon Translate funcionaO Amazon Translate eacute baseado em redes neurais que foram treinadas para traduzir do inglecircs para osseguintes idiomas ou destes idiomas para o inglecircs

bull Aacuterabebull Chinecircs (simplificado)bull Chinecircs (tradicional)bull Tchecobull Francecircsbull Alematildeobull Italianobull Japonecircsbull Portuguecircsbull Russobull Espanholbull Turco

Vocecirc tambeacutem pode traduzir o texto de qualquer um desses idiomas para outro Para isso basta traduzir otexto original para o inglecircs e depois para o idioma de destino

Ao trabalhar com o Amazon Translate vocecirc forneceraacute texto de origem e obteraacute o texto de saiacuteda

bull Source text (Texto de origem)mdashO texto que vocecirc deseja traduzir O texto de origem deve ser inserido noformato UTF-8

bull Output text (Texto de saiacuteda)mdashO texto que o Amazon Translate traduziu para o idioma de destino O textode saiacuteda tambeacutem estaacute no formato UTF-8 Dependendo dos idiomas de origem e de destino pode havermais caracteres no texto de saiacuteda do que no texto de entrada

O modelo de traduccedilatildeo tem dois componentes o codificador e o decodificador O codificador lecirc uma palavrapor vez na frase original e cria uma representaccedilatildeo semacircntica que captura seu significado O decodificadorusa a representaccedilatildeo semacircntica para gerar uma traduccedilatildeo uma palavra por vez no idioma de destino

O Amazon Translate usa mecanismos de atenccedilatildeo para entender o contexto Isso ajuda a decidir quaispalavras no texto de origem satildeo mais relevantes para gerar a proacutexima palavra no texto de destino Osmecanismos de atenccedilatildeo permitem que o decodificador se concentre nas partes mais relevantes de umasentenccedila do texto de origem Isso garante que o decodificador traduza corretamente palavras ou frasesambiacuteguas

A palavra do texto de destino que o modelo gera se torna entrada para o decodificador A rede continuagerando palavras ateacute chegar ao final da frase

Para traduzir o texto vocecirc chama o meacutetodo TranslateText (p 54) fornece o texto de origem e informa oidioma de destino usando o coacutedigo de idioma listado na tabela a seguir

Idioma Code

Aacuterabe ar

Chinecircs (simplificado) zh

Chinecircs (tradicional) zh-TW

3

Tradutor da Amazon Guia do desenvolvedorDetecccedilatildeo automaacutetica de idioma

Idioma Code

Tcheco cs

Inglecircs en

Francecircs fr

Alematildeo de

Italiano it

Japonecircs ja

Portuguecircs pt

Russo ru

Espanhol es

Turco tr

Para traduzir texto de qualquer idioma diferente do inglecircs para outro traduza-o para o inglecircs primeiro eem seguida traduza o texto de saiacuteda em inglecircs para o idioma de destino

O Amazon Translate pode detectar automaticamente o idioma de origem Para a detecccedilatildeo automaacuteticade idioma especifique auto como o idioma de origem Quando vocecirc fornece texto de origem o AmazonTranslate chama Amazon Comprehend para detectar o idioma de origem

Detecccedilatildeo automaacutetica de idiomaO Amazon Translate pode detectar automaticamente o idioma usado no seu texto de origem Para usara detecccedilatildeo automaacutetica de idioma especifique auto como o idioma de origem O Amazon Translatechama Amazon Comprehend em seu nome para determinar o idioma usado no texto de origem Aoescolher a detecccedilatildeo automaacutetica de idioma vocecirc concorda com os termos e acordos de serviccedilo do AmazonComprehend Para obter mais informaccedilotildees sobre a definiccedilatildeo de preccedilo do Amazon Comprehend consulte Definiccedilatildeo de preccedilo do Amazon Comprehend

Processamento de exceccedilotildeesSe vocecirc especificar um idioma de origem ou de destino que natildeo tenha suporte o Amazon Translateretornaraacute as seguintes exceccedilotildees

bull UnsupportedLanguagePairException ndash o Amazon Translate oferece suporte agrave traduccedilatildeo entre inglecircs eoutros seis idiomas O idioma de origem ou o idioma de destino precisa ser inglecircs

bull DetectedLanguageLowConfidenceException ndash se vocecirc usar a detecccedilatildeo automaacutetica de idioma e oAmazon Translate tiver pouca confianccedila em relaccedilatildeo agrave detecccedilatildeo do idioma de origem ele retornaraacute essaexceccedilatildeo Se um niacutevel de confianccedila baixo for aceitaacutevel vocecirc poderaacute usar o idioma de origem retornadona exceccedilatildeo

Proacuteximas etapasAgora que vocecirc aprendeu sobre o Amazon Translate poderaacute explorar as seccedilotildees a seguir para saber maissobre como criar uma soluccedilatildeo

4

Tradutor da Amazon Guia do desenvolvedorProacuteximas etapas

bull Conceitos baacutesicos do Amazon Translate (p 6)bull Exemplos (p 17)

5

Tradutor da Amazon Guia do desenvolvedorEtapa 1 configurar uma conta

Conceitos baacutesicos do AmazonTranslate

Para comeccedilar a usar o Amazon Translate configure uma conta da AWS e crie um usuaacuterio do AWSIdentity and Access Management (IAM) Para usar a AWS Command Line Interface (AWS CLI) baixe-a econfigure-a

Toacutepicosbull Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador (p 6)bull Etapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)bull Etapa 3 Conceitos baacutesicos (console) (p 8)bull Etapa 4 conceitos baacutesicos (AWS CLI) (p 10)bull Etapa 5 Conceitos baacutesicos (SDK) (p 12)

Etapa 1 configurar uma conta da AWS e criar umusuaacuterio administrador

Antes de usar Amazon Translate pela primeira vez execute as seguintes tarefas

1 Cadastre-se na AWS (p 6)2 Criar um usuaacuterio do IAM (p 7)

Cadastre-se na AWSAo se cadastrar na Amazon Web Services (AWS) sua conta seraacute automaticamente cadastrada para todosos serviccedilos da AWS incluindo o Amazon Translate Vocecirc seraacute cobrado apenas pelos serviccedilos que usar

Com o Amazon Translate vocecirc paga apenas pelos recursos que usa Se vocecirc eacute um novo cliente da AWSpode comeccedilar a usar o Amazon Translate gratuitamente Para obter mais informaccedilotildees consulte Niacutevel deuso gratuito da AWS

Se vocecirc jaacute tem uma conta da AWS vaacute para a proacutexima seccedilatildeo

Para criar uma conta da AWS

1 Abra httpsawsamazoncom e escolha Create an AWS Account (Criar uma conta da AWS)

Note

Se vocecirc fez login no Console de gerenciamento da AWS usando credenciais do Usuaacuterioraiz da conta da AWS escolha Sign in to a different account (Fazer login em uma contadiferente) Se vocecirc fez login no console usando as credenciais do IAM escolha Sign-in using

6

Tradutor da Amazon Guia do desenvolvedorCriar um usuaacuterio do IAM

root account credentials (Fazer login usando credenciais da conta raiz) Em seguida escolhaCreate a new AWS account (Criar uma conta da AWS)

2 Siga as instruccedilotildees online

Parte do procedimento de cadastro envolve receber uma chamada telefocircnica e digitar um coacutedigo deverificaccedilatildeo usando o teclado do telefone

Registre o ID de sua conta da AWS pois precisaraacute dele na proacutexima tarefa

Criar um usuaacuterio do IAMOs serviccedilos da AWS como o Amazon Translate exigem que vocecirc forneccedila credenciais quando acessaacute-losIsso permite que o serviccedilo determine se vocecirc tem permissotildees para acessar os recursos dele

Recomendamos que vocecirc acesse a AWS usando o AWS Identity and Access Management (IAM) emvez das credenciais de sua conta da AWS Para usar o IAM a fim de acessar a AWS crie um usuaacuteriodo IAM adicione o usuaacuterio a um grupo do IAM com permissotildees administrativas e em seguida concedapermissotildees administrativas ao usuaacuterio do IAM Em seguida vocecirc pode acessar a AWS usando um URLespecial e as credenciais do usuaacuterio do IAM

Os exerciacutecios deste guia pressupotildeem que vocecirc tenha um usuaacuterio do IAM chamado adminuser comprivileacutegios de administrador

Para criar um usuaacuterio administrador do

bull Em sua conta da AWS crie um usuaacuterio administrador chamado adminuser Para obter instruccedilotildeesconsulte Criar o primeiro usuaacuterio do IAM e grupo de administradores no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre IAM consulte o seguinte

bull AWS Identity and Access Management (IAM)bull Conceitos baacutesicosbull Guia do usuaacuterio do IAM

Proacutexima etapaEtapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)

Etapa 2 configurar a AWS Command Line Interface(AWS CLI)

Use a AWS CLI para fazer chamadas interativas para o Amazon Translate

Para configurar a AWS CLI

1 Baixe e configure a AWS CLI Para obter instruccedilotildees consulte os toacutepicos a seguir no Guia do usuaacuteriodo AWS Command Line Interface

bull Comeccedilar a usar a AWS Command Line Interface

7

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

bull Configurar a AWS Command Line Interface2 No arquivo AWS CLI da config adicione um perfil nomeado para o usuaacuterio administrador

[profile adminuser]aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-region

Use esse perfil ao executar os comandos da AWS CLI Para obter mais informaccedilotildees sobre perfisnomeados consulte Perfis nomeados no Guia do usuaacuterio do AWS Command Line Interface Paraobter uma lista das regiotildees da AWS consulte Regiotildees e endpoints no Referecircncia geral do AmazonWeb Services

3 Verifique a configuraccedilatildeo digitando o seguinte comando de ajuda no prompt de comando

aws translate help

Vocecirc deve visualizar uma breve descriccedilatildeo do Amazon Translate e uma lista dos comandosdisponiacuteveis

Proacutexima etapaEtapa 3 Conceitos baacutesicos (console) (p 8)

Etapa 3 Conceitos baacutesicos (console)A maneira mais faacutecil de comeccedilar a usar o Amazon Translate eacute traduzir um texto por meio do consoleVocecirc pode traduzir ateacute 5000 caracteres usando o console Se vocecirc ainda natildeo revisou os conceitos e aterminologia em Como Amazon Translate funciona (p 3) recomendamos fazer isso antes de continuar

Para comeccedilar a traduzir um texto acesse o Console de gerenciamento da AWS e abra o console doAmazon Translate

Se esta eacute a sua primeira vez usando o Amazon Translate selecione Try (Experimentar o AmazonTranslate)

Em Translate text selecione os idiomas de origem e de destino Insira o texto que vocecirc deseja traduzir nacaixa de texto agrave esquerda O texto traduzido eacute exibido na caixa de texto agrave direita

8

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedor

Diretrizes 51Limites 51

Histoacuterico de documentos 52API Reference 53

Cabeccedilalhos HTTP 53Actions 53

TranslateText 54Data Types 57Common Errors 57Common Parameters 58

AWS Glossary 61

iv

Tradutor da Amazon Guia do desenvolvedorVocecirc eacute um usuaacuterio iniciante do Amazon Translate

O que eacute o Amazon TranslateO Amazon Translate traduz documentos de doze idiomas para o inglecircs e do inglecircs para estes idiomas

bull Aacuterabebull Chinecircs (simplificado)bull Chinecircs (tradicional)bull Tchecobull Francecircsbull Alematildeobull Italianobull Japonecircsbull Portuguecircsbull Russobull Espanholbull Turco

O Amazon Translate usa tecnologias avanccediladas de machine learning para fornecer traduccedilotildees de altaqualidade sob demanda Use-o para traduzir documentos ou texto natildeo estruturado ou para criar aplicativosque funcionem em vaacuterios idiomas

Por exemplo eacute possiacutevel

bull Integre o Amazon Translate a seus aplicativos para habilitar experiecircncias de usuaacuterio multiliacutenguesbull Traduza conteuacutedo da empresa como atas de reuniatildeo relatoacuterios teacutecnicos artigos da base de

conhecimento postagens e muito maisbull Traduza comunicaccedilotildees interpessoais como e-mail bate-papo no jogo bate-papo de atendimento ao

cliente e muito mais permitindo que clientes e funcionaacuterios se conectem no idioma preferidobull Use o Amazon Translate como parte do fluxo de trabalho da sua empresa para dados de entrada

bull Analise texto como miacutedias sociais e feeds de notiacutecias em vaacuterios idiomasbull Informaccedilotildees de pesquisa como para casos de eDiscovery em vaacuterios idiomas

bull Integre o Amazon Translate a outros serviccedilos da AWS para habilitar o processamento independente deidiomabull Use-o com o Amazon Comprehend para extrair entidades nomeadas sentimentos e frases-chave de

texto natildeo estruturado como streamings de redes sociaisbull Use-o com o Amazon Transcribe para disponibilizar legendas e captions ao vivo em vaacuterios idiomasbull Use-o com o Amazon Polly para fazer leitura de conteuacutedo traduzido em voz altabull Use-o com o Amazon S3 para traduzir repositoacuterios de documentosbull Use-o com o Amazon DynamoDB o Amazon Aurora e o Amazon Redshift para traduzir textos

armazenados em bancos de dadosbull Use-o com o AWS Lambda ou o AWS Glue para obter uma perfeita integraccedilatildeo de fluxo de trabalho

Vocecirc eacute um usuaacuterio iniciante do Amazon TranslateCaso seja um usuaacuterio iniciante recomendamos que vocecirc leia as seccedilotildees a seguir em ordem

1

Tradutor da Amazon Guia do desenvolvedorVocecirc eacute um usuaacuterio iniciante do Amazon Translate

1 Como Amazon Translate funciona (p 3)mdashApresenta o Amazon Translate2 Conceitos baacutesicos do Amazon Translate (p 6)mdashExplica como configurar sua conta da AWS e testar

o Amazon Translate3 Exemplos (p 17)mdashFornece exemplos de coacutedigo em Java e Python Use-os para descobrir como o

Amazon Translate funciona4 API Reference (p 53)mdashConteacutem a documentaccedilatildeo de referecircncia das operaccedilotildees do Amazon Translate

2

Tradutor da Amazon Guia do desenvolvedor

Como Amazon Translate funcionaO Amazon Translate eacute baseado em redes neurais que foram treinadas para traduzir do inglecircs para osseguintes idiomas ou destes idiomas para o inglecircs

bull Aacuterabebull Chinecircs (simplificado)bull Chinecircs (tradicional)bull Tchecobull Francecircsbull Alematildeobull Italianobull Japonecircsbull Portuguecircsbull Russobull Espanholbull Turco

Vocecirc tambeacutem pode traduzir o texto de qualquer um desses idiomas para outro Para isso basta traduzir otexto original para o inglecircs e depois para o idioma de destino

Ao trabalhar com o Amazon Translate vocecirc forneceraacute texto de origem e obteraacute o texto de saiacuteda

bull Source text (Texto de origem)mdashO texto que vocecirc deseja traduzir O texto de origem deve ser inserido noformato UTF-8

bull Output text (Texto de saiacuteda)mdashO texto que o Amazon Translate traduziu para o idioma de destino O textode saiacuteda tambeacutem estaacute no formato UTF-8 Dependendo dos idiomas de origem e de destino pode havermais caracteres no texto de saiacuteda do que no texto de entrada

O modelo de traduccedilatildeo tem dois componentes o codificador e o decodificador O codificador lecirc uma palavrapor vez na frase original e cria uma representaccedilatildeo semacircntica que captura seu significado O decodificadorusa a representaccedilatildeo semacircntica para gerar uma traduccedilatildeo uma palavra por vez no idioma de destino

O Amazon Translate usa mecanismos de atenccedilatildeo para entender o contexto Isso ajuda a decidir quaispalavras no texto de origem satildeo mais relevantes para gerar a proacutexima palavra no texto de destino Osmecanismos de atenccedilatildeo permitem que o decodificador se concentre nas partes mais relevantes de umasentenccedila do texto de origem Isso garante que o decodificador traduza corretamente palavras ou frasesambiacuteguas

A palavra do texto de destino que o modelo gera se torna entrada para o decodificador A rede continuagerando palavras ateacute chegar ao final da frase

Para traduzir o texto vocecirc chama o meacutetodo TranslateText (p 54) fornece o texto de origem e informa oidioma de destino usando o coacutedigo de idioma listado na tabela a seguir

Idioma Code

Aacuterabe ar

Chinecircs (simplificado) zh

Chinecircs (tradicional) zh-TW

3

Tradutor da Amazon Guia do desenvolvedorDetecccedilatildeo automaacutetica de idioma

Idioma Code

Tcheco cs

Inglecircs en

Francecircs fr

Alematildeo de

Italiano it

Japonecircs ja

Portuguecircs pt

Russo ru

Espanhol es

Turco tr

Para traduzir texto de qualquer idioma diferente do inglecircs para outro traduza-o para o inglecircs primeiro eem seguida traduza o texto de saiacuteda em inglecircs para o idioma de destino

O Amazon Translate pode detectar automaticamente o idioma de origem Para a detecccedilatildeo automaacuteticade idioma especifique auto como o idioma de origem Quando vocecirc fornece texto de origem o AmazonTranslate chama Amazon Comprehend para detectar o idioma de origem

Detecccedilatildeo automaacutetica de idiomaO Amazon Translate pode detectar automaticamente o idioma usado no seu texto de origem Para usara detecccedilatildeo automaacutetica de idioma especifique auto como o idioma de origem O Amazon Translatechama Amazon Comprehend em seu nome para determinar o idioma usado no texto de origem Aoescolher a detecccedilatildeo automaacutetica de idioma vocecirc concorda com os termos e acordos de serviccedilo do AmazonComprehend Para obter mais informaccedilotildees sobre a definiccedilatildeo de preccedilo do Amazon Comprehend consulte Definiccedilatildeo de preccedilo do Amazon Comprehend

Processamento de exceccedilotildeesSe vocecirc especificar um idioma de origem ou de destino que natildeo tenha suporte o Amazon Translateretornaraacute as seguintes exceccedilotildees

bull UnsupportedLanguagePairException ndash o Amazon Translate oferece suporte agrave traduccedilatildeo entre inglecircs eoutros seis idiomas O idioma de origem ou o idioma de destino precisa ser inglecircs

bull DetectedLanguageLowConfidenceException ndash se vocecirc usar a detecccedilatildeo automaacutetica de idioma e oAmazon Translate tiver pouca confianccedila em relaccedilatildeo agrave detecccedilatildeo do idioma de origem ele retornaraacute essaexceccedilatildeo Se um niacutevel de confianccedila baixo for aceitaacutevel vocecirc poderaacute usar o idioma de origem retornadona exceccedilatildeo

Proacuteximas etapasAgora que vocecirc aprendeu sobre o Amazon Translate poderaacute explorar as seccedilotildees a seguir para saber maissobre como criar uma soluccedilatildeo

4

Tradutor da Amazon Guia do desenvolvedorProacuteximas etapas

bull Conceitos baacutesicos do Amazon Translate (p 6)bull Exemplos (p 17)

5

Tradutor da Amazon Guia do desenvolvedorEtapa 1 configurar uma conta

Conceitos baacutesicos do AmazonTranslate

Para comeccedilar a usar o Amazon Translate configure uma conta da AWS e crie um usuaacuterio do AWSIdentity and Access Management (IAM) Para usar a AWS Command Line Interface (AWS CLI) baixe-a econfigure-a

Toacutepicosbull Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador (p 6)bull Etapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)bull Etapa 3 Conceitos baacutesicos (console) (p 8)bull Etapa 4 conceitos baacutesicos (AWS CLI) (p 10)bull Etapa 5 Conceitos baacutesicos (SDK) (p 12)

Etapa 1 configurar uma conta da AWS e criar umusuaacuterio administrador

Antes de usar Amazon Translate pela primeira vez execute as seguintes tarefas

1 Cadastre-se na AWS (p 6)2 Criar um usuaacuterio do IAM (p 7)

Cadastre-se na AWSAo se cadastrar na Amazon Web Services (AWS) sua conta seraacute automaticamente cadastrada para todosos serviccedilos da AWS incluindo o Amazon Translate Vocecirc seraacute cobrado apenas pelos serviccedilos que usar

Com o Amazon Translate vocecirc paga apenas pelos recursos que usa Se vocecirc eacute um novo cliente da AWSpode comeccedilar a usar o Amazon Translate gratuitamente Para obter mais informaccedilotildees consulte Niacutevel deuso gratuito da AWS

Se vocecirc jaacute tem uma conta da AWS vaacute para a proacutexima seccedilatildeo

Para criar uma conta da AWS

1 Abra httpsawsamazoncom e escolha Create an AWS Account (Criar uma conta da AWS)

Note

Se vocecirc fez login no Console de gerenciamento da AWS usando credenciais do Usuaacuterioraiz da conta da AWS escolha Sign in to a different account (Fazer login em uma contadiferente) Se vocecirc fez login no console usando as credenciais do IAM escolha Sign-in using

6

Tradutor da Amazon Guia do desenvolvedorCriar um usuaacuterio do IAM

root account credentials (Fazer login usando credenciais da conta raiz) Em seguida escolhaCreate a new AWS account (Criar uma conta da AWS)

2 Siga as instruccedilotildees online

Parte do procedimento de cadastro envolve receber uma chamada telefocircnica e digitar um coacutedigo deverificaccedilatildeo usando o teclado do telefone

Registre o ID de sua conta da AWS pois precisaraacute dele na proacutexima tarefa

Criar um usuaacuterio do IAMOs serviccedilos da AWS como o Amazon Translate exigem que vocecirc forneccedila credenciais quando acessaacute-losIsso permite que o serviccedilo determine se vocecirc tem permissotildees para acessar os recursos dele

Recomendamos que vocecirc acesse a AWS usando o AWS Identity and Access Management (IAM) emvez das credenciais de sua conta da AWS Para usar o IAM a fim de acessar a AWS crie um usuaacuteriodo IAM adicione o usuaacuterio a um grupo do IAM com permissotildees administrativas e em seguida concedapermissotildees administrativas ao usuaacuterio do IAM Em seguida vocecirc pode acessar a AWS usando um URLespecial e as credenciais do usuaacuterio do IAM

Os exerciacutecios deste guia pressupotildeem que vocecirc tenha um usuaacuterio do IAM chamado adminuser comprivileacutegios de administrador

Para criar um usuaacuterio administrador do

bull Em sua conta da AWS crie um usuaacuterio administrador chamado adminuser Para obter instruccedilotildeesconsulte Criar o primeiro usuaacuterio do IAM e grupo de administradores no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre IAM consulte o seguinte

bull AWS Identity and Access Management (IAM)bull Conceitos baacutesicosbull Guia do usuaacuterio do IAM

Proacutexima etapaEtapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)

Etapa 2 configurar a AWS Command Line Interface(AWS CLI)

Use a AWS CLI para fazer chamadas interativas para o Amazon Translate

Para configurar a AWS CLI

1 Baixe e configure a AWS CLI Para obter instruccedilotildees consulte os toacutepicos a seguir no Guia do usuaacuteriodo AWS Command Line Interface

bull Comeccedilar a usar a AWS Command Line Interface

7

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

bull Configurar a AWS Command Line Interface2 No arquivo AWS CLI da config adicione um perfil nomeado para o usuaacuterio administrador

[profile adminuser]aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-region

Use esse perfil ao executar os comandos da AWS CLI Para obter mais informaccedilotildees sobre perfisnomeados consulte Perfis nomeados no Guia do usuaacuterio do AWS Command Line Interface Paraobter uma lista das regiotildees da AWS consulte Regiotildees e endpoints no Referecircncia geral do AmazonWeb Services

3 Verifique a configuraccedilatildeo digitando o seguinte comando de ajuda no prompt de comando

aws translate help

Vocecirc deve visualizar uma breve descriccedilatildeo do Amazon Translate e uma lista dos comandosdisponiacuteveis

Proacutexima etapaEtapa 3 Conceitos baacutesicos (console) (p 8)

Etapa 3 Conceitos baacutesicos (console)A maneira mais faacutecil de comeccedilar a usar o Amazon Translate eacute traduzir um texto por meio do consoleVocecirc pode traduzir ateacute 5000 caracteres usando o console Se vocecirc ainda natildeo revisou os conceitos e aterminologia em Como Amazon Translate funciona (p 3) recomendamos fazer isso antes de continuar

Para comeccedilar a traduzir um texto acesse o Console de gerenciamento da AWS e abra o console doAmazon Translate

Se esta eacute a sua primeira vez usando o Amazon Translate selecione Try (Experimentar o AmazonTranslate)

Em Translate text selecione os idiomas de origem e de destino Insira o texto que vocecirc deseja traduzir nacaixa de texto agrave esquerda O texto traduzido eacute exibido na caixa de texto agrave direita

8

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorVocecirc eacute um usuaacuterio iniciante do Amazon Translate

O que eacute o Amazon TranslateO Amazon Translate traduz documentos de doze idiomas para o inglecircs e do inglecircs para estes idiomas

bull Aacuterabebull Chinecircs (simplificado)bull Chinecircs (tradicional)bull Tchecobull Francecircsbull Alematildeobull Italianobull Japonecircsbull Portuguecircsbull Russobull Espanholbull Turco

O Amazon Translate usa tecnologias avanccediladas de machine learning para fornecer traduccedilotildees de altaqualidade sob demanda Use-o para traduzir documentos ou texto natildeo estruturado ou para criar aplicativosque funcionem em vaacuterios idiomas

Por exemplo eacute possiacutevel

bull Integre o Amazon Translate a seus aplicativos para habilitar experiecircncias de usuaacuterio multiliacutenguesbull Traduza conteuacutedo da empresa como atas de reuniatildeo relatoacuterios teacutecnicos artigos da base de

conhecimento postagens e muito maisbull Traduza comunicaccedilotildees interpessoais como e-mail bate-papo no jogo bate-papo de atendimento ao

cliente e muito mais permitindo que clientes e funcionaacuterios se conectem no idioma preferidobull Use o Amazon Translate como parte do fluxo de trabalho da sua empresa para dados de entrada

bull Analise texto como miacutedias sociais e feeds de notiacutecias em vaacuterios idiomasbull Informaccedilotildees de pesquisa como para casos de eDiscovery em vaacuterios idiomas

bull Integre o Amazon Translate a outros serviccedilos da AWS para habilitar o processamento independente deidiomabull Use-o com o Amazon Comprehend para extrair entidades nomeadas sentimentos e frases-chave de

texto natildeo estruturado como streamings de redes sociaisbull Use-o com o Amazon Transcribe para disponibilizar legendas e captions ao vivo em vaacuterios idiomasbull Use-o com o Amazon Polly para fazer leitura de conteuacutedo traduzido em voz altabull Use-o com o Amazon S3 para traduzir repositoacuterios de documentosbull Use-o com o Amazon DynamoDB o Amazon Aurora e o Amazon Redshift para traduzir textos

armazenados em bancos de dadosbull Use-o com o AWS Lambda ou o AWS Glue para obter uma perfeita integraccedilatildeo de fluxo de trabalho

Vocecirc eacute um usuaacuterio iniciante do Amazon TranslateCaso seja um usuaacuterio iniciante recomendamos que vocecirc leia as seccedilotildees a seguir em ordem

1

Tradutor da Amazon Guia do desenvolvedorVocecirc eacute um usuaacuterio iniciante do Amazon Translate

1 Como Amazon Translate funciona (p 3)mdashApresenta o Amazon Translate2 Conceitos baacutesicos do Amazon Translate (p 6)mdashExplica como configurar sua conta da AWS e testar

o Amazon Translate3 Exemplos (p 17)mdashFornece exemplos de coacutedigo em Java e Python Use-os para descobrir como o

Amazon Translate funciona4 API Reference (p 53)mdashConteacutem a documentaccedilatildeo de referecircncia das operaccedilotildees do Amazon Translate

2

Tradutor da Amazon Guia do desenvolvedor

Como Amazon Translate funcionaO Amazon Translate eacute baseado em redes neurais que foram treinadas para traduzir do inglecircs para osseguintes idiomas ou destes idiomas para o inglecircs

bull Aacuterabebull Chinecircs (simplificado)bull Chinecircs (tradicional)bull Tchecobull Francecircsbull Alematildeobull Italianobull Japonecircsbull Portuguecircsbull Russobull Espanholbull Turco

Vocecirc tambeacutem pode traduzir o texto de qualquer um desses idiomas para outro Para isso basta traduzir otexto original para o inglecircs e depois para o idioma de destino

Ao trabalhar com o Amazon Translate vocecirc forneceraacute texto de origem e obteraacute o texto de saiacuteda

bull Source text (Texto de origem)mdashO texto que vocecirc deseja traduzir O texto de origem deve ser inserido noformato UTF-8

bull Output text (Texto de saiacuteda)mdashO texto que o Amazon Translate traduziu para o idioma de destino O textode saiacuteda tambeacutem estaacute no formato UTF-8 Dependendo dos idiomas de origem e de destino pode havermais caracteres no texto de saiacuteda do que no texto de entrada

O modelo de traduccedilatildeo tem dois componentes o codificador e o decodificador O codificador lecirc uma palavrapor vez na frase original e cria uma representaccedilatildeo semacircntica que captura seu significado O decodificadorusa a representaccedilatildeo semacircntica para gerar uma traduccedilatildeo uma palavra por vez no idioma de destino

O Amazon Translate usa mecanismos de atenccedilatildeo para entender o contexto Isso ajuda a decidir quaispalavras no texto de origem satildeo mais relevantes para gerar a proacutexima palavra no texto de destino Osmecanismos de atenccedilatildeo permitem que o decodificador se concentre nas partes mais relevantes de umasentenccedila do texto de origem Isso garante que o decodificador traduza corretamente palavras ou frasesambiacuteguas

A palavra do texto de destino que o modelo gera se torna entrada para o decodificador A rede continuagerando palavras ateacute chegar ao final da frase

Para traduzir o texto vocecirc chama o meacutetodo TranslateText (p 54) fornece o texto de origem e informa oidioma de destino usando o coacutedigo de idioma listado na tabela a seguir

Idioma Code

Aacuterabe ar

Chinecircs (simplificado) zh

Chinecircs (tradicional) zh-TW

3

Tradutor da Amazon Guia do desenvolvedorDetecccedilatildeo automaacutetica de idioma

Idioma Code

Tcheco cs

Inglecircs en

Francecircs fr

Alematildeo de

Italiano it

Japonecircs ja

Portuguecircs pt

Russo ru

Espanhol es

Turco tr

Para traduzir texto de qualquer idioma diferente do inglecircs para outro traduza-o para o inglecircs primeiro eem seguida traduza o texto de saiacuteda em inglecircs para o idioma de destino

O Amazon Translate pode detectar automaticamente o idioma de origem Para a detecccedilatildeo automaacuteticade idioma especifique auto como o idioma de origem Quando vocecirc fornece texto de origem o AmazonTranslate chama Amazon Comprehend para detectar o idioma de origem

Detecccedilatildeo automaacutetica de idiomaO Amazon Translate pode detectar automaticamente o idioma usado no seu texto de origem Para usara detecccedilatildeo automaacutetica de idioma especifique auto como o idioma de origem O Amazon Translatechama Amazon Comprehend em seu nome para determinar o idioma usado no texto de origem Aoescolher a detecccedilatildeo automaacutetica de idioma vocecirc concorda com os termos e acordos de serviccedilo do AmazonComprehend Para obter mais informaccedilotildees sobre a definiccedilatildeo de preccedilo do Amazon Comprehend consulte Definiccedilatildeo de preccedilo do Amazon Comprehend

Processamento de exceccedilotildeesSe vocecirc especificar um idioma de origem ou de destino que natildeo tenha suporte o Amazon Translateretornaraacute as seguintes exceccedilotildees

bull UnsupportedLanguagePairException ndash o Amazon Translate oferece suporte agrave traduccedilatildeo entre inglecircs eoutros seis idiomas O idioma de origem ou o idioma de destino precisa ser inglecircs

bull DetectedLanguageLowConfidenceException ndash se vocecirc usar a detecccedilatildeo automaacutetica de idioma e oAmazon Translate tiver pouca confianccedila em relaccedilatildeo agrave detecccedilatildeo do idioma de origem ele retornaraacute essaexceccedilatildeo Se um niacutevel de confianccedila baixo for aceitaacutevel vocecirc poderaacute usar o idioma de origem retornadona exceccedilatildeo

Proacuteximas etapasAgora que vocecirc aprendeu sobre o Amazon Translate poderaacute explorar as seccedilotildees a seguir para saber maissobre como criar uma soluccedilatildeo

4

Tradutor da Amazon Guia do desenvolvedorProacuteximas etapas

bull Conceitos baacutesicos do Amazon Translate (p 6)bull Exemplos (p 17)

5

Tradutor da Amazon Guia do desenvolvedorEtapa 1 configurar uma conta

Conceitos baacutesicos do AmazonTranslate

Para comeccedilar a usar o Amazon Translate configure uma conta da AWS e crie um usuaacuterio do AWSIdentity and Access Management (IAM) Para usar a AWS Command Line Interface (AWS CLI) baixe-a econfigure-a

Toacutepicosbull Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador (p 6)bull Etapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)bull Etapa 3 Conceitos baacutesicos (console) (p 8)bull Etapa 4 conceitos baacutesicos (AWS CLI) (p 10)bull Etapa 5 Conceitos baacutesicos (SDK) (p 12)

Etapa 1 configurar uma conta da AWS e criar umusuaacuterio administrador

Antes de usar Amazon Translate pela primeira vez execute as seguintes tarefas

1 Cadastre-se na AWS (p 6)2 Criar um usuaacuterio do IAM (p 7)

Cadastre-se na AWSAo se cadastrar na Amazon Web Services (AWS) sua conta seraacute automaticamente cadastrada para todosos serviccedilos da AWS incluindo o Amazon Translate Vocecirc seraacute cobrado apenas pelos serviccedilos que usar

Com o Amazon Translate vocecirc paga apenas pelos recursos que usa Se vocecirc eacute um novo cliente da AWSpode comeccedilar a usar o Amazon Translate gratuitamente Para obter mais informaccedilotildees consulte Niacutevel deuso gratuito da AWS

Se vocecirc jaacute tem uma conta da AWS vaacute para a proacutexima seccedilatildeo

Para criar uma conta da AWS

1 Abra httpsawsamazoncom e escolha Create an AWS Account (Criar uma conta da AWS)

Note

Se vocecirc fez login no Console de gerenciamento da AWS usando credenciais do Usuaacuterioraiz da conta da AWS escolha Sign in to a different account (Fazer login em uma contadiferente) Se vocecirc fez login no console usando as credenciais do IAM escolha Sign-in using

6

Tradutor da Amazon Guia do desenvolvedorCriar um usuaacuterio do IAM

root account credentials (Fazer login usando credenciais da conta raiz) Em seguida escolhaCreate a new AWS account (Criar uma conta da AWS)

2 Siga as instruccedilotildees online

Parte do procedimento de cadastro envolve receber uma chamada telefocircnica e digitar um coacutedigo deverificaccedilatildeo usando o teclado do telefone

Registre o ID de sua conta da AWS pois precisaraacute dele na proacutexima tarefa

Criar um usuaacuterio do IAMOs serviccedilos da AWS como o Amazon Translate exigem que vocecirc forneccedila credenciais quando acessaacute-losIsso permite que o serviccedilo determine se vocecirc tem permissotildees para acessar os recursos dele

Recomendamos que vocecirc acesse a AWS usando o AWS Identity and Access Management (IAM) emvez das credenciais de sua conta da AWS Para usar o IAM a fim de acessar a AWS crie um usuaacuteriodo IAM adicione o usuaacuterio a um grupo do IAM com permissotildees administrativas e em seguida concedapermissotildees administrativas ao usuaacuterio do IAM Em seguida vocecirc pode acessar a AWS usando um URLespecial e as credenciais do usuaacuterio do IAM

Os exerciacutecios deste guia pressupotildeem que vocecirc tenha um usuaacuterio do IAM chamado adminuser comprivileacutegios de administrador

Para criar um usuaacuterio administrador do

bull Em sua conta da AWS crie um usuaacuterio administrador chamado adminuser Para obter instruccedilotildeesconsulte Criar o primeiro usuaacuterio do IAM e grupo de administradores no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre IAM consulte o seguinte

bull AWS Identity and Access Management (IAM)bull Conceitos baacutesicosbull Guia do usuaacuterio do IAM

Proacutexima etapaEtapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)

Etapa 2 configurar a AWS Command Line Interface(AWS CLI)

Use a AWS CLI para fazer chamadas interativas para o Amazon Translate

Para configurar a AWS CLI

1 Baixe e configure a AWS CLI Para obter instruccedilotildees consulte os toacutepicos a seguir no Guia do usuaacuteriodo AWS Command Line Interface

bull Comeccedilar a usar a AWS Command Line Interface

7

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

bull Configurar a AWS Command Line Interface2 No arquivo AWS CLI da config adicione um perfil nomeado para o usuaacuterio administrador

[profile adminuser]aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-region

Use esse perfil ao executar os comandos da AWS CLI Para obter mais informaccedilotildees sobre perfisnomeados consulte Perfis nomeados no Guia do usuaacuterio do AWS Command Line Interface Paraobter uma lista das regiotildees da AWS consulte Regiotildees e endpoints no Referecircncia geral do AmazonWeb Services

3 Verifique a configuraccedilatildeo digitando o seguinte comando de ajuda no prompt de comando

aws translate help

Vocecirc deve visualizar uma breve descriccedilatildeo do Amazon Translate e uma lista dos comandosdisponiacuteveis

Proacutexima etapaEtapa 3 Conceitos baacutesicos (console) (p 8)

Etapa 3 Conceitos baacutesicos (console)A maneira mais faacutecil de comeccedilar a usar o Amazon Translate eacute traduzir um texto por meio do consoleVocecirc pode traduzir ateacute 5000 caracteres usando o console Se vocecirc ainda natildeo revisou os conceitos e aterminologia em Como Amazon Translate funciona (p 3) recomendamos fazer isso antes de continuar

Para comeccedilar a traduzir um texto acesse o Console de gerenciamento da AWS e abra o console doAmazon Translate

Se esta eacute a sua primeira vez usando o Amazon Translate selecione Try (Experimentar o AmazonTranslate)

Em Translate text selecione os idiomas de origem e de destino Insira o texto que vocecirc deseja traduzir nacaixa de texto agrave esquerda O texto traduzido eacute exibido na caixa de texto agrave direita

8

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorVocecirc eacute um usuaacuterio iniciante do Amazon Translate

1 Como Amazon Translate funciona (p 3)mdashApresenta o Amazon Translate2 Conceitos baacutesicos do Amazon Translate (p 6)mdashExplica como configurar sua conta da AWS e testar

o Amazon Translate3 Exemplos (p 17)mdashFornece exemplos de coacutedigo em Java e Python Use-os para descobrir como o

Amazon Translate funciona4 API Reference (p 53)mdashConteacutem a documentaccedilatildeo de referecircncia das operaccedilotildees do Amazon Translate

2

Tradutor da Amazon Guia do desenvolvedor

Como Amazon Translate funcionaO Amazon Translate eacute baseado em redes neurais que foram treinadas para traduzir do inglecircs para osseguintes idiomas ou destes idiomas para o inglecircs

bull Aacuterabebull Chinecircs (simplificado)bull Chinecircs (tradicional)bull Tchecobull Francecircsbull Alematildeobull Italianobull Japonecircsbull Portuguecircsbull Russobull Espanholbull Turco

Vocecirc tambeacutem pode traduzir o texto de qualquer um desses idiomas para outro Para isso basta traduzir otexto original para o inglecircs e depois para o idioma de destino

Ao trabalhar com o Amazon Translate vocecirc forneceraacute texto de origem e obteraacute o texto de saiacuteda

bull Source text (Texto de origem)mdashO texto que vocecirc deseja traduzir O texto de origem deve ser inserido noformato UTF-8

bull Output text (Texto de saiacuteda)mdashO texto que o Amazon Translate traduziu para o idioma de destino O textode saiacuteda tambeacutem estaacute no formato UTF-8 Dependendo dos idiomas de origem e de destino pode havermais caracteres no texto de saiacuteda do que no texto de entrada

O modelo de traduccedilatildeo tem dois componentes o codificador e o decodificador O codificador lecirc uma palavrapor vez na frase original e cria uma representaccedilatildeo semacircntica que captura seu significado O decodificadorusa a representaccedilatildeo semacircntica para gerar uma traduccedilatildeo uma palavra por vez no idioma de destino

O Amazon Translate usa mecanismos de atenccedilatildeo para entender o contexto Isso ajuda a decidir quaispalavras no texto de origem satildeo mais relevantes para gerar a proacutexima palavra no texto de destino Osmecanismos de atenccedilatildeo permitem que o decodificador se concentre nas partes mais relevantes de umasentenccedila do texto de origem Isso garante que o decodificador traduza corretamente palavras ou frasesambiacuteguas

A palavra do texto de destino que o modelo gera se torna entrada para o decodificador A rede continuagerando palavras ateacute chegar ao final da frase

Para traduzir o texto vocecirc chama o meacutetodo TranslateText (p 54) fornece o texto de origem e informa oidioma de destino usando o coacutedigo de idioma listado na tabela a seguir

Idioma Code

Aacuterabe ar

Chinecircs (simplificado) zh

Chinecircs (tradicional) zh-TW

3

Tradutor da Amazon Guia do desenvolvedorDetecccedilatildeo automaacutetica de idioma

Idioma Code

Tcheco cs

Inglecircs en

Francecircs fr

Alematildeo de

Italiano it

Japonecircs ja

Portuguecircs pt

Russo ru

Espanhol es

Turco tr

Para traduzir texto de qualquer idioma diferente do inglecircs para outro traduza-o para o inglecircs primeiro eem seguida traduza o texto de saiacuteda em inglecircs para o idioma de destino

O Amazon Translate pode detectar automaticamente o idioma de origem Para a detecccedilatildeo automaacuteticade idioma especifique auto como o idioma de origem Quando vocecirc fornece texto de origem o AmazonTranslate chama Amazon Comprehend para detectar o idioma de origem

Detecccedilatildeo automaacutetica de idiomaO Amazon Translate pode detectar automaticamente o idioma usado no seu texto de origem Para usara detecccedilatildeo automaacutetica de idioma especifique auto como o idioma de origem O Amazon Translatechama Amazon Comprehend em seu nome para determinar o idioma usado no texto de origem Aoescolher a detecccedilatildeo automaacutetica de idioma vocecirc concorda com os termos e acordos de serviccedilo do AmazonComprehend Para obter mais informaccedilotildees sobre a definiccedilatildeo de preccedilo do Amazon Comprehend consulte Definiccedilatildeo de preccedilo do Amazon Comprehend

Processamento de exceccedilotildeesSe vocecirc especificar um idioma de origem ou de destino que natildeo tenha suporte o Amazon Translateretornaraacute as seguintes exceccedilotildees

bull UnsupportedLanguagePairException ndash o Amazon Translate oferece suporte agrave traduccedilatildeo entre inglecircs eoutros seis idiomas O idioma de origem ou o idioma de destino precisa ser inglecircs

bull DetectedLanguageLowConfidenceException ndash se vocecirc usar a detecccedilatildeo automaacutetica de idioma e oAmazon Translate tiver pouca confianccedila em relaccedilatildeo agrave detecccedilatildeo do idioma de origem ele retornaraacute essaexceccedilatildeo Se um niacutevel de confianccedila baixo for aceitaacutevel vocecirc poderaacute usar o idioma de origem retornadona exceccedilatildeo

Proacuteximas etapasAgora que vocecirc aprendeu sobre o Amazon Translate poderaacute explorar as seccedilotildees a seguir para saber maissobre como criar uma soluccedilatildeo

4

Tradutor da Amazon Guia do desenvolvedorProacuteximas etapas

bull Conceitos baacutesicos do Amazon Translate (p 6)bull Exemplos (p 17)

5

Tradutor da Amazon Guia do desenvolvedorEtapa 1 configurar uma conta

Conceitos baacutesicos do AmazonTranslate

Para comeccedilar a usar o Amazon Translate configure uma conta da AWS e crie um usuaacuterio do AWSIdentity and Access Management (IAM) Para usar a AWS Command Line Interface (AWS CLI) baixe-a econfigure-a

Toacutepicosbull Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador (p 6)bull Etapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)bull Etapa 3 Conceitos baacutesicos (console) (p 8)bull Etapa 4 conceitos baacutesicos (AWS CLI) (p 10)bull Etapa 5 Conceitos baacutesicos (SDK) (p 12)

Etapa 1 configurar uma conta da AWS e criar umusuaacuterio administrador

Antes de usar Amazon Translate pela primeira vez execute as seguintes tarefas

1 Cadastre-se na AWS (p 6)2 Criar um usuaacuterio do IAM (p 7)

Cadastre-se na AWSAo se cadastrar na Amazon Web Services (AWS) sua conta seraacute automaticamente cadastrada para todosos serviccedilos da AWS incluindo o Amazon Translate Vocecirc seraacute cobrado apenas pelos serviccedilos que usar

Com o Amazon Translate vocecirc paga apenas pelos recursos que usa Se vocecirc eacute um novo cliente da AWSpode comeccedilar a usar o Amazon Translate gratuitamente Para obter mais informaccedilotildees consulte Niacutevel deuso gratuito da AWS

Se vocecirc jaacute tem uma conta da AWS vaacute para a proacutexima seccedilatildeo

Para criar uma conta da AWS

1 Abra httpsawsamazoncom e escolha Create an AWS Account (Criar uma conta da AWS)

Note

Se vocecirc fez login no Console de gerenciamento da AWS usando credenciais do Usuaacuterioraiz da conta da AWS escolha Sign in to a different account (Fazer login em uma contadiferente) Se vocecirc fez login no console usando as credenciais do IAM escolha Sign-in using

6

Tradutor da Amazon Guia do desenvolvedorCriar um usuaacuterio do IAM

root account credentials (Fazer login usando credenciais da conta raiz) Em seguida escolhaCreate a new AWS account (Criar uma conta da AWS)

2 Siga as instruccedilotildees online

Parte do procedimento de cadastro envolve receber uma chamada telefocircnica e digitar um coacutedigo deverificaccedilatildeo usando o teclado do telefone

Registre o ID de sua conta da AWS pois precisaraacute dele na proacutexima tarefa

Criar um usuaacuterio do IAMOs serviccedilos da AWS como o Amazon Translate exigem que vocecirc forneccedila credenciais quando acessaacute-losIsso permite que o serviccedilo determine se vocecirc tem permissotildees para acessar os recursos dele

Recomendamos que vocecirc acesse a AWS usando o AWS Identity and Access Management (IAM) emvez das credenciais de sua conta da AWS Para usar o IAM a fim de acessar a AWS crie um usuaacuteriodo IAM adicione o usuaacuterio a um grupo do IAM com permissotildees administrativas e em seguida concedapermissotildees administrativas ao usuaacuterio do IAM Em seguida vocecirc pode acessar a AWS usando um URLespecial e as credenciais do usuaacuterio do IAM

Os exerciacutecios deste guia pressupotildeem que vocecirc tenha um usuaacuterio do IAM chamado adminuser comprivileacutegios de administrador

Para criar um usuaacuterio administrador do

bull Em sua conta da AWS crie um usuaacuterio administrador chamado adminuser Para obter instruccedilotildeesconsulte Criar o primeiro usuaacuterio do IAM e grupo de administradores no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre IAM consulte o seguinte

bull AWS Identity and Access Management (IAM)bull Conceitos baacutesicosbull Guia do usuaacuterio do IAM

Proacutexima etapaEtapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)

Etapa 2 configurar a AWS Command Line Interface(AWS CLI)

Use a AWS CLI para fazer chamadas interativas para o Amazon Translate

Para configurar a AWS CLI

1 Baixe e configure a AWS CLI Para obter instruccedilotildees consulte os toacutepicos a seguir no Guia do usuaacuteriodo AWS Command Line Interface

bull Comeccedilar a usar a AWS Command Line Interface

7

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

bull Configurar a AWS Command Line Interface2 No arquivo AWS CLI da config adicione um perfil nomeado para o usuaacuterio administrador

[profile adminuser]aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-region

Use esse perfil ao executar os comandos da AWS CLI Para obter mais informaccedilotildees sobre perfisnomeados consulte Perfis nomeados no Guia do usuaacuterio do AWS Command Line Interface Paraobter uma lista das regiotildees da AWS consulte Regiotildees e endpoints no Referecircncia geral do AmazonWeb Services

3 Verifique a configuraccedilatildeo digitando o seguinte comando de ajuda no prompt de comando

aws translate help

Vocecirc deve visualizar uma breve descriccedilatildeo do Amazon Translate e uma lista dos comandosdisponiacuteveis

Proacutexima etapaEtapa 3 Conceitos baacutesicos (console) (p 8)

Etapa 3 Conceitos baacutesicos (console)A maneira mais faacutecil de comeccedilar a usar o Amazon Translate eacute traduzir um texto por meio do consoleVocecirc pode traduzir ateacute 5000 caracteres usando o console Se vocecirc ainda natildeo revisou os conceitos e aterminologia em Como Amazon Translate funciona (p 3) recomendamos fazer isso antes de continuar

Para comeccedilar a traduzir um texto acesse o Console de gerenciamento da AWS e abra o console doAmazon Translate

Se esta eacute a sua primeira vez usando o Amazon Translate selecione Try (Experimentar o AmazonTranslate)

Em Translate text selecione os idiomas de origem e de destino Insira o texto que vocecirc deseja traduzir nacaixa de texto agrave esquerda O texto traduzido eacute exibido na caixa de texto agrave direita

8

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedor

Como Amazon Translate funcionaO Amazon Translate eacute baseado em redes neurais que foram treinadas para traduzir do inglecircs para osseguintes idiomas ou destes idiomas para o inglecircs

bull Aacuterabebull Chinecircs (simplificado)bull Chinecircs (tradicional)bull Tchecobull Francecircsbull Alematildeobull Italianobull Japonecircsbull Portuguecircsbull Russobull Espanholbull Turco

Vocecirc tambeacutem pode traduzir o texto de qualquer um desses idiomas para outro Para isso basta traduzir otexto original para o inglecircs e depois para o idioma de destino

Ao trabalhar com o Amazon Translate vocecirc forneceraacute texto de origem e obteraacute o texto de saiacuteda

bull Source text (Texto de origem)mdashO texto que vocecirc deseja traduzir O texto de origem deve ser inserido noformato UTF-8

bull Output text (Texto de saiacuteda)mdashO texto que o Amazon Translate traduziu para o idioma de destino O textode saiacuteda tambeacutem estaacute no formato UTF-8 Dependendo dos idiomas de origem e de destino pode havermais caracteres no texto de saiacuteda do que no texto de entrada

O modelo de traduccedilatildeo tem dois componentes o codificador e o decodificador O codificador lecirc uma palavrapor vez na frase original e cria uma representaccedilatildeo semacircntica que captura seu significado O decodificadorusa a representaccedilatildeo semacircntica para gerar uma traduccedilatildeo uma palavra por vez no idioma de destino

O Amazon Translate usa mecanismos de atenccedilatildeo para entender o contexto Isso ajuda a decidir quaispalavras no texto de origem satildeo mais relevantes para gerar a proacutexima palavra no texto de destino Osmecanismos de atenccedilatildeo permitem que o decodificador se concentre nas partes mais relevantes de umasentenccedila do texto de origem Isso garante que o decodificador traduza corretamente palavras ou frasesambiacuteguas

A palavra do texto de destino que o modelo gera se torna entrada para o decodificador A rede continuagerando palavras ateacute chegar ao final da frase

Para traduzir o texto vocecirc chama o meacutetodo TranslateText (p 54) fornece o texto de origem e informa oidioma de destino usando o coacutedigo de idioma listado na tabela a seguir

Idioma Code

Aacuterabe ar

Chinecircs (simplificado) zh

Chinecircs (tradicional) zh-TW

3

Tradutor da Amazon Guia do desenvolvedorDetecccedilatildeo automaacutetica de idioma

Idioma Code

Tcheco cs

Inglecircs en

Francecircs fr

Alematildeo de

Italiano it

Japonecircs ja

Portuguecircs pt

Russo ru

Espanhol es

Turco tr

Para traduzir texto de qualquer idioma diferente do inglecircs para outro traduza-o para o inglecircs primeiro eem seguida traduza o texto de saiacuteda em inglecircs para o idioma de destino

O Amazon Translate pode detectar automaticamente o idioma de origem Para a detecccedilatildeo automaacuteticade idioma especifique auto como o idioma de origem Quando vocecirc fornece texto de origem o AmazonTranslate chama Amazon Comprehend para detectar o idioma de origem

Detecccedilatildeo automaacutetica de idiomaO Amazon Translate pode detectar automaticamente o idioma usado no seu texto de origem Para usara detecccedilatildeo automaacutetica de idioma especifique auto como o idioma de origem O Amazon Translatechama Amazon Comprehend em seu nome para determinar o idioma usado no texto de origem Aoescolher a detecccedilatildeo automaacutetica de idioma vocecirc concorda com os termos e acordos de serviccedilo do AmazonComprehend Para obter mais informaccedilotildees sobre a definiccedilatildeo de preccedilo do Amazon Comprehend consulte Definiccedilatildeo de preccedilo do Amazon Comprehend

Processamento de exceccedilotildeesSe vocecirc especificar um idioma de origem ou de destino que natildeo tenha suporte o Amazon Translateretornaraacute as seguintes exceccedilotildees

bull UnsupportedLanguagePairException ndash o Amazon Translate oferece suporte agrave traduccedilatildeo entre inglecircs eoutros seis idiomas O idioma de origem ou o idioma de destino precisa ser inglecircs

bull DetectedLanguageLowConfidenceException ndash se vocecirc usar a detecccedilatildeo automaacutetica de idioma e oAmazon Translate tiver pouca confianccedila em relaccedilatildeo agrave detecccedilatildeo do idioma de origem ele retornaraacute essaexceccedilatildeo Se um niacutevel de confianccedila baixo for aceitaacutevel vocecirc poderaacute usar o idioma de origem retornadona exceccedilatildeo

Proacuteximas etapasAgora que vocecirc aprendeu sobre o Amazon Translate poderaacute explorar as seccedilotildees a seguir para saber maissobre como criar uma soluccedilatildeo

4

Tradutor da Amazon Guia do desenvolvedorProacuteximas etapas

bull Conceitos baacutesicos do Amazon Translate (p 6)bull Exemplos (p 17)

5

Tradutor da Amazon Guia do desenvolvedorEtapa 1 configurar uma conta

Conceitos baacutesicos do AmazonTranslate

Para comeccedilar a usar o Amazon Translate configure uma conta da AWS e crie um usuaacuterio do AWSIdentity and Access Management (IAM) Para usar a AWS Command Line Interface (AWS CLI) baixe-a econfigure-a

Toacutepicosbull Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador (p 6)bull Etapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)bull Etapa 3 Conceitos baacutesicos (console) (p 8)bull Etapa 4 conceitos baacutesicos (AWS CLI) (p 10)bull Etapa 5 Conceitos baacutesicos (SDK) (p 12)

Etapa 1 configurar uma conta da AWS e criar umusuaacuterio administrador

Antes de usar Amazon Translate pela primeira vez execute as seguintes tarefas

1 Cadastre-se na AWS (p 6)2 Criar um usuaacuterio do IAM (p 7)

Cadastre-se na AWSAo se cadastrar na Amazon Web Services (AWS) sua conta seraacute automaticamente cadastrada para todosos serviccedilos da AWS incluindo o Amazon Translate Vocecirc seraacute cobrado apenas pelos serviccedilos que usar

Com o Amazon Translate vocecirc paga apenas pelos recursos que usa Se vocecirc eacute um novo cliente da AWSpode comeccedilar a usar o Amazon Translate gratuitamente Para obter mais informaccedilotildees consulte Niacutevel deuso gratuito da AWS

Se vocecirc jaacute tem uma conta da AWS vaacute para a proacutexima seccedilatildeo

Para criar uma conta da AWS

1 Abra httpsawsamazoncom e escolha Create an AWS Account (Criar uma conta da AWS)

Note

Se vocecirc fez login no Console de gerenciamento da AWS usando credenciais do Usuaacuterioraiz da conta da AWS escolha Sign in to a different account (Fazer login em uma contadiferente) Se vocecirc fez login no console usando as credenciais do IAM escolha Sign-in using

6

Tradutor da Amazon Guia do desenvolvedorCriar um usuaacuterio do IAM

root account credentials (Fazer login usando credenciais da conta raiz) Em seguida escolhaCreate a new AWS account (Criar uma conta da AWS)

2 Siga as instruccedilotildees online

Parte do procedimento de cadastro envolve receber uma chamada telefocircnica e digitar um coacutedigo deverificaccedilatildeo usando o teclado do telefone

Registre o ID de sua conta da AWS pois precisaraacute dele na proacutexima tarefa

Criar um usuaacuterio do IAMOs serviccedilos da AWS como o Amazon Translate exigem que vocecirc forneccedila credenciais quando acessaacute-losIsso permite que o serviccedilo determine se vocecirc tem permissotildees para acessar os recursos dele

Recomendamos que vocecirc acesse a AWS usando o AWS Identity and Access Management (IAM) emvez das credenciais de sua conta da AWS Para usar o IAM a fim de acessar a AWS crie um usuaacuteriodo IAM adicione o usuaacuterio a um grupo do IAM com permissotildees administrativas e em seguida concedapermissotildees administrativas ao usuaacuterio do IAM Em seguida vocecirc pode acessar a AWS usando um URLespecial e as credenciais do usuaacuterio do IAM

Os exerciacutecios deste guia pressupotildeem que vocecirc tenha um usuaacuterio do IAM chamado adminuser comprivileacutegios de administrador

Para criar um usuaacuterio administrador do

bull Em sua conta da AWS crie um usuaacuterio administrador chamado adminuser Para obter instruccedilotildeesconsulte Criar o primeiro usuaacuterio do IAM e grupo de administradores no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre IAM consulte o seguinte

bull AWS Identity and Access Management (IAM)bull Conceitos baacutesicosbull Guia do usuaacuterio do IAM

Proacutexima etapaEtapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)

Etapa 2 configurar a AWS Command Line Interface(AWS CLI)

Use a AWS CLI para fazer chamadas interativas para o Amazon Translate

Para configurar a AWS CLI

1 Baixe e configure a AWS CLI Para obter instruccedilotildees consulte os toacutepicos a seguir no Guia do usuaacuteriodo AWS Command Line Interface

bull Comeccedilar a usar a AWS Command Line Interface

7

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

bull Configurar a AWS Command Line Interface2 No arquivo AWS CLI da config adicione um perfil nomeado para o usuaacuterio administrador

[profile adminuser]aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-region

Use esse perfil ao executar os comandos da AWS CLI Para obter mais informaccedilotildees sobre perfisnomeados consulte Perfis nomeados no Guia do usuaacuterio do AWS Command Line Interface Paraobter uma lista das regiotildees da AWS consulte Regiotildees e endpoints no Referecircncia geral do AmazonWeb Services

3 Verifique a configuraccedilatildeo digitando o seguinte comando de ajuda no prompt de comando

aws translate help

Vocecirc deve visualizar uma breve descriccedilatildeo do Amazon Translate e uma lista dos comandosdisponiacuteveis

Proacutexima etapaEtapa 3 Conceitos baacutesicos (console) (p 8)

Etapa 3 Conceitos baacutesicos (console)A maneira mais faacutecil de comeccedilar a usar o Amazon Translate eacute traduzir um texto por meio do consoleVocecirc pode traduzir ateacute 5000 caracteres usando o console Se vocecirc ainda natildeo revisou os conceitos e aterminologia em Como Amazon Translate funciona (p 3) recomendamos fazer isso antes de continuar

Para comeccedilar a traduzir um texto acesse o Console de gerenciamento da AWS e abra o console doAmazon Translate

Se esta eacute a sua primeira vez usando o Amazon Translate selecione Try (Experimentar o AmazonTranslate)

Em Translate text selecione os idiomas de origem e de destino Insira o texto que vocecirc deseja traduzir nacaixa de texto agrave esquerda O texto traduzido eacute exibido na caixa de texto agrave direita

8

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorDetecccedilatildeo automaacutetica de idioma

Idioma Code

Tcheco cs

Inglecircs en

Francecircs fr

Alematildeo de

Italiano it

Japonecircs ja

Portuguecircs pt

Russo ru

Espanhol es

Turco tr

Para traduzir texto de qualquer idioma diferente do inglecircs para outro traduza-o para o inglecircs primeiro eem seguida traduza o texto de saiacuteda em inglecircs para o idioma de destino

O Amazon Translate pode detectar automaticamente o idioma de origem Para a detecccedilatildeo automaacuteticade idioma especifique auto como o idioma de origem Quando vocecirc fornece texto de origem o AmazonTranslate chama Amazon Comprehend para detectar o idioma de origem

Detecccedilatildeo automaacutetica de idiomaO Amazon Translate pode detectar automaticamente o idioma usado no seu texto de origem Para usara detecccedilatildeo automaacutetica de idioma especifique auto como o idioma de origem O Amazon Translatechama Amazon Comprehend em seu nome para determinar o idioma usado no texto de origem Aoescolher a detecccedilatildeo automaacutetica de idioma vocecirc concorda com os termos e acordos de serviccedilo do AmazonComprehend Para obter mais informaccedilotildees sobre a definiccedilatildeo de preccedilo do Amazon Comprehend consulte Definiccedilatildeo de preccedilo do Amazon Comprehend

Processamento de exceccedilotildeesSe vocecirc especificar um idioma de origem ou de destino que natildeo tenha suporte o Amazon Translateretornaraacute as seguintes exceccedilotildees

bull UnsupportedLanguagePairException ndash o Amazon Translate oferece suporte agrave traduccedilatildeo entre inglecircs eoutros seis idiomas O idioma de origem ou o idioma de destino precisa ser inglecircs

bull DetectedLanguageLowConfidenceException ndash se vocecirc usar a detecccedilatildeo automaacutetica de idioma e oAmazon Translate tiver pouca confianccedila em relaccedilatildeo agrave detecccedilatildeo do idioma de origem ele retornaraacute essaexceccedilatildeo Se um niacutevel de confianccedila baixo for aceitaacutevel vocecirc poderaacute usar o idioma de origem retornadona exceccedilatildeo

Proacuteximas etapasAgora que vocecirc aprendeu sobre o Amazon Translate poderaacute explorar as seccedilotildees a seguir para saber maissobre como criar uma soluccedilatildeo

4

Tradutor da Amazon Guia do desenvolvedorProacuteximas etapas

bull Conceitos baacutesicos do Amazon Translate (p 6)bull Exemplos (p 17)

5

Tradutor da Amazon Guia do desenvolvedorEtapa 1 configurar uma conta

Conceitos baacutesicos do AmazonTranslate

Para comeccedilar a usar o Amazon Translate configure uma conta da AWS e crie um usuaacuterio do AWSIdentity and Access Management (IAM) Para usar a AWS Command Line Interface (AWS CLI) baixe-a econfigure-a

Toacutepicosbull Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador (p 6)bull Etapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)bull Etapa 3 Conceitos baacutesicos (console) (p 8)bull Etapa 4 conceitos baacutesicos (AWS CLI) (p 10)bull Etapa 5 Conceitos baacutesicos (SDK) (p 12)

Etapa 1 configurar uma conta da AWS e criar umusuaacuterio administrador

Antes de usar Amazon Translate pela primeira vez execute as seguintes tarefas

1 Cadastre-se na AWS (p 6)2 Criar um usuaacuterio do IAM (p 7)

Cadastre-se na AWSAo se cadastrar na Amazon Web Services (AWS) sua conta seraacute automaticamente cadastrada para todosos serviccedilos da AWS incluindo o Amazon Translate Vocecirc seraacute cobrado apenas pelos serviccedilos que usar

Com o Amazon Translate vocecirc paga apenas pelos recursos que usa Se vocecirc eacute um novo cliente da AWSpode comeccedilar a usar o Amazon Translate gratuitamente Para obter mais informaccedilotildees consulte Niacutevel deuso gratuito da AWS

Se vocecirc jaacute tem uma conta da AWS vaacute para a proacutexima seccedilatildeo

Para criar uma conta da AWS

1 Abra httpsawsamazoncom e escolha Create an AWS Account (Criar uma conta da AWS)

Note

Se vocecirc fez login no Console de gerenciamento da AWS usando credenciais do Usuaacuterioraiz da conta da AWS escolha Sign in to a different account (Fazer login em uma contadiferente) Se vocecirc fez login no console usando as credenciais do IAM escolha Sign-in using

6

Tradutor da Amazon Guia do desenvolvedorCriar um usuaacuterio do IAM

root account credentials (Fazer login usando credenciais da conta raiz) Em seguida escolhaCreate a new AWS account (Criar uma conta da AWS)

2 Siga as instruccedilotildees online

Parte do procedimento de cadastro envolve receber uma chamada telefocircnica e digitar um coacutedigo deverificaccedilatildeo usando o teclado do telefone

Registre o ID de sua conta da AWS pois precisaraacute dele na proacutexima tarefa

Criar um usuaacuterio do IAMOs serviccedilos da AWS como o Amazon Translate exigem que vocecirc forneccedila credenciais quando acessaacute-losIsso permite que o serviccedilo determine se vocecirc tem permissotildees para acessar os recursos dele

Recomendamos que vocecirc acesse a AWS usando o AWS Identity and Access Management (IAM) emvez das credenciais de sua conta da AWS Para usar o IAM a fim de acessar a AWS crie um usuaacuteriodo IAM adicione o usuaacuterio a um grupo do IAM com permissotildees administrativas e em seguida concedapermissotildees administrativas ao usuaacuterio do IAM Em seguida vocecirc pode acessar a AWS usando um URLespecial e as credenciais do usuaacuterio do IAM

Os exerciacutecios deste guia pressupotildeem que vocecirc tenha um usuaacuterio do IAM chamado adminuser comprivileacutegios de administrador

Para criar um usuaacuterio administrador do

bull Em sua conta da AWS crie um usuaacuterio administrador chamado adminuser Para obter instruccedilotildeesconsulte Criar o primeiro usuaacuterio do IAM e grupo de administradores no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre IAM consulte o seguinte

bull AWS Identity and Access Management (IAM)bull Conceitos baacutesicosbull Guia do usuaacuterio do IAM

Proacutexima etapaEtapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)

Etapa 2 configurar a AWS Command Line Interface(AWS CLI)

Use a AWS CLI para fazer chamadas interativas para o Amazon Translate

Para configurar a AWS CLI

1 Baixe e configure a AWS CLI Para obter instruccedilotildees consulte os toacutepicos a seguir no Guia do usuaacuteriodo AWS Command Line Interface

bull Comeccedilar a usar a AWS Command Line Interface

7

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

bull Configurar a AWS Command Line Interface2 No arquivo AWS CLI da config adicione um perfil nomeado para o usuaacuterio administrador

[profile adminuser]aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-region

Use esse perfil ao executar os comandos da AWS CLI Para obter mais informaccedilotildees sobre perfisnomeados consulte Perfis nomeados no Guia do usuaacuterio do AWS Command Line Interface Paraobter uma lista das regiotildees da AWS consulte Regiotildees e endpoints no Referecircncia geral do AmazonWeb Services

3 Verifique a configuraccedilatildeo digitando o seguinte comando de ajuda no prompt de comando

aws translate help

Vocecirc deve visualizar uma breve descriccedilatildeo do Amazon Translate e uma lista dos comandosdisponiacuteveis

Proacutexima etapaEtapa 3 Conceitos baacutesicos (console) (p 8)

Etapa 3 Conceitos baacutesicos (console)A maneira mais faacutecil de comeccedilar a usar o Amazon Translate eacute traduzir um texto por meio do consoleVocecirc pode traduzir ateacute 5000 caracteres usando o console Se vocecirc ainda natildeo revisou os conceitos e aterminologia em Como Amazon Translate funciona (p 3) recomendamos fazer isso antes de continuar

Para comeccedilar a traduzir um texto acesse o Console de gerenciamento da AWS e abra o console doAmazon Translate

Se esta eacute a sua primeira vez usando o Amazon Translate selecione Try (Experimentar o AmazonTranslate)

Em Translate text selecione os idiomas de origem e de destino Insira o texto que vocecirc deseja traduzir nacaixa de texto agrave esquerda O texto traduzido eacute exibido na caixa de texto agrave direita

8

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorProacuteximas etapas

bull Conceitos baacutesicos do Amazon Translate (p 6)bull Exemplos (p 17)

5

Tradutor da Amazon Guia do desenvolvedorEtapa 1 configurar uma conta

Conceitos baacutesicos do AmazonTranslate

Para comeccedilar a usar o Amazon Translate configure uma conta da AWS e crie um usuaacuterio do AWSIdentity and Access Management (IAM) Para usar a AWS Command Line Interface (AWS CLI) baixe-a econfigure-a

Toacutepicosbull Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador (p 6)bull Etapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)bull Etapa 3 Conceitos baacutesicos (console) (p 8)bull Etapa 4 conceitos baacutesicos (AWS CLI) (p 10)bull Etapa 5 Conceitos baacutesicos (SDK) (p 12)

Etapa 1 configurar uma conta da AWS e criar umusuaacuterio administrador

Antes de usar Amazon Translate pela primeira vez execute as seguintes tarefas

1 Cadastre-se na AWS (p 6)2 Criar um usuaacuterio do IAM (p 7)

Cadastre-se na AWSAo se cadastrar na Amazon Web Services (AWS) sua conta seraacute automaticamente cadastrada para todosos serviccedilos da AWS incluindo o Amazon Translate Vocecirc seraacute cobrado apenas pelos serviccedilos que usar

Com o Amazon Translate vocecirc paga apenas pelos recursos que usa Se vocecirc eacute um novo cliente da AWSpode comeccedilar a usar o Amazon Translate gratuitamente Para obter mais informaccedilotildees consulte Niacutevel deuso gratuito da AWS

Se vocecirc jaacute tem uma conta da AWS vaacute para a proacutexima seccedilatildeo

Para criar uma conta da AWS

1 Abra httpsawsamazoncom e escolha Create an AWS Account (Criar uma conta da AWS)

Note

Se vocecirc fez login no Console de gerenciamento da AWS usando credenciais do Usuaacuterioraiz da conta da AWS escolha Sign in to a different account (Fazer login em uma contadiferente) Se vocecirc fez login no console usando as credenciais do IAM escolha Sign-in using

6

Tradutor da Amazon Guia do desenvolvedorCriar um usuaacuterio do IAM

root account credentials (Fazer login usando credenciais da conta raiz) Em seguida escolhaCreate a new AWS account (Criar uma conta da AWS)

2 Siga as instruccedilotildees online

Parte do procedimento de cadastro envolve receber uma chamada telefocircnica e digitar um coacutedigo deverificaccedilatildeo usando o teclado do telefone

Registre o ID de sua conta da AWS pois precisaraacute dele na proacutexima tarefa

Criar um usuaacuterio do IAMOs serviccedilos da AWS como o Amazon Translate exigem que vocecirc forneccedila credenciais quando acessaacute-losIsso permite que o serviccedilo determine se vocecirc tem permissotildees para acessar os recursos dele

Recomendamos que vocecirc acesse a AWS usando o AWS Identity and Access Management (IAM) emvez das credenciais de sua conta da AWS Para usar o IAM a fim de acessar a AWS crie um usuaacuteriodo IAM adicione o usuaacuterio a um grupo do IAM com permissotildees administrativas e em seguida concedapermissotildees administrativas ao usuaacuterio do IAM Em seguida vocecirc pode acessar a AWS usando um URLespecial e as credenciais do usuaacuterio do IAM

Os exerciacutecios deste guia pressupotildeem que vocecirc tenha um usuaacuterio do IAM chamado adminuser comprivileacutegios de administrador

Para criar um usuaacuterio administrador do

bull Em sua conta da AWS crie um usuaacuterio administrador chamado adminuser Para obter instruccedilotildeesconsulte Criar o primeiro usuaacuterio do IAM e grupo de administradores no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre IAM consulte o seguinte

bull AWS Identity and Access Management (IAM)bull Conceitos baacutesicosbull Guia do usuaacuterio do IAM

Proacutexima etapaEtapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)

Etapa 2 configurar a AWS Command Line Interface(AWS CLI)

Use a AWS CLI para fazer chamadas interativas para o Amazon Translate

Para configurar a AWS CLI

1 Baixe e configure a AWS CLI Para obter instruccedilotildees consulte os toacutepicos a seguir no Guia do usuaacuteriodo AWS Command Line Interface

bull Comeccedilar a usar a AWS Command Line Interface

7

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

bull Configurar a AWS Command Line Interface2 No arquivo AWS CLI da config adicione um perfil nomeado para o usuaacuterio administrador

[profile adminuser]aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-region

Use esse perfil ao executar os comandos da AWS CLI Para obter mais informaccedilotildees sobre perfisnomeados consulte Perfis nomeados no Guia do usuaacuterio do AWS Command Line Interface Paraobter uma lista das regiotildees da AWS consulte Regiotildees e endpoints no Referecircncia geral do AmazonWeb Services

3 Verifique a configuraccedilatildeo digitando o seguinte comando de ajuda no prompt de comando

aws translate help

Vocecirc deve visualizar uma breve descriccedilatildeo do Amazon Translate e uma lista dos comandosdisponiacuteveis

Proacutexima etapaEtapa 3 Conceitos baacutesicos (console) (p 8)

Etapa 3 Conceitos baacutesicos (console)A maneira mais faacutecil de comeccedilar a usar o Amazon Translate eacute traduzir um texto por meio do consoleVocecirc pode traduzir ateacute 5000 caracteres usando o console Se vocecirc ainda natildeo revisou os conceitos e aterminologia em Como Amazon Translate funciona (p 3) recomendamos fazer isso antes de continuar

Para comeccedilar a traduzir um texto acesse o Console de gerenciamento da AWS e abra o console doAmazon Translate

Se esta eacute a sua primeira vez usando o Amazon Translate selecione Try (Experimentar o AmazonTranslate)

Em Translate text selecione os idiomas de origem e de destino Insira o texto que vocecirc deseja traduzir nacaixa de texto agrave esquerda O texto traduzido eacute exibido na caixa de texto agrave direita

8

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorEtapa 1 configurar uma conta

Conceitos baacutesicos do AmazonTranslate

Para comeccedilar a usar o Amazon Translate configure uma conta da AWS e crie um usuaacuterio do AWSIdentity and Access Management (IAM) Para usar a AWS Command Line Interface (AWS CLI) baixe-a econfigure-a

Toacutepicosbull Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador (p 6)bull Etapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)bull Etapa 3 Conceitos baacutesicos (console) (p 8)bull Etapa 4 conceitos baacutesicos (AWS CLI) (p 10)bull Etapa 5 Conceitos baacutesicos (SDK) (p 12)

Etapa 1 configurar uma conta da AWS e criar umusuaacuterio administrador

Antes de usar Amazon Translate pela primeira vez execute as seguintes tarefas

1 Cadastre-se na AWS (p 6)2 Criar um usuaacuterio do IAM (p 7)

Cadastre-se na AWSAo se cadastrar na Amazon Web Services (AWS) sua conta seraacute automaticamente cadastrada para todosos serviccedilos da AWS incluindo o Amazon Translate Vocecirc seraacute cobrado apenas pelos serviccedilos que usar

Com o Amazon Translate vocecirc paga apenas pelos recursos que usa Se vocecirc eacute um novo cliente da AWSpode comeccedilar a usar o Amazon Translate gratuitamente Para obter mais informaccedilotildees consulte Niacutevel deuso gratuito da AWS

Se vocecirc jaacute tem uma conta da AWS vaacute para a proacutexima seccedilatildeo

Para criar uma conta da AWS

1 Abra httpsawsamazoncom e escolha Create an AWS Account (Criar uma conta da AWS)

Note

Se vocecirc fez login no Console de gerenciamento da AWS usando credenciais do Usuaacuterioraiz da conta da AWS escolha Sign in to a different account (Fazer login em uma contadiferente) Se vocecirc fez login no console usando as credenciais do IAM escolha Sign-in using

6

Tradutor da Amazon Guia do desenvolvedorCriar um usuaacuterio do IAM

root account credentials (Fazer login usando credenciais da conta raiz) Em seguida escolhaCreate a new AWS account (Criar uma conta da AWS)

2 Siga as instruccedilotildees online

Parte do procedimento de cadastro envolve receber uma chamada telefocircnica e digitar um coacutedigo deverificaccedilatildeo usando o teclado do telefone

Registre o ID de sua conta da AWS pois precisaraacute dele na proacutexima tarefa

Criar um usuaacuterio do IAMOs serviccedilos da AWS como o Amazon Translate exigem que vocecirc forneccedila credenciais quando acessaacute-losIsso permite que o serviccedilo determine se vocecirc tem permissotildees para acessar os recursos dele

Recomendamos que vocecirc acesse a AWS usando o AWS Identity and Access Management (IAM) emvez das credenciais de sua conta da AWS Para usar o IAM a fim de acessar a AWS crie um usuaacuteriodo IAM adicione o usuaacuterio a um grupo do IAM com permissotildees administrativas e em seguida concedapermissotildees administrativas ao usuaacuterio do IAM Em seguida vocecirc pode acessar a AWS usando um URLespecial e as credenciais do usuaacuterio do IAM

Os exerciacutecios deste guia pressupotildeem que vocecirc tenha um usuaacuterio do IAM chamado adminuser comprivileacutegios de administrador

Para criar um usuaacuterio administrador do

bull Em sua conta da AWS crie um usuaacuterio administrador chamado adminuser Para obter instruccedilotildeesconsulte Criar o primeiro usuaacuterio do IAM e grupo de administradores no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre IAM consulte o seguinte

bull AWS Identity and Access Management (IAM)bull Conceitos baacutesicosbull Guia do usuaacuterio do IAM

Proacutexima etapaEtapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)

Etapa 2 configurar a AWS Command Line Interface(AWS CLI)

Use a AWS CLI para fazer chamadas interativas para o Amazon Translate

Para configurar a AWS CLI

1 Baixe e configure a AWS CLI Para obter instruccedilotildees consulte os toacutepicos a seguir no Guia do usuaacuteriodo AWS Command Line Interface

bull Comeccedilar a usar a AWS Command Line Interface

7

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

bull Configurar a AWS Command Line Interface2 No arquivo AWS CLI da config adicione um perfil nomeado para o usuaacuterio administrador

[profile adminuser]aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-region

Use esse perfil ao executar os comandos da AWS CLI Para obter mais informaccedilotildees sobre perfisnomeados consulte Perfis nomeados no Guia do usuaacuterio do AWS Command Line Interface Paraobter uma lista das regiotildees da AWS consulte Regiotildees e endpoints no Referecircncia geral do AmazonWeb Services

3 Verifique a configuraccedilatildeo digitando o seguinte comando de ajuda no prompt de comando

aws translate help

Vocecirc deve visualizar uma breve descriccedilatildeo do Amazon Translate e uma lista dos comandosdisponiacuteveis

Proacutexima etapaEtapa 3 Conceitos baacutesicos (console) (p 8)

Etapa 3 Conceitos baacutesicos (console)A maneira mais faacutecil de comeccedilar a usar o Amazon Translate eacute traduzir um texto por meio do consoleVocecirc pode traduzir ateacute 5000 caracteres usando o console Se vocecirc ainda natildeo revisou os conceitos e aterminologia em Como Amazon Translate funciona (p 3) recomendamos fazer isso antes de continuar

Para comeccedilar a traduzir um texto acesse o Console de gerenciamento da AWS e abra o console doAmazon Translate

Se esta eacute a sua primeira vez usando o Amazon Translate selecione Try (Experimentar o AmazonTranslate)

Em Translate text selecione os idiomas de origem e de destino Insira o texto que vocecirc deseja traduzir nacaixa de texto agrave esquerda O texto traduzido eacute exibido na caixa de texto agrave direita

8

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCriar um usuaacuterio do IAM

root account credentials (Fazer login usando credenciais da conta raiz) Em seguida escolhaCreate a new AWS account (Criar uma conta da AWS)

2 Siga as instruccedilotildees online

Parte do procedimento de cadastro envolve receber uma chamada telefocircnica e digitar um coacutedigo deverificaccedilatildeo usando o teclado do telefone

Registre o ID de sua conta da AWS pois precisaraacute dele na proacutexima tarefa

Criar um usuaacuterio do IAMOs serviccedilos da AWS como o Amazon Translate exigem que vocecirc forneccedila credenciais quando acessaacute-losIsso permite que o serviccedilo determine se vocecirc tem permissotildees para acessar os recursos dele

Recomendamos que vocecirc acesse a AWS usando o AWS Identity and Access Management (IAM) emvez das credenciais de sua conta da AWS Para usar o IAM a fim de acessar a AWS crie um usuaacuteriodo IAM adicione o usuaacuterio a um grupo do IAM com permissotildees administrativas e em seguida concedapermissotildees administrativas ao usuaacuterio do IAM Em seguida vocecirc pode acessar a AWS usando um URLespecial e as credenciais do usuaacuterio do IAM

Os exerciacutecios deste guia pressupotildeem que vocecirc tenha um usuaacuterio do IAM chamado adminuser comprivileacutegios de administrador

Para criar um usuaacuterio administrador do

bull Em sua conta da AWS crie um usuaacuterio administrador chamado adminuser Para obter instruccedilotildeesconsulte Criar o primeiro usuaacuterio do IAM e grupo de administradores no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre IAM consulte o seguinte

bull AWS Identity and Access Management (IAM)bull Conceitos baacutesicosbull Guia do usuaacuterio do IAM

Proacutexima etapaEtapa 2 configurar a AWS Command Line Interface (AWS CLI) (p 7)

Etapa 2 configurar a AWS Command Line Interface(AWS CLI)

Use a AWS CLI para fazer chamadas interativas para o Amazon Translate

Para configurar a AWS CLI

1 Baixe e configure a AWS CLI Para obter instruccedilotildees consulte os toacutepicos a seguir no Guia do usuaacuteriodo AWS Command Line Interface

bull Comeccedilar a usar a AWS Command Line Interface

7

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

bull Configurar a AWS Command Line Interface2 No arquivo AWS CLI da config adicione um perfil nomeado para o usuaacuterio administrador

[profile adminuser]aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-region

Use esse perfil ao executar os comandos da AWS CLI Para obter mais informaccedilotildees sobre perfisnomeados consulte Perfis nomeados no Guia do usuaacuterio do AWS Command Line Interface Paraobter uma lista das regiotildees da AWS consulte Regiotildees e endpoints no Referecircncia geral do AmazonWeb Services

3 Verifique a configuraccedilatildeo digitando o seguinte comando de ajuda no prompt de comando

aws translate help

Vocecirc deve visualizar uma breve descriccedilatildeo do Amazon Translate e uma lista dos comandosdisponiacuteveis

Proacutexima etapaEtapa 3 Conceitos baacutesicos (console) (p 8)

Etapa 3 Conceitos baacutesicos (console)A maneira mais faacutecil de comeccedilar a usar o Amazon Translate eacute traduzir um texto por meio do consoleVocecirc pode traduzir ateacute 5000 caracteres usando o console Se vocecirc ainda natildeo revisou os conceitos e aterminologia em Como Amazon Translate funciona (p 3) recomendamos fazer isso antes de continuar

Para comeccedilar a traduzir um texto acesse o Console de gerenciamento da AWS e abra o console doAmazon Translate

Se esta eacute a sua primeira vez usando o Amazon Translate selecione Try (Experimentar o AmazonTranslate)

Em Translate text selecione os idiomas de origem e de destino Insira o texto que vocecirc deseja traduzir nacaixa de texto agrave esquerda O texto traduzido eacute exibido na caixa de texto agrave direita

8

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

bull Configurar a AWS Command Line Interface2 No arquivo AWS CLI da config adicione um perfil nomeado para o usuaacuterio administrador

[profile adminuser]aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-region

Use esse perfil ao executar os comandos da AWS CLI Para obter mais informaccedilotildees sobre perfisnomeados consulte Perfis nomeados no Guia do usuaacuterio do AWS Command Line Interface Paraobter uma lista das regiotildees da AWS consulte Regiotildees e endpoints no Referecircncia geral do AmazonWeb Services

3 Verifique a configuraccedilatildeo digitando o seguinte comando de ajuda no prompt de comando

aws translate help

Vocecirc deve visualizar uma breve descriccedilatildeo do Amazon Translate e uma lista dos comandosdisponiacuteveis

Proacutexima etapaEtapa 3 Conceitos baacutesicos (console) (p 8)

Etapa 3 Conceitos baacutesicos (console)A maneira mais faacutecil de comeccedilar a usar o Amazon Translate eacute traduzir um texto por meio do consoleVocecirc pode traduzir ateacute 5000 caracteres usando o console Se vocecirc ainda natildeo revisou os conceitos e aterminologia em Como Amazon Translate funciona (p 3) recomendamos fazer isso antes de continuar

Para comeccedilar a traduzir um texto acesse o Console de gerenciamento da AWS e abra o console doAmazon Translate

Se esta eacute a sua primeira vez usando o Amazon Translate selecione Try (Experimentar o AmazonTranslate)

Em Translate text selecione os idiomas de origem e de destino Insira o texto que vocecirc deseja traduzir nacaixa de texto agrave esquerda O texto traduzido eacute exibido na caixa de texto agrave direita

8

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorEtapa 3 Conceitos baacutesicos (console)

Na seccedilatildeo JSON samples vocecirc pode ver a entrada e a saiacuteda JSON para a operaccedilatildeoTranslateText (p 54)

9

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

Proacutexima etapaEtapa 4 conceitos baacutesicos (AWS CLI) (p 10)

Etapa 4 conceitos baacutesicos (AWS CLI)Nos exerciacutecios a seguir use a interface de linha de comando da AWS (AWS CLI) para traduzir o textoPara concluir esses exerciacutecios vocecirc precisa estar familiarizado com a CLI e ter um editor de textoPara obter mais informaccedilotildees consulte Etapa 2 configurar a AWS Command Line Interface (AWSCLI) (p 7)

Haacute duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate Para textos curtos vocecircpode fornecer o texto que deseja traduzir como um paracircmetro do comando translate-text Para textosmais longos vocecirc pode fornecer o idioma de origem o idioma de destino e o texto em um arquivo JSON

Para usar o Amazon Translate na linha de comando vocecirc precisa saber o endpoint e a regiatildeo do serviccediloPara obter uma lista de endpoints e regiotildees disponiacuteveis consulte Diretrizes e limites (p 51)

10

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorTraduzir textos usando a linha de comando

Traduzir textos usando a linha de comandoO exemplo a seguir mostra como usar a operaccedilatildeo translate-text na linha de comando para traduziro texto O exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^) Na linha de comandodigite o conteuacutedo a seguir

aws translate translate-text --region region --source-language-code en --target-language-code es --text hello world

A resposta eacute o seguinte JSON

TargetLanguageCode es Text Hola mundo SourceLanguageCode en

Traduzir textos usando um arquivo JSONEste exemplo mostra como usar a operaccedilatildeo translate-text para traduzir um bloco de texto maior apartir de um arquivo JSON Vocecirc pode especificar os idiomas de origem e de destino na linha de comandomas neste exemplo especifique-os no arquivo JSON

Note

O arquivo JSON eacute formatado visando a capacidade de leitura Reformate o campo Text pararemover as quebras de linhaO exemplo eacute formatado para Unix Linux e macOS Para Windows substitua o caractere decontinuaccedilatildeo Unix de barra invertida () no final de cada linha por um circunflexo (^)

Para traduzir o texto usando um arquivo JSON

1 Copie o seguinte texto em um arquivo JSON chamado translatejson

Text Amazon Translate translates documents into English from six languages and vice versa in real time It uses advanced machine learning technologies to provide high-quality real-time translation Use it to translate documents or to build applications that work in multiple languages SourceLanguageCode en TargetLanguageCode fr

2 Na AWS CLI execute o seguinte comando

aws translate translate-text --region region --cli-input-json filetranslatejson gt translatedjson

O comando resulta em um arquivo JSON que conteacutem o seguinte texto de JSON

11

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorProacutexima etapa

TargetLanguageCode fr Text Amazon Translate traduit les documents en anglais agrave partir de six langues et vice versa en temps reacuteel Il utilise des technologies avanceacutees dapprentissage de la machine pour fournir une traduction en temps reacuteel de haute qualiteacute Utilisez-le pour traduire des documents ou pour creacuteer des applications qui fonctionnent en plusieurs langues SourceLanguageCode en

Proacutexima etapaPara obter outras formas de usar o Amazon Translate consulte Exemplos (p 17)

Etapa 5 Conceitos baacutesicos (SDK)Os exemplos a seguir demonstram como usar a operaccedilatildeo Amazon Translate do TranslateText (p 54)usando Java e Python Use-os para saber mais sobre a operaccedilatildeo TranslateText e como criar blocospara seus proacuteprios aplicativos

Para executar os exemplos de Java vocecirc precisa instalar o AWS SDK for Java Para obter instruccedilotildees parainstalar o SDK para Java consulte Configurar o AWS SDK para Java

Toacutepicosbull Traduzir textos usando o AWS SDK for Java (p 12)bull Traduzir textos usando o AWS SDK for Python (Boto) (p 13)bull Traduzir textos usando o AWS Mobile SDK para Android (p 13)bull Traduzir textos usando o AWS Mobile SDK for iOS (p 15)

Traduzir textos usando o AWS SDK for JavaO exemplo a seguir demonstra como usar a TranslateText (p 54) operaccedilatildeo em Java Para executaresse exemplo eacute necessaacuterio ter o AWS SDK for Java Para obter instruccedilotildees para instalar o SDK para Javaconsulte Configurar o AWS SDK para Java

import comamazonawsauthAWSStaticCredentialsProviderimport comamazonawsauthBasicAWSCredentialsimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class App private static final String REGION = region public static void main( String[] args ) Create credentials using a provider chain For more information see httpsdocsawsamazoncomsdk-for-javav1developer-guidecredentialshtml AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChaingetInstance() AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(new AWSStaticCredentialsProvider(awsCreds)) withRegion(REGION)

12

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorComo usar o AWS SDK para Python

build() TranslateTextRequest request = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(resultgetTranslatedText())

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dosoutros idiomas compatiacuteveis Para ver uma lista das linguagens consulte Como Amazon Translatefunciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS SDK for Python (Boto)O exemplo a seguir demonstra como usar a operaccedilatildeo TranslateText (p 54) em Python Para executaacute-la vocecirc deve primeiro instalar Amazon Translate por meio da AWS CLI Para obter instruccedilotildees consulte thesection called ldquoEtapa 2 Configurar aAWS CLIrdquo (p 7)

import boto3

translate = boto3client(service_name=translate region_name=region use_ssl=True)

result = translatetranslate_text(Text=Hello World SourceLanguageCode=en TargetLanguageCode=de)print(TranslatedText + resultget(TranslatedText))print(SourceLanguageCode + resultget(SourceLanguageCode))print(TargetLanguageCode + resultget(TargetLanguageCode))

Vocecirc pode alterar os idiomas de origem e de destino de acordo com as restriccedilotildees a seguir

bull Se o idioma de origem for o inglecircs vocecirc pode traduzir o texto de origem para qualquer um dos outrosidiomas compatiacuteveis Para ver uma lista das linguagens consulte Como ele funciona (p 3)

bull Se o idioma de origem natildeo for inglecircs o idioma de destino deveraacute ser inglecircs

Traduzir textos usando o AWS Mobile SDK paraAndroidVocecirc pode usar o Amazon Translate em um aplicativo Android para traduzir textos

Para configurar o exemplo

1 Configurar AWS Mobile SDK para Android Para obter instruccedilotildees consulte Android opccedilotildees deconfiguraccedilatildeo para o SDK no Guia do desenvolvedor do AWS Mobile

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

13

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK para Android

3 Crie um novo projeto com o Android Studio4 Adicione o seguinte agrave seccedilatildeo de dependecircncias do arquivo buildgradle

dependencies implementation comamazonawsaws-android-sdk-translate2620

5 Adicione as permissotildees a seguir ao arquivo AndroidManifestxml

ltuses-permission androidname=androidpermissionINTERNETgtltuses-permission androidname=androidpermissionACCESS_NETWORK_STATEgt

6 Copie o coacutedigo-fonte no seu projeto7 Altere a chave de acesso e a chave de acesso secreta para as chaves que vocecirc registrou na etapa

um

CodeUse o seguinte coacutedigo para criar o exemplo

package comamazonawsamazontranslatetester import androidappActivityimport androidutilLog import comamazonawsauthAWSCredentialsimport comamazonawshandlersAsyncHandlerimport comamazonawsservicestranslateAmazonTranslateAsyncClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResult public class MainActivity extends Activity private static final String LOG_TAG = MainActivityclassgetSimpleName() Override protected void onCreate(Bundle savedInstanceState) AWSCredentials awsCredentials = new AWSCredentials() Override public String getAWSAccessKeyId() return access key Override public String getAWSSecretKey() return secret key AmazonTranslateAsyncClient translateAsyncClient = new AmazonTranslateAsyncClient(awsCredentials) TranslateTextRequest translateTextRequest = new TranslateTextRequest() withText(Hello world) withSourceLanguageCode(en) withTargetLanguageCode(es) translateAsyncClienttranslateTextAsync(translateTextRequest new AsyncHandlerltTranslateTextRequest TranslateTextResultgt() Override public void onError(Exception e)

14

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Loge(LOG_TAG Error occurred in translating the text + egetLocalizedMessage()) Override public void onSuccess(TranslateTextRequest request TranslateTextResult translateTextResult) Logd(LOG_TAG Original Text + requestgetText()) Logd(LOG_TAG Translated Text + translateTextResultgetTranslatedText()) )

Traduzir textos usando o AWS Mobile SDK for iOSVocecirc pode usar o Amazon Translate em um aplicativo iOS para traduzir textos

Para configurar o exemplo

1 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44) Apoacutes criar o usuaacuterio baixe as credenciais ou registre a chave de acessoe a chave de acesso secreta

2 Instalar o Xcode versatildeo 80 ou posterior Vocecirc pode baixar a versatildeo mais recente do Xcode no site daApple httpsdeveloperapplecomxcode

3 Instalar o Cocoapods Em uma janela de terminal execute o seguinte comando

sudo gem install cocoapods

4 Crie um projeto usando o Xcode Em seguida em uma janela de terminal navegue ateacute o diretoacuterio queconteacutem o arquivo xcodeproj do seu projeto e execute o seguinte comando

pod init

5 Adicione os principais componentes do Mobile SDK for iOS ao arquivo pod

platform ios 90target app name do use_frameworks pod AWSTranslate ~gt 2619 other podsend

6 Instale as dependecircncias executando o seguinte comando em uma janela de terminal

pod install --repo-update

7 A execuccedilatildeo de pod install cria um novo arquivo do Workspace Feche o projeto Xcode e emseguida abra-o usando o arquivo project_namexcworkspace A partir de agora vocecirc deve usaresse arquivo somente para abrir o projeto Xcode

15

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Mobile SDK for iOS

Compile o aplicativo novamente apoacutes abri-lo para resolver as APIs das novas bibliotecas chamadas nocoacutedigo

8 Adicione a seguinte instruccedilatildeo de importaccedilatildeo ao controlador de visualizaccedilatildeo

import AWSTranslate

9 Copie o seguinte coacutedigo no seu projeto XCode Atualize a chave de acesso e a chave secreta para osvalores que vocecirc registrou na etapa 1

CodeUse o seguinte coacutedigo para criar o exemplo

var credentialsProvider = AWSStaticCredentialsProvider(accessKey access key secretKey secret key)

var configuration = AWSServiceConfiguration(region AWSRegionUSEast1 credentialsProvider credentialsProvider)

AWSServiceManagerdefault()defaultServiceConfiguration = configuration

let translateClient = AWSTranslatedefault()let translateRequest = AWSTranslateTranslateTextRequest()translateRequestsourceLanguageCode = entranslateRequesttargetLanguageCode = estranslateRequesttext = Hello World let callback (AWSTranslateTranslateTextResponse Error) -gt Void = (response error) in guard let response = response else print(Got error (error)) return if let translatedText = responsetranslatedText print(translatedText) translateClienttranslateText(translateRequest completionHandler callback)

16

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Polly com o Amazon Translate

ExemplosOs exemplos a seguir mostram como vocecirc pode usar o Amazon Translate

Toacutepicosbull Uso do Amazon Polly com o Amazon Translate (p 17)bull Uso do Amazon Translate para traduzir um canal de bate-papo (p 21)bull Uso do Amazon Translate com o Amazon DynamoDB (p 29)bull Uso do Amazon Translate para traduzir uma paacutegina da Web (p 32)bull Uso do Amazon Translate para traduzir grandes documentos (p 35)bull Uso do Signature versatildeo 4 com o Amazon Translate (p 37)

Uso do Amazon Polly com o Amazon TranslatePara fazer a leitura do texto traduzido em voz alta vocecirc pode usar o Amazon Polly com o AmazonTranslate Neste exemplo crie uma paacutegina da Web em que pode traduzir o texto usando o AmazonTranslate e em seguida faccedila a leitura desse texto em voz alta usando o Amazon Polly O coacutedigo pode serresumido no seguinte

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores para o Amazon Translate e o Amazon Pollybull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Translatebull Uma funccedilatildeo que lecirc dados da paacutegina da Web e chama o Amazon Pollybull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior

17

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCode

CodeA seguir vocecirc encontra o coacutedigo completo da paacutegina da Web de exemplo Vocecirc pode copiar esse coacutedigoem um arquivo HTML para executar o exemplo no seu proacuteprio servidor da Web

ltDOCTYPE htmlgtlthtmlgt

ltheadgt lttitlegtAmazon Translatelttitlegt ltscript src=aws-sdkdistaws-sdkjsgtltscriptgtltheadgt

ltbodygt lth1 style=text-align leftgtAmazon Translate Demolth1gt ltbrgt lttable class=tggt lttrgt ltth align=leftgtSource Language Code ltselect id=sourceLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt ltth align=leftgtTarget Language Code ltselect id=targetLanguageCodeDropdowngt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=csgtcsltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=itgtitltoptiongt ltoption value=jagtjaltoptiongt ltoption value=ptgtptltoptiongt ltoption value=rugtrultoptiongt ltoption value=trgttrltoptiongt ltoption value=zhgtzhltoptiongt ltoption value=zh-TWgtzh-TWltoptiongt ltselectgt ltthgt lttrgt lttrgt ltthgt lttextarea id=inputText name=inputText rows=10 cols=50 placeholder=Text to translategtlttextareagt ltthgt ltthgt lttextarea id=outputText name=outputText rows=10 cols=50 placeholder=Translated textgtlttextareagt ltthgt

18

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCode

lttrgt lttrgt ltth align=leftgt ltbutton type=button name=translateButton onclick=doTranslate()gtTranslateltbuttongt ltbutton type=button name=synthesizeButton onclick=doSynthesizeInput()gtSynthesize Input Speechltbuttongt ltbutton type=button name=clearButton onclick=clearInputs()gtClearltbuttongt ltthgt ltth align=leftgt ltbutton type=button name=synthesizeButton onclick=doSynthesizeOutput()gtSynthesize Output Speechltbuttongt ltthgt lttrgt lttablegt ltscript type=textjavascriptgt set the focus to the input box documentgetElementById(inputText)focus()

Change the region and endpoint AWSconfigregion = region Region

In a production application you should use a secure method of authenticating uses such as the ones described here httpsdocsawsamazoncomsdk-for-javascriptv2developer-guidesetting-credentials-browserhtml Note that Amazon Translate does not work with Amazon Cognito Identity For this example you place the credentials of an IAM user in the HTML page The IAM user associated with these credentials must have permissions to call Amazon Translate We recommend using the following permissions policy and nothing more as anyone that has access to this HTML page will also have access to these hard-coded credentials Version 2012-10-17 Statement [ Action [ translateTranslateText pollySynthesizeSpeech ] Resource Effect Allow ] For more information about the AWS Credentials object see httpdocsawsamazoncomAWSJavaScriptSDKlatestAWSCredentialshtml AWSconfigcredentials = new AWSCredentials(access key secret key)

var translate = new AWSTranslate(region AWSconfigregion) var polly = new AWSPolly()

function doTranslate() var inputText = documentgetElementById(inputText)value if (inputText)

19

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCode

alert(Input text cannot be empty) exit()

get the language codes var sourceDropdown = documentgetElementById(sourceLanguageCodeDropdown) var sourceLanguageCode = sourceDropdownoptions[sourceDropdownselectedIndex]text

var targetDropdown = documentgetElementById(targetLanguageCodeDropdown) var targetLanguageCode = targetDropdownoptions[targetDropdownselectedIndex]text

var params = Text inputText SourceLanguageCode sourceLanguageCode TargetLanguageCode targetLanguageCode

translatetranslateText(params function(err data) if (err) consolelog(err errstack) alert(Error calling Amazon Translate + errmessage) return if (data) var outputTextArea = documentgetElementById(outputText) outputTextAreavalue = dataTranslatedText )

function doSynthesizeInput() var text = documentgetElementById(inputText)valuetrim() if (text) return var sourceLanguageCode = documentgetElementById(sourceLanguageCodeDropdown)value doSynthesize(text sourceLanguageCode)

function doSynthesizeOutput() var text = documentgetElementById(outputText)valuetrim() if (text) return var targetLanguageCode = documentgetElementById(targetLanguageCodeDropdown)value doSynthesize(text targetLanguageCode)

function doSynthesize(text languageCode) var voiceId switch (languageCode) case de voiceId = Marlene break case en voiceId = Joanna break case es voiceId = Penelope break case fr voiceId = Celine

20

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

break case pt voiceId = Vitoria break default voiceId = null break if (voiceId) alert(Speech synthesis unsupported for language code + languageCode + ) return var params = OutputFormat mp3 SampleRate 8000 Text text TextType text VoiceId voiceId pollysynthesizeSpeech(params function(err data) if (err) consolelog(err errstack) an error occurred alert(Error calling Amazon Polly + errmessage) else var uInt8Array = new Uint8Array(dataAudioStream) var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer]) var url = URLcreateObjectURL(blob)

audioElement = new Audio([url]) audioElementplay() )

function clearInputs() documentgetElementById(inputText)value = documentgetElementById(outputText)value = documentgetElementById(sourceLanguageCodeDropdown)value = en documentgetElementById(targetLanguageCodeDropdown)value = en ltscriptgtltbodygt

lthtmlgt

Uso do Amazon Translate para traduzir um canalde bate-papo

Vocecirc pode usar o Amazon Translate para traduccedilatildeo em tempo real de mensagens de bate-papo Esteexemplo usa um canal do Twitch mas vocecirc pode usaacute-lo como um ponto de partida para outros textos destreaming em tempo real como outras plataformas de bate-papo interaccedilotildees de atendimento ao clientequadros de mensagens e outros

Este exemplo usa uma paacutegina da web que mostra mensagens em inglecircs em tempo real e suas traduccedilotildeesem tempo real lado a lado Vocecirc pode enviar as mensagens para o Amazon Polly fazer a leitura do textoem voz alta Para seguir uma pessoa no bate-papo digite o nome do usuaacuterio O aplicativo faraacute a leitura emvoz alta de mensagens apenas desse usuaacuterio

21

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

O coacutedigo pode ser resumido da seguinte forma

bull CSS e HTML para criar a paacutegina da Webbull Coacutedigo de inicializaccedilatildeo que cria controladores do Amazon Translate e Amazon Pollybull Uma funccedilatildeo de retorno de chamada que eacute executada quando uma mensagem de bate-papo eacute recebidabull Uma funccedilatildeo que envia mensagens de bate-papobull Uma funccedilatildeo que chama o Amazon Translate para traduzir mensagensbull Uma funccedilatildeo que chama o Amazon Polly para sintetizar falabull As funccedilotildees do utilitaacuterio para gerenciar a paacutegina da Web

Para configurar o exemplo

1 Instale e configure a AWS SDK for JavaScript Para obter instruccedilotildees para instalar o SDK forJavaScript consulte Instalar o SDK para JavaScript

2 Copie o coacutedigo de exemplo para um arquivo HTML em seu servidor da Web3 Atualize a tag ltscriptgt para o local onde vocecirc instalou o SDK for JavaScript4 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar as operaccedilotildees do Amazon

Translate e do Amazon Polly Para obter uma lista das regiotildees com suporte do Amazon Translateconsulte Diretrizes e limites (p 51) Para obter uma lista das regiotildees com suporte do Amazon Pollyconsulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

5 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para as permissotildeesnecessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonTranslate (p 44) e Uso de poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o AmazonPolly no Guia do desenvolvedor do Amazon Polly

6 Forneccedila o ID de acesso e a chave secreta do usuaacuterio do IAM criados na etapa anterior7 Insira um nome de usuaacuterio do Twitch e um token OAuth para sua conta Vocecirc pode criar uma conta do

Twitch em httpswwwtwitchtv Vocecirc pode criar um token OAuth do Twitch em httpstwitchappscomtmi

ltdoctype htmlgtlthtml lang=engtltheadgt lttitlegtAmazon Translatelttitlegt ltmeta charset=utf-8gt ltmeta name=viewport content=width=device-width initial-scale=1 shrink-to-fit=nogt

lt-- Latest compiled and minified CSS for Bootstrap --gt ltlink rel=stylesheet href=httpsmaxcdnbootstrapcdncombootstrap337cssbootstrapmincss integrity=sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTszK68vbdEjh4u crossorigin=anonymousgt

lt-- Custom CSS --gt ltstylegt topHeader background-color 6441a4 padding 10px border-bottom solid 1px cacaca color white

panelHeading

22

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

background-color 6441a4 important

panelBody min-height 450px max-height 450pxoverflow-y scroll

body margin-left 0px margin-right 0px height 100 ltstylegtltheadgtltbodygt ltdiv class=container-fluidgt lt--Top Header--gt ltdiv class=row topHeadergt ltdiv class=col-md-12gt lth4gtAmazon Translate - Artificial Intelligence on AWS - Powerful machine learning for all Developers and Data Scientistslth4gt ltdivgt ltdivgt

lt--Status Label--gt ltdiv class=rowgt ltdiv class=col-md-12gt ltp class=bg-infogt ltdiv id=connecting-divgtltdivgt ltpgt ltdivgt ltdivgt

ltdiv class=row style=padding 10pxgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=text id=channel class=form-control value= placeholder=Channelgt ltdivgt ltdiv class=form-groupgt ltselect id=sourceLanguage class=form-controlgt ltoption value=engtenltoptiongt ltoption value=argtarltoptiongt ltoption value=de selected=selectedgtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltselect id=targetLanguage class=form-controlgt ltoption value=en selected=selectedgtenltoptiongt ltoption value=argtarltoptiongt ltoption value=degtdeltoptiongt ltoption value=esgtesltoptiongt ltoption value=frgtfrltoptiongt ltoption value=ptgtptltoptiongt ltoption value=zhgtzhltoptiongt ltselectgt ltdivgt ltdiv class=form-groupgt ltbutton type=button class=form-control id=btn-go onclick=connect()gtGoltbuttongt

23

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltbutton type=button class=form-control id=btn-stop onclick=locationhref=indexhtmlgtStopltbuttongt ltspan id=statusgtltspangt ltdivgt ltdivgt ltdivgt ltdiv class=col-md-6gt ltdiv class=form-inlinegt ltdiv class=form-groupgt ltinput type=checkbox id=cbSpeak value=Speakgt Speak Live Translation ltinput type=text id=follow class=form-control value= placeholder=followgt ltdivgt ltdivgt ltdivgt ltdivgt

lt--Chat Boxes--gt ltdiv class=rowgt lt--Live Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Chatltdivgt ltdiv id=livechatc class=panel-body panelBodygt ltdiv class=subscribe id=livechatgtltdivgt ltdivgt ltdivgt ltdivgt lt--Live Chat--gt lt--Translated Chat--gt ltdiv class=col-md-6gt ltdiv class=panel panel-primarygt ltdiv class=panel-heading panelHeadinggtLive Translationltdivgt ltdiv id=livetranslationc class=panel-body panelBodygt ltdiv class=imageDetected id=livetranslationgtltdivgt ltdivgt ltdivgt ltdivgt lt--Translated Chat--gt ltdivgt

lt--Send Message--gt ltdiv class=rowgt ltdiv class=col-md-11gt ltinput type=text id=message class=form-controlgt ltdivgt ltdiv class= col-md-1gt ltbutton type=button class=form-control btn btn-default id=btn-send onclick=sendMessage()gtSendltbuttongt ltdivgt ltdivgt ltdivgt

lt-- Latest compiled and minified JavaScript --gt lt-- jQuery first then Bootstrap JS --gt ltscript src=httpscodejquerycomjquery-321slimminjs integrity=sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRrrE9Qpg6aAZGJwFDMVNAGpGFF93hXpG5KkN crossorigin=anonymousgtltscriptgt ltscript src=httpsmaxcdnbootstrapcdncombootstrap337jsbootstrapminjs integrity=sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa crossorigin=anonymousgtltscriptgt

ltscript src=aws-js-sdkdistaws-sdk-alljsgtltscriptgt ltscript src=httpcdntmijsorgjs121tmiminjs integrity=sha384-eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw crossorigin=anonymousgtltscriptgt

24

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

ltscriptgt cred = twitchUsername Twitch user name twitchOAuthToken Twitch OAuth token awsAccessKeyId access key awsSecretAccessKey secret key

AWSconfigregion = region ep = new AWSEndpoint(endpoint)

AWSconfigcredentials = new AWSCredentials(credawsAccessKeyId credawsSecretAccessKey) windowtranslator = new AWSTranslate(endpoint ep region AWSconfigregion)

Init and Connect to Chat function connect() init()

Twitch Client var options = options debug false connection cluster aws reconnect true identity username credtwitchUsername password credtwitchOAuthToken channels [conchannel]

windowclient = tmiclient(options)

windowclientconnect()

Attached Handlers windowclienton(chat onChat) windowclienton(connecting onConnecting) windowclienton(connected onConnected)

Disable UI Elements documentgetElementById(sourceLanguage)disabled = true documentgetElementById(targetLanguage)disabled = true documentgetElementById(channel)disabled = true documentgetElementById(btn-go)disabled = true

function init() Get UI Controls var lc = documentgetElementById(livechat) var lt = documentgetElementById(livetranslation) var lcc = documentgetElementById(livechatc) var ltc = documentgetElementById(livetranslationc) var cbspeak = documentgetElementById(cbSpeak) var follow = documentgetElementById(follow) var sendMessage = documentgetElementById(message)

Cache values con = channel documentgetElementById(channel)value sourceLanguage documentgetElementById(sourceLanguage)value targetLanguage documentgetElementById(targetLanguage)value

25

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

liveChatUI lc liveTranslationUI lt liveChatUIContainer lcc liveTranslationUIContainer ltc cbSpeak cbspeak follow follow sendMessage sendMessage

lcinnerHTML = ltinnerHTML =

Speaker var voiceId = Joanna if(contargetLanguage == en) voiceId = Joanna else if(contargetLanguage == de) voiceId = Marlene else if(contargetLanguage == es) voiceId = Conchita else if(contargetLanguage == fr) voiceId = Celine else if(contargetLanguage == pt) voiceId = Ines else voiceId = Joanna windowaudioPlayer = AudioPlayer(voiceId) Init and Connect to Chat

Receive and Translate Chat function onChat (channel userstate message self) Dont listen to my own messages if (self) return

Translate if (message) var username = userstate[username]

var params = Text message SourceLanguageCode consourceLanguage TargetLanguageCode contargetLanguage

windowtranslatortranslateText(params function onIncomingMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Print original message in chat UI conliveChatUIinnerHTML += ltstronggt + username + ltstronggt + message + ltbrgt

Print translation in translation UI conliveTranslationUIinnerHTML += ltstronggt + username + ltstronggt + dataTranslatedText + ltbrgt

If speak translation in enabled speak translated message if(concbSpeakchecked) if(confollowvalue == || username == confollowvalue) audioPlayerSpeak(username + says + dataTranslatedText)

26

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight ) Receive and Translate Chat

Client Connecting function onConnecting (address port) documentgetElementById(status)innerHTML = [ Connecting]

function onConnected (address port) documentgetElementById(status)innerHTML = [ Connected ] windowaudioPlayerSpeak(Connected to channel + conchannel + You should now be getting live chat messages) Client Connecting

Send Message function sendMessage() if(consendMessagevalue) message = consendMessagevalue var params = Text consendMessagevalue SourceLanguageCode contargetLanguage TargetLanguageCode consourceLanguage

windowtranslatortranslateText(params function onSendMessageTranslate(err data) if (err) consolelog(Error calling Translate + errmessage + errstack) if (data) consolelog(M + message) consolelog(T + dataTranslatedText)

Send message to chat windowclientaction(conchannel dataTranslatedText)

Clear send message UI consendMessagevalue =

Print original message in Translated UI conliveTranslationUIinnerHTML += ltstronggt ME ltstronggt + message + ltbrgt

Print translated message in Chat UI conliveChatUIinnerHTML += ltstronggt ME ltstronggt + dataTranslatedText + ltbrgt

Scroll chat and translated UI to bottom to keep focus on latest messages conliveChatUIContainerscrollTop = conliveChatUIContainerscrollHeight conliveTranslationUIContainerscrollTop = conliveTranslationUIContainerscrollHeight )

27

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir um canal de bate-papo

Send Message

Audio player function AudioPlayer(voiceId) var audioPlayer = documentcreateElement(audio) audioPlayersetAttribute(id audioPlayer) documentbodyappendChild(audioPlayer)

var isSpeaking = false

var speaker = self this playlist[]

Speak function (text) If currently speaking a message add new message to the playlist if (isSpeaking) thisplaylistpush(text) else speakTextMessage(text)then(speakNextTextMessage)

Speak text message function speakTextMessage(text) return new Promise(function (resolve reject) isSpeaking = true getAudioStream(text)then(playAudioStream)then(resolve) )

Speak next message in the list function speakNextTextMessage() var pl = speakerplaylist if (pllength gt 0) var txt = pl[0] plsplice(0 1) speakTextMessage(txt)then(speakNextTextMessage)

Get synthesized speech from Amazon polly function getAudioStream(textMessage) return new Promise(function (resolve reject) var polly = new AWSPolly() var params = OutputFormat mp3 Text textMessage VoiceId voiceId pollysynthesizeSpeech(params function (err data) if (err) reject(err) else resolve(dataAudioStream) ) )

Play audio stream function playAudioStream(audioStream) return new Promise(function (resolve reject) var uInt8Array = new Uint8Array(audioStream)

28

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate com o DynamoDB

var arrayBuffer = uInt8Arraybuffer var blob = new Blob([arrayBuffer])

var url = URLcreateObjectURL(blob) audioPlayersrc = url audioPlayeraddEventListener(ended function () isSpeaking = false resolve() ) audioPlayerplay() )

return speaker Audio player ltscriptgtltbodygtlthtmlgt

Uso do Amazon Translate com o AmazonDynamoDB

Este exemplo mostra como traduzir uma anaacutelise de produto e armazenaacute-la no Amazon DynamoDB Sevocecirc solicitar a mesma anaacutelise posteriormente o DynamoDB a retornaraacute sem que o Amazon Translateprecise traduzi-la novamente

Neste exemplo

bull Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a traduccedilatildeo e uma funccedilatildeoLambda que chama a operaccedilatildeo do TranslateText (p 54)

bull Teste a funccedilatildeo usando o console do AWS Lambda

Para executar o exemplo da

1 Copie o conteuacutedo de examplepy que vocecirc pode encontrar no Funccedilatildeo Lambda emPython (p 30) em um arquivo chamado examplepy examplepy eacute uma funccedilatildeo Lambda quechama a operaccedilatildeo do TranslateText (p 54) Compacte o arquivo em um arquivo zip chamadoexamplezip Armazene-o em um bucket do S3 na mesma regiatildeo da AWS em que vocecirc desejaexecutar a funccedilatildeo

2 Crie um novo arquivo denominado templateyaml Copie o coacutedigo de modelo do AWSCloudFormation que vocecirc pode encontrar em Modelo do AWS CloudFormation (p 32) no arquivoO AWS CloudFormation usa o modelo para criar os recursos para o aplicativo de exemplo Altere oBUCKET_NAME para o nome do bucket do S3 que conteacutem o examplezip Salve o arquivo em umdiretoacuterio local

3 Faccedila login no Console de gerenciamento da AWS e abra o console do AWS CloudFormation emhttpsconsoleawsamazoncomcloudformation

4 Selecione Create new stack5 Selecione Upload a template to Amazon S3 e em seguida selecione Choose file Selecione o

templateyaml que vocecirc criou na etapa 2 e em seguida selecione Next6 Digite um nome para a pilha e selecione Next7 Na paacutegina Options selecione Next8 Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheccedilo que o

pode criar recursos do) e I acknowledge that AWS CloudFormation might create IAM resources with

29

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

custom names (Eu reconheccedilo que o pode criar recursos do com nomes personalizados) Para obtermais informaccedilotildees consulte Controlar acesso com o AWS Identity and Access Management no Guiado usuaacuterio do AWS CloudFormation

9 Selecione Create Change Set10 Apoacutes o AWS CloudFormation criar o conjunto de alteraccedilotildees selecione Execute (Executar) Aguarde

ateacute que o AWS CloudFormation crie a pilha11 Faccedila login no Console de gerenciamento da AWS e abra o console AWS Lambda em https

consoleawsamazoncomlambda12 Selecione a nova funccedilatildeo O nome comeccedila com TestTranslate-ReviewTranslate13 Na paacutegina de detalhes da funccedilatildeo selecione Test14 Em Event name (Nome do evento) digite TestTranslate Em Configure test event substitua o

JSON pelo seguinte

review hello world target_language es source_language en review_id 1

Escolha Criar15 Verifique se TestTranslate estaacute marcada e em seguida selecione Test Quando o teste for concluiacutedo

vocecirc receberaacute a seguinte mensagem

Coacutedigo de exemploUse o seguinte coacutedigo para criar o exemplo

Funccedilatildeo Lambda em PythonVeja a seguir o conteuacutedo da funccedilatildeo Lambda em Python A funccedilatildeo Lambda chama a operaccedilatildeoTranlateText e repassa a anaacutelise o idioma de origem e o de destino para obter a anaacutelise traduzidaSalve esse arquivo como examplepy e compacte-o em um arquivo zip chamado examplezip Salveo arquivo em um bucket do S3 na mesma regiatildeo em que vocecirc estaacute executando o exemplo

import loggingimport jsonimport boto3import os

translate = boto3client(translate)dynamodb = boto3client(dynamodb)firehose = boto3client(firehose)

30

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCoacutedigo de exemplo

TABLE_NAME = osgetenv(TABLE_NAME)

logger = logginggetLogger()loggersetLevel(loggingINFO)

def lambda_handler(event context)

loggerinfo(event)

if source_language in event and target_language in event and review in event and review_id in event review_id = event[review_id] source_language = event[source_language] target_language = event[target_language] review = event[review]

try The Lambda function queries the Amazon DynamoDB table to check whether the review has already been translated If the translated review is already stored in Amazon DynamoDB the function returns it response = dynamodbget_item( TableName=TABLE_NAME Key= review_id N review_id language S target_language ) loggerinfo(response) if Item in response return response[Item][review][S] except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try The Lambda function calls the TranslateText operation and passes the review the source language and the target language to get the translated review result = translatetranslate_text(Text=review SourceLanguageCode=source_language TargetLanguageCode=target_language) logginginfo(Translation output + str(result)) except Exception as e loggererror(response) raise Exception([ErrorMessage] + str(e))

try After the review is translated the function stores it using the Amazon DynamoDB putItem operation Subsequent requests for this translated review are returned from Amazon DynamoDB response = dynamodbput_item( TableName=TABLE_NAME Item= review_id N review_id language S target_language review S resultget(TranslatedText)

31

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

) loggerinfo(response) except Exception as e loggererror(e) raise Exception([ErrorMessage] + str(e)) return resultget(TranslatedText) else loggererror(e) raise Exception([ErrorMessage] Invalid input )

Modelo do AWS CloudFormationVeja a seguir o modelo de arquivo que vocecirc usa com o AWS CloudFormation para criar e configurar afunccedilatildeo Lambda e as tabelas do DynamoDB Use este arquivo ao criar a pilha do AWS CloudFormationpara o exemplo Atualize o BUCKET_NAME para o nome do bucket do S3 que conteacutem o arquivoexamplezip e em seguida salve-o em um diretoacuterio local como templateyaml

AWSTemplateFormatVersion 2010-09-09Transform AWSServerless-2016-10-31Resources ReviewTranslate Type AWSServerlessFunction Properties Handler examplelambda_handler Runtime python27 CodeUri Bucket BUCKET_NAME Key examplezip Policies - AWSLambdaFullAccess - TranslateReadOnly Environment Variables TABLE_NAME Ref ReviewTable Tracing Active ReviewTable Type AWSDynamoDBTable Properties AttributeDefinitions - AttributeName review_id AttributeType N - AttributeName language AttributeType S KeySchema - AttributeName review_id KeyType HASH - AttributeName language KeyType RANGE ProvisionedThroughput ReadCapacityUnits 5 WriteCapacityUnits 5

Uso do Amazon Translate para traduzir uma paacuteginada Web

Vocecirc pode usar o Amazon Translate para traduzir o conteuacutedo de uma paacutegina da Web O seguinteprograma Java traduz uma paacutegina da Web especificada do inglecircs para o espanhol e cria um arquivo HTMLque conteacutem o resultado da traduccedilatildeo O programa tem duas funccedilotildees

32

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

bull Uma funccedilatildeo que lecirc os dados da paacutegina da Web de origem os separa em elementos HTML and chama asegunda funccedilatildeo para traduzir o elemento Ao final do documento ele grava os resultados em um arquivoHTML

bull Uma funccedilatildeo que chama o serviccedilo do Amazon Translate para traduzir o conteuacutedo de um elemento HTML

Este exemplo funciona em paacuteginas HTML simples sem elementos aninhados

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

2 Instale o analisador de Java HTML jsoup Para obter instruccedilotildees consulte jsoup3 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Para

obter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

4 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

5 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte6 Altere a regiatildeo e o endpoint para a regiatildeo onde vocecirc deseja executar a operaccedilatildeo do Amazon

Translate Para obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes elimites (p 51)

package comamazonawstranslateweb import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsclientbuilderAwsClientBuilderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport comamazonawsAmazonServiceException import javaioIOExceptionimport javaioPrintWriter import orgjsoupJsoupimport orgjsoupnodesDocumentimport orgjsoupnodesElement import orgjsoupselectElements public class TranslateWebPage public static void main(String[] args) throws InterruptedException Define the URL of the HTML content to translate String url = httpexamplecomsourcehtml Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables

33

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate para traduzir uma paacutegina da Web

c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() ) Create an endpoint configuration for the Translate service AwsClientBuilderEndpointConfiguration endpointConfiguration = new AwsClientBuilderEndpointConfiguration( endpoint region) Create a client for the Translate service AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain) withEndpointConfiguration(endpointConfiguration)build() Record the beginning of translating the HTML content at the url Systemoutprintln(Translating URL + url) Create an empty HTML document to store the parsed data Document doc try Retrieve the HTML located at the URL doc = Jsoupconnect(url)get() Select all of the elements in the HTML Elements eles = docselect() For each element for (Element ele eles) Translate the element translateElement(ele translate) If you encounter service throttling when translating large web pages you can request a service limit increase For details see httpsawsamazoncompremiumsupportknowledge-centermanage-service-limits or you can throttle your requests by inserting a sleep statement Threadsleep(1000) Configure an output file for the translated HTML String fname = output HTML file name PrintWriter pw = new PrintWriter(fname UTF-8) Write our translated HTML to the output file pwprintln(doc) pwclose() Record that the file has been saved Systemoutprintln(Saved file +fname) Catch any exceptions in retrieving the HTML catch (IOException e1) e1printStackTrace() This function is used to translate each individual element public static void translateElement(Element ele AmazonTranslate translate)

34

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

Check if the element has any text if (eleownText()isEmpty()) Retrieve the text of the HTML element String text = eleownText() Now translate the elements text try Translate from English to Spanish TranslateTextRequest request = new TranslateTextRequest() withText(text) withSourceLanguageCode(en) withTargetLanguageCode(es) Retrieve the result TranslateTextResult result = translatetranslateText(request) Record the original and translated text Systemoutprintln(Original text + text + - Translated text + resultgetTranslatedText()) Update the HTML element with the translated text eletext(resultgetTranslatedText()) Catch any translation errors catch (AmazonServiceException e) Systemerrprintln(egetErrorMessage()) Systemexit(1) else We have found a non-text HTML element No action required

Uso do Amazon Translate para traduzir grandesdocumentos

Vocecirc pode dividir grandes documentos em partes menores para que o tamanho total do documento semantenha abaixo do limite de tamanho de documentos Para obter mais informaccedilotildees sobre limites detamanho de documentos consulte Limites (p 51) O programa Java a seguir fragmenta documentos detextos longos em frases individuais e em seguida traduz cada frase do idioma de origem para o idioma dedestino O programa conteacutem duas seccedilotildees

bull A classe SentenceSegmenter que eacute responsaacutevel por fragmentar a string de origem em frasesindividuais O exemplo usa a classe Java BreakIterator

bull A funccedilatildeo main que chama a operaccedilatildeo Translate para cada frase na string de origem A funccedilatildeo maintambeacutem lida com a autenticaccedilatildeo com o Amazon Translate

Para configurar o exemplo

1 Instale e configure o AWS SDK for Java Para obter instruccedilotildees para instalar SDK para Java consulte Configurar o AWS SDK for Java

35

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Amazon Translate paratraduzir grandes documentos

2 Crie um usuaacuterio do IAM com as permissotildees miacutenimas necessaacuterias para executar esse exemplo Paraobter informaccedilotildees sobre como criar um usuaacuterio do IAM consulte Criar um usuaacuterio do IAM na suaconta da AWS no Guia do usuaacuterio do AWS Identity and Access Management Para ver as poliacuteticasde permissotildees necessaacuterias consulte Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para oAmazon Translate (p 44)

3 Configure as credenciais necessaacuterias para executar a amostra Para obter instruccedilotildees consulte Configurar credenciais e a regiatildeo do AWS para desenvolvimento no Guia do desenvolvedor do AWSSDK for Java

4 Crie um novo projeto em seu Java IDE e copie o coacutedigo-fonte5 Altere a regiatildeo para a regiatildeo em que vocecirc deseja executar a operaccedilatildeo do Amazon Translate Para

obter uma lista das regiotildees com suporte do Amazon Translate consulte Diretrizes e limites (p 51)6 Altere os idiomas de origem e de destino para os idiomas envolvidos na traduccedilatildeo7 Execute o exemplo para ver o texto traduzido na saiacuteda padratildeo

import comamazonawsauthAWSCredentialsProviderChainimport comamazonawsauthEnvironmentVariableCredentialsProviderimport comamazonawsauthSystemPropertiesCredentialsProviderimport comamazonawsauthprofileProfileCredentialsProviderimport comamazonawsservicestranslateAmazonTranslateimport comamazonawsservicestranslateAmazonTranslateClientimport comamazonawsservicestranslatemodelTranslateTextRequestimport comamazonawsservicestranslatemodelTranslateTextResultimport javatextBreakIteratorimport javautilArrayListimport javautilListimport javautilLocale

public class MultiSentenceTranslator

public static void main(String[] args) Define the text to be translated here String region = region String text = Text to be translated

String sourceLang = source language String targetLang = target language

Break text into sentences SentenceSegmenter sentenceSegmenter = new SentenceSegmenter() ListltStringgt sentences = new ArrayListltgt() try sentences = sentenceSegmentersegment(text sourceLang) catch (Exception e) Systemoutprintln(e) Systemexit(1)

Create credentials using a provider chain that will evaluate in order a) Any Java system properties b) Any environment variables c) Any profile file AWSCredentialsProviderChain DefaultAWSCredentialsProviderChain = new AWSCredentialsProviderChain( new SystemPropertiesCredentialsProvider() new EnvironmentVariableCredentialsProvider() new ProfileCredentialsProvider() )

Create an Amazon Translate client AmazonTranslate translate = AmazonTranslateClientbuilder() withCredentials(DefaultAWSCredentialsProviderChain)

36

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorUso do Signature versatildeo 4 com o Amazon Translate

withRegion(region) build()

Translate sentences and print the results to stdout for (String sentence sentences) TranslateTextRequest request = new TranslateTextRequest() withText(sentence) withSourceLanguageCode(sourceLang) withTargetLanguageCode(targetLang) TranslateTextResult result = translatetranslateText(request) Systemoutprintln(Original text + sentence) Systemoutprintln(Translated text + resultgetTranslatedText())

class SentenceSegmenter public ListltStringgt segment(final String text final String lang) throws Exception ListltStringgt res = new ArrayListltgt() BreakIterator sentenceIterator = BreakIteratorgetSentenceInstance(new Locale(lang)) sentenceIteratorsetText(text) int prevBoundary = sentenceIteratorfirst() int curBoundary = sentenceIteratornext() while (curBoundary = BreakIteratorDONE) String sentence = textsubstring(prevBoundary curBoundary) resadd(sentence) prevBoundary = curBoundary curBoundary = sentenceIteratornext() return res

Uso do Signature versatildeo 4 com o AmazonTranslate

Este programa Python de exemplo mostra como usar o Signature versatildeo 4 para adicionar informaccedilotildeesde autenticaccedilatildeo agraves solicitaccedilotildees do Amazon Translate O exemplo faz uma solicitaccedilatildeo POST criauma estrutura JSON que conteacutem o texto a ser traduzido no corpo (carga) da solicitaccedilatildeo e repassa asinformaccedilotildees de autenticaccedilatildeo em um cabeccedilalho de autorizaccedilatildeo Para obter mais informaccedilotildees sobre comousar o Signature versatildeo 4 consulte o Processo de assinatura do Signature versatildeo 4 na Referecircncia geralda Amazon Web Services

ConfiguraccedilatildeoPara executar o exemplo siga as seguintes etapas

1 Instale a AWS Command Line Interface (AWS CLI) O AWS SDK for Python (Boto) estaacute incluiacutedoao instalar a AWS CLI Para obter instruccedilotildees consulte Etapa 2 configurar a AWS Command LineInterface (AWS CLI) (p 7)

2 Crie um usuaacuterio do AWS Identity and Access Management (IAM) com a poliacutetica de permissotildeesmiacutenimas necessaacuterias para executar esse exemplo Para obter informaccedilotildees sobre como criar umusuaacuterio do IAM consulte Criar um usuaacuterio do IAM na sua conta da AWS no Guia do usuaacuterio do AWSIdentity and Access Management Para ver as poliacuteticas de permissotildees necessaacuterias consulte Usar

37

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCode

poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Registre o IDde chave de acesso e a chave de acesso secreta

3 Coloque o ID de chave de acesso e a chave de acesso secreta em variaacuteveis de ambiente chamadasAWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY respectivamente Como praacutetica recomendadarecomendamos que vocecirc natildeo incorpore credenciais no coacutedigo

4 Crie um novo arquivo no seu computador copie o coacutedigo para o exemplo (o qual vocecirc pode encontrarna proacutexima seccedilatildeo) cole-o no arquivo e salve o arquivo com a extensatildeo py

5 No coacutedigo substitua region pelo nome da regiatildeo da AWS na qual vocecirc deseja executar a operaccedilatildeoAmazon Translate do TranslateText Para obter uma lista das regiotildees compatiacuteveis consulte Regiotildees e endpoints da AWS na Referecircncia geral da Amazon Web Services

CodeVeja a seguir o coacutedigo completo do programa Python de exemplo

Apoacutes criar os valores de solicitaccedilatildeo como o URL do endpoint e o corpo da solicitaccedilatildeo o coacutedigo faz oseguinte

1 Crie uma solicitaccedilatildeo canocircnica para a operaccedilatildeo Amazon Translate do TranslateText2 Crie a string que em que vocecirc adiciona um hash para criar a assinatura3 Calcule a assinatura4 Adicione a assinatura ao cabeccedilalho da solicitaccedilatildeo5 Envie a solicitaccedilatildeo agrave operaccedilatildeo TranslateText

Para executar o exemplo no seu computador copie o coacutedigo em um arquivo Python

AWS Version 4 signing example

Translate API (TranslateText)

For more information about using Signature Version 4 see httpdocsawsamazoncomgenerallatestgrsigv4_signinghtml This example makes a POST request to Amazon Translate and passes the text to translate JSON in the body (payload) of the request Authentication information is passed in an Authorization headerimport sys os base64 datetime hashlib hmacimport requests pip install requests

REQUEST VALUES method = POSTservice = translateregion = regionhost = service + + region + amazonawscomendpoint = https + host +

POST requests use a content type header For Amazon Translate the content is JSONcontent_type = applicationx-amz-json-11 Amazon Translate requires an x-amz-target header that has this format AWSShineFrontendService_20170701ltoperationNamegtamz_target = AWSShineFrontendService_20170701TranslateText

Pass request parameters for the TranslateText operation in a JSON blockrequest_parameters = request_parameters += Text Hello worldrequest_parameters += SourceLanguageCode en

38

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCode

request_parameters += TargetLanguageCode derequest_parameters +=

The following functions derive keys for the request For more information see httpdocsawsamazoncomgenerallatestgrsignature-v4-exampleshtmlsignature-v4-examples-pythondef sign(key msg) return hmacnew(key msgencode(utf-8) hashlibsha256)digest()

def getSignatureKey(key date_stamp regionName serviceName) kDate = sign((AWS4 + key)encode(utf-8) date_stamp) kRegion = sign(kDate regionName) kService = sign(kRegion serviceName) kSigning = sign(kService aws4_request) return kSigning

Python can read the AWS access key from environment variables or the configuration file In this example keys are stored in environment variables As a best practice do not embed credentials in codeaccess_key = osenvironget(AWS_ACCESS_KEY_ID)secret_key = osenvironget(AWS_SECRET_ACCESS_KEY)if access_key is None or secret_key is None print No access key is available sysexit()

Create a timestamp for headers and the credential stringt = datetimedatetimeutcnow()amz_date = tstrftime(YmdTHMSZ)date_stamp = tstrftime(Ymd) The date without time is used in the credential scope

TASK 1 CREATE A CANONICAL REQUEST For information about creating a canonical request see httpdocsawsamazoncomgenerallatestgrsigv4-create-canonical-requesthtml

Step 1 Define the verb (GET POST etc) which you have already done

Step 2 Create a canonical URI A canonical URI is the part of the URI from domain to query string (use if no path)canonical_uri =

Step 3 Create the canonical query string In this example request parameters are passed in the body of the request and the query string is blankcanonical_querystring =

Step 4 Create the canonical headers Header names must be trimmed lowercase and sorted in code point order from low to high Note the trailing ncanonical_headers = content-type + content_type + n + host + host + n + x-amz-date + amz_date + n + x-amz-target + amz_target + n

Step 5 Create the list of signed headers by listing the headers in the canonical_headers list delimited with and in alphabetical order Note The request can include any headers Canonical_headers and signed_headers should contain headers to include in the hash of the request Host and x-amz-date headers are always required For Amazon Translate content-type and x-amz-target are also requiredsigned_headers = content-typehostx-amz-datex-amz-target

Step 6 Create the payload hash In this example the request_parameters variable contains the JSON request parameterspayload_hash = hashlibsha256(request_parameters)hexdigest()

Step 7 Combine the elements to create a canonical request

39

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCode

canonical_request = method + n + canonical_uri + n + canonical_querystring + n + canonical_headers + n + signed_headers + n + payload_hash

TASK 2 CREATE THE STRING TO SIGN Set the algorithm variable to match the hashing algorithm that you use either SHA-256 (recommended) or SHA-1 algorithm = AWS4-HMAC-SHA256credential_scope = date_stamp + + region + + service + + aws4_requeststring_to_sign = algorithm + n + amz_date + n + credential_scope + n + hashlibsha256(canonical_request)hexdigest()

TASK 3 CALCULATE THE SIGNATURE Create the signing key using the getSignaturKey function defined abovesigning_key = getSignatureKey(secret_key date_stamp region service)

Sign the string_to_sign using the signing_keysignature = hmacnew(signing_key (string_to_sign)encode(utf-8) hashlibsha256)hexdigest()

TASK 4 ADD SIGNING INFORMATION TO THE REQUEST Put the signature information in a header named Authorizationauthorization_header = algorithm + + Credential= + access_key + + credential_scope + + SignedHeaders= + signed_headers + + Signature= + signature

For Amazon Translate the request can include any headers but it must include host x-amz-date x-amz-target content-type and Authorization headers Except for the authorization header the headers must be included in the canonical_headers and signed_headers values as noted earlier Header order is not significant Note The Python requests library automatically adds the host headerheaders = Content-Typecontent_type X-Amz-Dateamz_date X-Amz-Targetamz_target Authorizationauthorization_header

TASK 5 SEND THE REQUEST print Requestnt + request_parameters

response = requestspost(endpoint data=request_parameters headers=headers)print Responsent + responsetext

40

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorAutenticaccedilatildeo

Autenticaccedilatildeo e controle de acessopara o Amazon Translate

O acesso ao Amazon Translate exige credenciais que a AWS possa usar para autenticar suas solicitaccedilotildeesEssas credenciais devem ter permissotildees para acessar accedilotildees do Amazon Translate As seccedilotildees a seguirfornecem detalhes sobre como eacute possiacutevel usar o AWS Identity and Access Management (IAM) e o AmazonTranslate para ajudar a proteger seus recursos controlando quem pode acessaacute-los

bull Autenticaccedilatildeo (p 41)bull Controle de acesso (p 42)

AutenticaccedilatildeoVocecirc pode acessar a AWS como alguns dos seguintes tipos de identidade

bull Usuaacuterio raiz da conta da AWS ndash Ao criar uma conta do AWS pela primeira vez vocecirc comeccedila com umauacutenica identidade de login que tem acesso completo a todos os serviccedilos e recursos da AWS na contaEssa identidade eacute denominada usuaacuterio raiz da conta da AWS e eacute acessada pelo login com o endereccedilode e-mail e a senha que vocecirc usou para criar a conta Recomendamos que natildeo use o usuaacuterio raiz parasuas tarefas diaacuterias nem mesmo as administrativas Em vez disso siga as melhores praacuteticas de usaro usuaacuterio raiz apenas para criar seu primeiro usuaacuterio do IAM Depois armazene as credenciais usuaacuterioraiz com seguranccedila e use-as para executar apenas algumas tarefas de gerenciamento de contas e deserviccedilos

bull Usuaacuterio IAM ndash um usuaacuterio IAM eacute uma identidade na sua conta da AWS que tem permissotildeespersonalizadas especiacuteficas (por exemplo para criar a custom glossary no Amazon Translate) Vocecircpode usar um nome e uma senha de usuaacuterio IAM para fazer login em paacuteginas Web seguras da AWScomo Console de gerenciamento da AWS Foacuteruns de discussatildeo AWS ou o AWS Support Center

Aleacutem de um nome e uma senha de usuaacuterio vocecirc tambeacutem pode gerar chaves de acesso para cadausuaacuterio Vocecirc pode usar essas chaves ao acessar serviccedilos da AWS de forma programaacutetica seja comum dos vaacuterios SDKs ou usando a AWS Command Line Interface (CLI) As ferramentas de SDK e deCLI usam as chaves de acesso para o cadastramento criptograacutefico da sua solicitaccedilatildeo Se vocecirc natildeoutilizar ferramentas da AWS cadastre a solicitaccedilatildeo vocecirc mesmo Amazon Translate supports Assinaturaversatildeo 4 um protocolo para autenticar solicitaccedilotildees de API de entrada Para mais informaccedilotildees sobreautenticaccedilatildeo de solicitaccedilotildees consulte Processo de cadastramento de Assinatura versatildeo 4 no AWSGeneral Reference

bull IAM role ndash Uma funccedilatildeo do IAM eacute uma identidade do IAM que vocecirc pode criar em sua conta que tenha

permissotildees especiacuteficas Eacute semelhante a um usuaacuterio IAM mas natildeo estaacute associada a uma pessoaespeciacutefica Uma funccedilatildeo do IAM permite obter chaves de acesso temporaacuterias que podem ser usadas paraacessar os serviccedilos e recursos da AWS As funccedilotildees do IAM com credenciais temporaacuteria satildeo uacuteteis nasseguintes situaccedilotildees

bull Acesso de usuaacuterio federado ndash Em vez de criar um usuaacuterio do IAM vocecirc pode usar identidades de

usuaacuterio existentes do AWS Directory Service da sua empresa ou de um provedor de identidades

41

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorControle de acesso

da web Estes satildeo conhecidos como usuaacuterios federados A AWS atribui uma funccedilatildeo a um usuaacuteriofederado quando o acesso eacute solicitado por meio de um provedor de identidades Para obter maisinformaccedilotildees sobre usuaacuterios federados consulte Usuaacuterios federados e funccedilotildees em Guia do usuaacuterio doIAM

bull Acesso de serviccedilo agrave AWS ndash Vocecirc pode usar uma funccedilatildeo do IAM em sua conta para conceder

permissotildees a um serviccedilo da AWS para acessar os recursos da sua conta Por exemplo vocecirc podecriar uma funccedilatildeo que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nomee carregue dados desse bucket em um cluster Amazon Redshift Para mais informaccedilotildees consulteCriaccedilatildeo de uma funccedilatildeo para delegar permissotildees a um serviccedilo da AWS no Guia do usuaacuterio do IAM

bull Aplicativos em execuccedilatildeo no Amazon EC2 ndash Vocecirc pode usar uma funccedilatildeo do IAM para gerenciar

credenciais temporaacuterias para aplicativos que estatildeo sendo executados em uma instacircncia do EC2 eque fazem solicitaccedilotildees de API da AWS Eacute preferiacutevel fazer isso do que armazenar chaves de acessona instacircncia do EC2 Para atribuir uma funccedilatildeo da AWS a uma instacircncia do EC2 e disponibilizaacute-lapara todos os seus aplicativos crie um perfil de instacircncia que esteja anexado agrave instacircncia Um perfilde instacircncia conteacutem a funccedilatildeo e permite que programas que estatildeo em execuccedilatildeo na instacircncia do EC2obtenham credenciais temporaacuterias Para mais informaccedilotildees consulte Uso de uma funccedilatildeo do IAM paraconceder permissotildees aos aplicativos em execuccedilatildeo nas instacircncias do Amazon EC2 no Guia do usuaacuteriodo IAM

Controle de acessoVocecirc pode ter credenciais vaacutelidas para autenticar suas solicitaccedilotildees Por exemplo vocecirc deve terpermissotildees para chamar uma accedilatildeo do Amazon Translate

As seccedilotildees a seguir descrevem como gerenciar permissotildees para o Amazon Translate Recomendamos quevocecirc leia a visatildeo geral primeiro

bull Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate (p 42)bull Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44)

Visatildeo geral do gerenciamento de permissotildees deacesso aos recursos do Amazon Translate

As permissotildees para acessar uma accedilatildeo satildeo controladas por poliacuteticas de permissotildees Um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paragerenciar o acesso a accedilotildees

Note

Um administrador da conta (ou usuaacuterio administrador) eacute um usuaacuterio com privileacutegios deadministrador Para obter mais informaccedilotildees consulte Melhores praacuteticas do IAM no Guia dousuaacuterio do IAM

Ao conceder permissotildees vocecirc decide quem receberaacute as permissotildees e as accedilotildees para as quais eles obtecircmpermissotildees

Toacutepicosbull Gerenciar o acesso a accedilotildees (p 43)

42

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorGerenciar o acesso a accedilotildees

bull Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais (p 44)bull Especificaccedilatildeo de condiccedilotildees em uma poliacutetica (p 44)

Gerenciar o acesso a accedilotildeesA poliacutetica de permissotildees descreve quem tem acesso a quecirc A seccedilatildeo a seguir explica as opccedilotildeesdisponiacuteveis para a criaccedilatildeo das poliacuteticas de permissotildees

Note

Esta seccedilatildeo aborda como usar o IAM no contexto do Amazon Translate Natildeo satildeo fornecidasinformaccedilotildees detalhadas sobre o serviccedilo do IAM Para obter a documentaccedilatildeo completa do IAMconsulte O que eacute o IAM no Guia do usuaacuterio do IAM Para obter mais informaccedilotildees sobre a sintaxee as descriccedilotildees da poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM da AWS no Guia dousuaacuterio do IAM

As poliacuteticas anexadas a uma identidade do IAM satildeo conhecidas como poliacuteticas baseadas em identidade(poliacuteticas do IAM) As poliacuteticas anexadas a um recurso satildeo conhecidas como poliacuteticas baseadas emrecurso O Amazon Translate oferece suporte somente a poliacuteticas baseadas em identidade

Poliacuteticas baseadas em identidade (poliacuteticas do IAM)Vocecirc pode anexar poliacuteticas a identidades do IAM Por exemplo vocecirc pode fazer o seguinte

bull Anexar uma poliacutetica de permissotildees a um usuaacuterio ou grupo na sua conta ndash para conceder a um usuaacuterioou grupo de usuaacuterios as permissotildees para chamar uma accedilatildeo do Amazon Translate vocecirc pode anexaruma poliacutetica de permissotildees a um usuaacuterio ou grupo ao qual o usuaacuterio pertenccedila

bull Anexar uma poliacutetica de permissotildees a uma funccedilatildeo (conceder permissotildees entre contas) ndash para concederpermissotildees entre contas vocecirc pode anexar uma poliacutetica de permissotildees baseada em identidade auma funccedilatildeo do IAM Por exemplo o administrador na Conta A pode criar uma funccedilatildeo para concederpermissotildees entre contas a outra conta da AWS (por exemplo Conta B) ou um serviccedilo da AWS daseguinte forma1 Um administrador da Conta A cria uma funccedilatildeo do IAM e anexa uma poliacutetica de permissotildees agrave funccedilatildeo

que concede permissotildees em recursos da Conta A2 Um administrador da Conta A anexa uma poliacutetica de confianccedila agrave funccedilatildeo identificando a Conta B como

a principal que pode assumir a funccedilatildeo3 O administrador da Conta B poderaacute entatildeo delegar permissotildees para assumir a funccedilatildeo para todos os

usuaacuterios na Conta B Isso permitiraacute que os usuaacuterios da Conta B criem ou acessem recursos da ContaA Se vocecirc quiser conceder a um serviccedilo da AWS permissotildees para assumir a funccedilatildeo o principal napoliacutetica de confianccedila tambeacutem poderaacute ser o principal do serviccedilo da AWS

Para obter mais informaccedilotildees sobre o uso do IAM para delegar permissotildees consulte Gerenciamento deacesso no Guia do usuaacuterio do IAM

Para obter mais informaccedilotildees sobre poliacuteticas baseadas em identidade com o Amazon Translate consulteUsar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate (p 44) Para obtermais informaccedilotildees sobre usuaacuterios grupos funccedilotildees e permissotildees consulte Identidades (usuaacuterios grupos efunccedilotildees) no Guia do usuaacuterio do IAM

Poliacuteticas com base em recursoOutros serviccedilos como o Lambda oferecem suporte a poliacuteticas de permissotildees baseadas em recursos Porexemplo vocecirc pode anexar uma poliacutetica a um bucket do S3 para gerenciar permissotildees de acesso a essebucket O Amazon Translate natildeo oferece suporte a poliacuteticas baseadas em recursos

43

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorComo especificar elementos de poliacutetica

recursos accedilotildees efeitos e principais

Como especificar elementos de poliacutetica recursosaccedilotildees efeitos e principaisO Amazon Translate define um conjunto de operaccedilotildees da API (consulte Actions (p 53)) Para concederpermissotildees a essas operaccedilotildees da API o Amazon Translate define um conjunto de accedilotildees que podem serespecificadas em uma poliacutetica

Estes satildeo os elementos de poliacutetica mais baacutesicos

bull Recurso ndash em uma poliacutetica vocecirc usa um nome de recurso da Amazon (ARN) para identificar o recursoao qual a poliacutetica se aplica Para o Amazon Translate o recurso eacute sempre

bull Accedilatildeo ndash use palavras-chave de accedilotildees para identificar operaccedilotildees que deseja permitir ou negar Porexemplo dependendo do Effect especificado o translateTranslateText permite ou nega aspermissotildees de usuaacuterio para realizar a operaccedilatildeo do Amazon Translate TranslateText

bull Efeito ndash especifique o efeito da accedilatildeo que ocorre quando o usuaacuterio solicita a accedilatildeo especiacuteficamdashque podeser para permitir ou negar Se vocecirc natildeo conceder (permitir) explicitamente acesso a um recurso oacesso estaraacute implicitamente negado Vocecirc tambeacutem pode negar acesso explicitamente a um recursoVocecirc poderia fazer isso para garantir que um usuaacuterio natildeo possa acessar o recurso mesmo se umapoliacutetica diferente conceder o acesso

bull Principal ndash Em poliacuteticas baseadas em identidade (poliacuteticas do IAM) o usuaacuterio ao qual a poliacutetica estaacuteanexada eacute implicitamente o principal

Para saber mais sobre a sintaxe e descriccedilotildees de poliacutetica do IAM consulte Referecircncia de poliacutetica do IAM daAWS no Guia do usuaacuterio do IAM

Para obter uma tabela que mostra todas as accedilotildees de API do Amazon Translate consulte Permissotildees daAPI do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees (p 45)

Especificaccedilatildeo de condiccedilotildees em uma poliacuteticaAo conceder permissotildees vocecirc usa a linguagem da poliacutetica do IAM para especificar as condiccedilotildees sob asquais uma poliacutetica deveraacute entrar em vigor Por exemplo conveacutem que uma poliacutetica soacute seja aplicada apoacutesuma data especiacutefica Para obter mais informaccedilotildees sobre como especificar condiccedilotildees em uma linguagemde poliacutetica consulte Condiccedilatildeo no Guia do usuaacuterio do IAM

A AWS fornece um conjunto de chaves de condiccedilatildeo predefinidas para todos os serviccedilos da AWS queoferecem suporte ao IAM para controle de acesso Por exemplo vocecirc pode usar a chave de condiccedilatildeoawsuserid para exigir um ID da AWS especiacutefico ao solicitar uma accedilatildeo Para obter mais informaccedilotildees euma lista completa das chaves em toda a AWS consulte Chaves disponiacuteveis para condiccedilotildees no Guia dousuaacuterio do IAM

Note

As chaves de condiccedilatildeo diferenciam maiuacutesculas de minuacutesculas

O Amazon Translate natildeo fornece quaisquer chaves de condiccedilatildeo adicionais

Usar poliacuteticas baseadas em identidade (poliacuteticas doIAM) para o Amazon Translate

Este toacutepico fornece um exemplo de poliacutetica baseada em identidade que demonstra como um administradorde conta pode anexar poliacuteticas de permissotildees a identidades do IAM (usuaacuterios grupos e funccedilotildees) paraconceder permissotildees para executar accedilotildees do Amazon Translate

44

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorReferecircncia de permissotildees da API do Amazon Translate

Important

Antes de continuar recomendamos que vocecirc confira Visatildeo geral do gerenciamento depermissotildees de acesso aos recursos do Amazon Translate (p 42)

A poliacutetica de permissotildees a seguir eacute necessaacuteria para usar o Amazon Translate e o console do AmazonTranslate

Version 2012-10-17 Statement [ Effect Allow Action [ translateTranslateText comprehendDetectDominantLanguage ] Resource ]

A poliacutetica tem duas instruccedilotildees A primeira concede permissotildees para usar a accedilatildeo TranslateText Asegunda concede permissotildees agrave operaccedilatildeo do Amazon Comprehend DetectDominantLanguage parahabilitar a detecccedilatildeo automaacutetica de idioma

A poliacutetica natildeo especifica o elemento Principal pois vocecirc natildeo especifica o principal que obteacutem aspermissotildees em uma poliacutetica baseada em identidade Quando vocecirc anexar uma poliacutetica a um usuaacuterio ousuaacuterio seraacute o principal impliacutecito Quando vocecirc anexa uma poliacutetica de permissotildees a uma funccedilatildeo do IAM oprincipal identificado na poliacutetica de confianccedila da funccedilatildeo obteacutem as permissotildees

Para obter uma tabela com todas as accedilotildees de API do Amazon Translate e os recursos aos quaiselas se aplicam consulte Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos econdiccedilotildees (p 45)

Permissotildees da API do Amazon Translatereferecircncia de accedilotildees recursos e condiccedilotildees

Use a tabela a seguir como referecircncia ao configurar Controle de acesso (p 42) e escrever uma poliacuteticade permissotildees que vocecirc possa anexar a uma identidade do IAM (uma poliacutetica baseada em identidade)A lista inclui cada operaccedilatildeo da API do Amazon Translate a accedilatildeo correspondente agrave qual vocecirc podeconceder permissotildees para realizar a accedilatildeo e o recurso da AWS ao qual pode conceder as permissotildeesVocecirc especifica as accedilotildees no campo Action da poliacutetica e o valor do recurso no campo Resource dapoliacutetica

Para expressar condiccedilotildees vocecirc pode usar as chaves de condiccedilatildeo em toda a AWS nas suas poliacuteticas doAmazon Translate Para obter uma lista completa das chaves de toda a AWS consulte Chaves disponiacuteveisno Guia do usuaacuterio do IAM

Note

Para especificar uma accedilatildeo use o prefixo translate seguido do nome da operaccedilatildeo da API porexemplo translateTranslateText

45

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedor

Monitorar Amazon TranslateO monitoramento eacute uma parte importante para manter a confiabilidade a disponibilidade e o desempenhodo Amazon Translate e suas soluccedilotildees O AWS fornece vaacuterias ferramentas que vocecirc pode usar paramonitorar o Amazon Translate Vocecirc pode configurar algumas dessas ferramentas para monitorar suassoluccedilotildees para vocecirc Recomendamos que as tarefas de monitoramento sejam automatizadas ao maacuteximopossiacutevel

O Amazon Translate fornece graacuteficos preacute-configurados que mostram as meacutetricas mais importantes paraa sua soluccedilatildeo Cada graacutefico oferece uma janela para o desempenho da sua soluccedilatildeo Vocecirc pode alterar operiacuteodo exibido pelos graacuteficos para obter visualizaccedilotildees diferentes de como sua soluccedilatildeo estaacute funcionandoao longo do tempo

Vocecirc tambeacutem pode usar o Amazon CloudWatch para monitorar Amazon Translate Com o CloudWatchvocecirc pode automatizar o monitoramento de meacutetricas especiacuteficas para as suas soluccedilotildees Vocecirc recebeum aviso sempre que uma meacutetrica estaacute fora dos limites definidos Vocecirc tambeacutem pode usar a API doCloudWatch para criar um aplicativo de monitoramento personalizado adequado agraves suas necessidadesPara obter mais informaccedilotildees consulte O que eacute o Amazon CloudWatch no Guia do usuaacuterio do AmazonCloudWatch

A tabela a seguir descreve cada um dos graacuteficos preacute-configurados fornecidos pelo Amazon Translate

Graacutefico Descriccedilatildeo

Contagem de solicitaccedilotildees bem-sucedidas

A quantidade de solicitaccedilotildees bem-sucedidaspara o Amazon Translate durante o periacuteodoespecificado

Contagem de solicitaccedilotildees limitadas

A quantidade de solicitaccedilotildees para AmazonTranslate que foram limitadas durante o periacuteodoespecificado Use essas informaccedilotildees paradeterminar se seu aplicativo estaacute enviando umasolicitaccedilatildeo para o Amazon Translate de maneiramuito raacutepida

46

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedor

Graacutefico Descriccedilatildeo

Tempo meacutedio de resposta

O tempo meacutedio que o Amazon Translate demoroupara processar sua solicitaccedilatildeo no periacuteodoespecificado

Contagem de caracteres

A quantidade total de caracteres que vocecirc envioupara o Amazon Translate durante o periacuteodo emquestatildeo Essa eacute a quantidade de caracteres pelaqual vocecirc seraacute cobrado

Contagem de erros do usuaacuterio

O nuacutemero de erros do usuaacuterio no periacuteodoespecificado Erros do usuaacuterio estatildeo no intervalo400 a 499 de coacutedigo de erros HTTP

Contagem de erros do sistema

O nuacutemero de erros do sistema no periacuteodoespecificado Erros do sistema estatildeo no intervalo500 a 599 de coacutedigo de erros HTTP

47

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorMonitorar com o CloudWatch

Monitorar Amazon TranslateCom o CloudWatch vocecirc pode obter meacutetricas para operaccedilotildees individuais do Amazon Translate oumeacutetricas globais do Amazon Translate para sua conta Use meacutetricas para rastrear a integridade dasua soluccedilatildeo baseada no Amazon Translate e configurar alarmes para notificaccedilatildeo quando uma ou maismeacutetricas estiverem fora de um limite definido Por exemplo vocecirc pode monitorar o nuacutemero de solicitaccedilotildeesfeitas para o Amazon Translate em um determinado periacuteodo aleacutem de ver a latecircncia das solicitaccedilotildees ouacionar um alarme quando os erros excederem um limite Para ver meacutetricas vocecirc pode usar o console doAmazon Translate Amazon CloudWatch o AWS Command Line Interface ou a API do CloudWatch

Noccedilotildees baacutesicas de meacutetricas do CloudWatch para oAmazon TranslatePara obter meacutetricas para as operaccedilotildees do Amazon Translate especifique as seguintes informaccedilotildees

bull A dimensatildeo da meacutetrica Uma dimensatildeo eacute um conjunto de pares de nome-valor que vocecirc usa paraidentificar uma meacutetrica Amazon Translate tem duas dimensotildeesbull Operation

bull Language pair

bull O nome da meacutetrica como SuccessfulRequestCount ou RequestCharacters Para obter uma listacompleta de meacutetricas consulte CloudWatch Metrics for Amazon Translate (p 49)

Vocecirc pode obter as meacutetricas para o Amazon Translate com o Console de gerenciamento da AWS aAWS CLI ou a API do CloudWatch Vocecirc pode usar a API do CloudWatch por meio de um dos Kits dedesenvolvimento de software (SDKs) da Amazon AWS ou das ferramentas de API do CloudWatch

A tabela a seguir lista alguns usos comuns para as meacutetricas do CloudWatch Essas satildeo sugestotildees paravocecirc comeccedilar e natildeo uma lista abrangente

Como eu faccedilo para Meacutetrica relevante

Acompanhar o nuacutemero de solicitaccedilotildees bem-sucedidas

Monitore a estatiacutestica sum da meacutetricaSuccessfulRequestCount

Verificar se meu aplicativo atingiu a taxa detransferecircncia maacutexima

Monitore a estatiacutestica sum da meacutetricaThrottledCount

Verificar o tempo de resposta do meu aplicativo Monitore a estatiacutestica average da meacutetricaResponseTime

Encontrar a quantidade de erros do meu aplicativo Monitore a estatiacutestica sum das meacutetricasServerErrorCount e UserErrorCount

Encontrar a quantidade de caracteres faturaacuteveis Monitore a estatiacutestica sum da meacutetricaCharacterCount

Vocecirc deve ter as permissotildees apropriadas do CloudWatch para monitorar o Amazon Translate com oCloudWatch Para obter mais informaccedilotildees consulte Autenticaccedilatildeo e controle de acesso para o AmazonCloudWatch no Guia do usuaacuterio do Amazon CloudWatch

Visualizar meacutetricas do Amazon TranslateVisualize as meacutetricas do Amazon Translate no console do CloudWatch

48

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCloudWatch Meacutetricas e dimensotildees do Amazon Translate

Para visualizar meacutetricas (console do CloudWatch)

1 Faccedila login no Console de gerenciamento da AWS e abra o console da CloudWatch em httpsconsoleawsamazoncomcloudwatch

2 Escolha Metrics All Metrics e em seguida selecione AWSTranslate3 Escolha a dimensatildeo informe um nome de meacutetrica e selecione Add to graph4 Escolha um valor para o intervalo de datas A contagem da meacutetrica para o intervalo de datas

especiacutefico eacute exibida no graacutefico

CloudWatch Meacutetricas e dimensotildees do AmazonTranslate

Use as meacutetricas e dimensotildees do Amazon CloudWatch que estatildeo disponiacuteveis para que o Amazon Translatemonitore o desempenho da sua soluccedilatildeo

CloudWatch Metrics for Amazon Translate

Metric Description

CharacterCount The number of billable characters in requests

Valid dimensions Language pair Operation

Valid statistics Average Maximum Minimum Sum

Unit Count

ResponseTime The time that it took to respond to a request

Valid dimensions Language pair Operation

Valid statistics Data samples Average

Unit For Data samples count For Average statistics milliseconds

ServerErrorCount The number of server errors The HTTP response code range for a servererror is 500 to 599

Valid dimension Operation

Valid statistics Average Sum

Unit Count

SuccessfulRequestCount The number of successful translation requests The response code for asuccessful request is 200 to 299

Valid dimension Operation

Valid statistics Average Sum

Unit Count

ThrottledCount The number of requests subject to throttling Use ThrottledCount todetermine if your application is sending requests to Amazon Translate

49

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCloudWatch Dimensions for Amazon Translate

Metric Descriptionfaster than your account is configured to accept them For moreinformation see Amazon Translate Limits in the Referecircncia geral doAmazon Web Services

Valid dimension Operation

Valid statistics Average Sum

Unit Count

UserErrorCount The number of user errors that occurred The HTTP response code rangefor a user error is 400 to 499

Valid dimension Operation

Valid statistics Average Sum

Unit Count

CloudWatch Dimensions for Amazon TranslateUse the following dimensions to filter Amazon Translate metrics Metrics are grouped by the sourcelanguage and the target language

Dimension Description

LanguagePair Restricts the metrics to only those that contain the specified languages

Operation Restricts the metrics to only those with the specified operation

50

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorRegiotildees compatiacuteveis

Diretrizes e limitesRegiotildees compatiacuteveis

Para obter uma lista de regiotildees da AWS onde o Amazon Translate estaacute disponiacutevel consulte Regiotildees eendpoints da AWS na Referecircncia geral da Amazon Web Services

LimitaccedilatildeoPara obter informaccedilotildees sobre a limitaccedilatildeo do Amazon Translate e para solicitar um aumento de limiteconsulte Limites do Amazon Translate no Referecircncia geral do Amazon Web Services

DiretrizesO Amazon Translate pode armazenar seu conteuacutedo para melhorar continuamente a qualidade dosmodelos de anaacutelise Consulte as Perguntas frequentes do Amazon Translate para saber mais Parasolicitar a exclusatildeo do conteuacutedo que pode ter sido armazenado pelo Amazon Translate abra um caso como AWS Support

LimitesO Amazon Translate tem as seguintes limitaccedilotildees

bull O tamanho maacuteximo de documentos eacute 5000 bytes de caracteres UTF-8 por solicitaccedilatildeo

51

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedor

Histoacuterico de documentos do AmazonTranslate

A tabela a seguir descreve a documentaccedilatildeo desta versatildeo do Amazon Translate

bull Uacuteltima atualizaccedilatildeo da documentaccedilatildeo 17 de julho de 2018

update-history-change update-history-description update-history-date

Novo recurso (p 52) O Amazon Translate adicionaa traduccedilatildeo em seis idiomasadicionais Para obter uma listade idiomas com suporte doAmazon Translate consulte Oque eacute o Amazon Translate

July 17 2018

Novo recurso (p 52) O Amazon Translate adicionasuporte agrave detecccedilatildeo automaacuteticado idioma de origem Para obtermais informaccedilotildees consulte Como o Amazon Translatefunciona

April 4 2018

Novo guia (p 52) Esta eacute a primeira versatildeo do Guiado desenvolvedor do AmazonTranslate

November 29 2017

52

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCabeccedilalhos HTTP

API ReferenceEsta seccedilatildeo conteacutem a documentaccedilatildeo de referecircncia da API

Cabeccedilalhos HTTPAleacutem dos cabeccedilalhos HTTP normais as operaccedilotildees do Amazon Translate tecircm os cabeccedilalhos necessaacuterios

Cabeccedilalho Valor Descriccedilatildeo

Content-Type applicationx-amz-json-11 Especifica que o conteuacutedo dasolicitaccedilatildeo eacute JSON Tambeacutemespecifica a versatildeo JSON

X-Amz-Date ltDategt A data usada para criar aassinatura no cabeccedilalho deautorizaccedilatildeo O formato deveser ISO 8601 baacutesico no formatoAAAAMMDDTHHMMSSZPor exemplo a seguinte datahora 20180820T184626Z eacuteum x-amz-date vaacutelido parauso com o Amazon TranslatePara obter mais informaccedilotildeessobre como usar o cabeccedilalhode autorizaccedilatildeo consulte Usodo Signature versatildeo 4 com oAmazon Translate

X-Amz-Target AWSShineFrontendService_20170701ltoperationgtA operaccedilatildeo do Amazon Translatede destino Por exemplo useAWSShineFrontendService_20170701TranslateTextpara chamar a operaccedilatildeoTranslateText

ActionsThe following actions are supported

bull TranslateText (p 54)

53

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorTranslateText

TranslateTextTranslates input text from the source language to the target language It is not necessary to use English(en) as either the source or the target language but not all language combinations are supported byAmazon Translate For more information see Supported Language Pairs

bull Arabic (ar)bull Chinese (Simplified) (zh)bull Chinese (Traditional) (zh-TW)bull Czech (cs)bull French (fr)bull German (de)bull Italian (it)bull Japanese (ja)bull Portuguese (pt)bull Russian (ru)bull Spanish (es)bull Turkish (tr)

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Request Syntax SourceLanguageCode string TargetLanguageCode string Text string

Request ParametersFor information about the parameters that are common to all actions see Common Parameters (p 58)

The request accepts the following data in JSON format

SourceLanguageCode (p 54)

One of the supported language codes for the source text

To have Amazon Translate determine the source language of your text you can specify auto in theSourceLanguageCode field If you specify auto Amazon Translate will call Amazon Comprehend todetermine the source language

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesTargetLanguageCode (p 54)

One of the supported language codes for the target text

54

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorTranslateText

Type String

Length Constraints Minimum length of 2 Maximum length of 5

Required YesText (p 54)

The text to translate The text string can be a maximum of 5000 bytes long Depending on yourcharacter set this may be fewer than 5000 characters

Type String

Length Constraints Minimum length of 1 Maximum length of 5000

Required Yes

Response Syntax

SourceLanguageCode string TargetLanguageCode string TranslatedText string

Response ElementsIf the action is successful the service sends back an HTTP 200 response

The following data is returned in JSON format by the service

SourceLanguageCode (p 55)

The language code for the language of the input text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TargetLanguageCode (p 55)

The language code for the language of the translated text

Type String

Length Constraints Minimum length of 2 Maximum length of 5TranslatedText (p 55)

The text translated into the target language

Type String

Length Constraints Minimum length of 1

ErrorsFor information about the errors that are common to all actions see Common Errors (p 57)

55

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorTranslateText

DetectedLanguageLowConfidenceException

The confidence that Amazon Comprehend accurately detected the source language is low If a lowconfidence level is acceptable for your application you can use the language in the exception to callAmazon Translate again For more information see the DetectDominantLanguage operation in theAmazon Comprehend Developer Guide

HTTP Status Code 400InternalServerException

An internal server error occurred Retry your request

HTTP Status Code 500InvalidRequestException

The request is invalid

HTTP Status Code 400ServiceUnavailableException

Amazon Translate is unavailable Retry your request later

HTTP Status Code 400TextSizeLimitExceededException

The size of the input text exceeds the length constraint for the Text field Try again with a shorter text

HTTP Status Code 400TooManyRequestsException

The number of requests exceeds the limit Resubmit your request later

HTTP Status Code 400UnsupportedLanguagePairException

Amazon Translate cannot translate input text from the source language into this target language Formore information see Processamento de exceccedilotildees (p 4)

HTTP Status Code 400

See AlsoFor more information about using this API in one of the language-specific AWS SDKs see the following

bull AWS Command Line Interfacebull AWS SDK for NETbull AWS SDK for C++bull AWS SDK for Gobull AWS SDK for Javabull AWS SDK for JavaScriptbull AWS SDK for PHP V3bull AWS SDK for Pythonbull AWS SDK for Ruby V2

56

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorData Types

Data TypesThere are no separate data types in this API

Common ErrorsThis section lists the errors common to the API actions of all AWS services For errors specific to an APIaction for this service see the topic for that API action

AccessDeniedException

You do not have sufficient access to perform this action

HTTP Status Code 400IncompleteSignature

The request signature does not conform to AWS standards

HTTP Status Code 400InternalFailure

The request processing has failed because of an unknown error exception or failure

HTTP Status Code 500InvalidAction

The action or operation requested is invalid Verify that the action is typed correctly

HTTP Status Code 400InvalidClientTokenId

The X509 certificate or AWS access key ID provided does not exist in our records

HTTP Status Code 403InvalidParameterCombination

Parameters that must not be used together were used together

HTTP Status Code 400InvalidParameterValue

An invalid or out-of-range value was supplied for the input parameter

HTTP Status Code 400InvalidQueryParameter

The AWS query string is malformed or does not adhere to AWS standards

HTTP Status Code 400MalformedQueryString

The query string contains a syntax error

HTTP Status Code 404

57

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

MissingAction

The request is missing an action or a required parameter

HTTP Status Code 400MissingAuthenticationToken

The request must contain either a valid (registered) AWS access key ID or X509 certificate

HTTP Status Code 403MissingParameter

A required parameter for the specified action is not supplied

HTTP Status Code 400OptInRequired

The AWS access key ID needs a subscription for the service

HTTP Status Code 403RequestExpired

The request reached the service more than 15 minutes after the date stamp on the request or morethan 15 minutes after the request expiration date (such as for pre-signed URLs) or the date stamp onthe request is more than 15 minutes in the future

HTTP Status Code 400ServiceUnavailable

The request has failed due to a temporary failure of the server

HTTP Status Code 503ThrottlingException

The request was denied due to request throttling

HTTP Status Code 400ValidationError

The input fails to satisfy the constraints specified by an AWS service

HTTP Status Code 400

Common ParametersThe following list contains the parameters that all actions use for signing Signature Version 4 requests witha query string Any action-specific parameters are listed in the topic for that action For more informationabout Signature Version 4 see Signature Version 4 Signing Process in the Amazon Web Services GeneralReference

Action

The action to be performed

Type string

Required Yes

58

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

Version

The API version that the request is written for expressed in the format YYYY-MM-DD

Type string

Required YesX-Amz-Algorithm

The hash algorithm that you used to create the request signature

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Valid Values AWS4-HMAC-SHA256

Required ConditionalX-Amz-Credential

The credential scope value which is a string that includes your access key the date the region youare targeting the service you are requesting and a termination string (aws4_request) The value isexpressed in the following format access_keyYYYYMMDDregionserviceaws4_request

For more information see Task 2 Create a String to Sign for Signature Version 4 in the Amazon WebServices General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-Date

The date that is used to create the signature The format must be ISO 8601 basic format(YYYYMMDDTHHMMSSZ) For example the following date time is a valid X-Amz-Date value20120325T120000Z

Condition X-Amz-Date is optional for all requests it can be used to override the date used for signingrequests If the Date header is specified in the ISO 8601 basic format X-Amz-Date is not requiredWhen X-Amz-Date is used it always overrides the value of the Date header For more information seeHandling Dates in Signature Version 4 in the Amazon Web Services General Reference

Type string

Required ConditionalX-Amz-Security-Token

The temporary security token that was obtained through a call to AWS Security Token Service (AWSSTS) For a list of services that support temporary security credentials from AWS Security TokenService go to AWS Services That Work with IAM in the IAM User Guide

Condition If youre using temporary security credentials from the AWS Security Token Service youmust include the security token

Type string

Required Conditional

59

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedorCommon Parameters

X-Amz-Signature

Specifies the hex-encoded signature that was calculated from the string to sign and the derived signingkey

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required ConditionalX-Amz-SignedHeaders

Specifies all the HTTP headers that were included as part of the canonical request For moreinformation about specifying signed headers see Task 1 Create a Canonical Request For SignatureVersion 4 in the Amazon Web Services General Reference

Condition Specify this parameter when you include authentication information in a query string insteadof in the HTTP authorization header

Type string

Required Conditional

60

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary

Tradutor da Amazon Guia do desenvolvedor

AWS GlossaryFor the latest AWS terminology see the AWS Glossary in the AWS General Reference

61

  • Tradutor da Amazon
  • Table of Contents
  • O que eacute o Amazon Translate
    • Vocecirc eacute um usuaacuterio iniciante do Amazon Translate
      • Como Amazon Translate funciona
        • Detecccedilatildeo automaacutetica de idioma
        • Processamento de exceccedilotildees
        • Proacuteximas etapas
          • Conceitos baacutesicos do Amazon Translate
            • Etapa 1 configurar uma conta da AWS e criar um usuaacuterio administrador
              • Cadastre-se na AWS
              • Criar um usuaacuterio do IAM
              • Proacutexima etapa
                • Etapa 2 configurar a AWS Command Line Interface (AWS CLI)
                  • Proacutexima etapa
                    • Etapa 3 Conceitos baacutesicos (console)
                      • Proacutexima etapa
                        • Etapa 4 conceitos baacutesicos (AWS CLI)
                          • Traduzir textos usando a linha de comando
                          • Traduzir textos usando um arquivo JSON
                          • Proacutexima etapa
                            • Etapa 5 Conceitos baacutesicos (SDK)
                              • Traduzir textos usando o AWS SDK for Java
                              • Traduzir textos usando o AWS SDK for Python (Boto)
                              • Traduzir textos usando o AWS Mobile SDK para Android
                                • Code
                                  • Traduzir textos usando o AWS Mobile SDK for iOS
                                    • Code
                                      • Exemplos
                                        • Uso do Amazon Polly com o Amazon Translate
                                          • Code
                                            • Uso do Amazon Translate para traduzir um canal de bate-papo
                                            • Uso do Amazon Translate com o Amazon DynamoDB
                                              • Coacutedigo de exemplo
                                                • Funccedilatildeo Lambda em Python
                                                • Modelo do AWS CloudFormation
                                                    • Uso do Amazon Translate para traduzir uma paacutegina da Web
                                                    • Uso do Amazon Translate para traduzir grandes documentos
                                                    • Uso do Signature versatildeo 4 com o Amazon Translate
                                                      • Configuraccedilatildeo
                                                      • Code
                                                          • Autenticaccedilatildeo e controle de acesso para o Amazon Translate
                                                            • Autenticaccedilatildeo
                                                            • Controle de acesso
                                                            • Visatildeo geral do gerenciamento de permissotildees de acesso aos recursos do Amazon Translate
                                                              • Gerenciar o acesso a accedilotildees
                                                                • Poliacuteticas baseadas em identidade (poliacuteticas do IAM)
                                                                • Poliacuteticas com base em recurso
                                                                  • Como especificar elementos de poliacutetica recursos accedilotildees efeitos e principais
                                                                  • Especificaccedilatildeo de condiccedilotildees em uma poliacutetica
                                                                    • Usar poliacuteticas baseadas em identidade (poliacuteticas do IAM) para o Amazon Translate
                                                                    • Permissotildees da API do Amazon Translate referecircncia de accedilotildees recursos e condiccedilotildees
                                                                      • Monitorar Amazon Translate
                                                                        • Monitorar Amazon Translate
                                                                          • Noccedilotildees baacutesicas de meacutetricas do CloudWatch para o Amazon Translate
                                                                          • Visualizar meacutetricas do Amazon Translate
                                                                            • CloudWatch Meacutetricas e dimensotildees do Amazon Translate
                                                                              • CloudWatch Metrics for Amazon Translate
                                                                              • CloudWatch Dimensions for Amazon Translate
                                                                                  • Diretrizes e limites
                                                                                    • Regiotildees compatiacuteveis
                                                                                    • Limitaccedilatildeo
                                                                                    • Diretrizes
                                                                                    • Limites
                                                                                      • Histoacuterico de documentos do Amazon Translate
                                                                                      • API Reference
                                                                                        • Cabeccedilalhos HTTP
                                                                                        • Actions
                                                                                          • TranslateText
                                                                                            • Request Syntax
                                                                                            • Request Parameters
                                                                                            • Response Syntax
                                                                                            • Response Elements
                                                                                            • Errors
                                                                                            • See Also
                                                                                                • Data Types
                                                                                                • Common Errors
                                                                                                • Common Parameters
                                                                                                  • AWS Glossary