tradutor da amazon · tradutor da amazon guia do desenvolvedor table of contents ... o amazon...
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
-