Professional Documents
Culture Documents
Guia do desenvolvedor
Tradutor da Amazon Guia do desenvolvedor
Table of Contents
O que é o Amazon Translate? ............................................................................................................. 1
Você é um usuário iniciante do Amazon Translate? ......................................................................... 1
Como funcionam os bancos de dados públicos ....................................................................................... 2
Detecção automática de idioma .................................................................................................... 3
Processamento de exceções ........................................................................................................ 3
Próximas etapas ......................................................................................................................... 3
Conceitos básicos ............................................................................................................................... 4
Etapa 1: configurar uma conta ..................................................................................................... 4
Cadastre-se na AWS .......................................................................................................... 4
Criar um usuário do IAM ..................................................................................................... 5
Próxima etapa .................................................................................................................... 5
Etapa 2: Configurar a AWS CLI .................................................................................................... 5
Próxima etapa .................................................................................................................... 6
Etapa 3: Conceitos básicos (console) ............................................................................................ 6
Próxima etapa .................................................................................................................... 8
Etapa 4: Conceitos básicos (AWS CLI) .......................................................................................... 8
Traduzir textos usando a linha de comando ............................................................................ 9
Traduzir textos usando um arquivo JSON .............................................................................. 9
Próxima etapa .................................................................................................................. 10
Etapa 5: Conceitos básicos (SDK) ............................................................................................... 10
Uso do SDK para Java ...................................................................................................... 10
Como usar o AWS SDK para Python ................................................................................... 11
Usar Mobile SDK para Android ........................................................................................... 11
Uso do Mobile SDK for iOS ............................................................................................... 13
Exemplos ......................................................................................................................................... 15
Usar o Amazon Polly com o Amazon Translate ............................................................................. 15
Code ............................................................................................................................... 15
Usar o Amazon Translate para traduzir um canal de bate-papo ........................................................ 19
Usar o Amazon Translate com o DynamoDB ................................................................................ 27
Código de exemplo ........................................................................................................... 28
Usar o Amazon Translate para traduzir uma página da Web ........................................................... 30
Uso do Amazon Translate para traduzir grandes documentos .......................................................... 33
Uso do Signature versão 4 com o Amazon Translate ..................................................................... 35
Configuração .................................................................................................................... 35
Code ............................................................................................................................... 35
Autenticação e controle de acesso ...................................................................................................... 39
Autenticação ............................................................................................................................ 39
Controle de acesso ................................................................................................................... 40
Visão geral do gerenciamento de acesso ..................................................................................... 40
Gerenciar o acesso a ações ............................................................................................... 41
Como especificar elementos da política: recursos, ações, efeitos e entidades de segurança .......... 42
Especificação de condições em uma política ......................................................................... 42
Uso de políticas baseadas em identidade (políticas do IAM) para o Amazon Translate ......................... 42
Referência de permissões da API do Amazon Translate ................................................................. 43
Monitoramento .................................................................................................................................. 44
Monitoramento com o CloudWatch .............................................................................................. 46
Compreender métricas do CloudWatch para o Amazon Translate ............................................. 46
Como visualizar métricas do Amazon Translate ..................................................................... 47
Criar um alarme ............................................................................................................... 47
Métricas e dimensões do CloudWatch para o Amazon Translate ...................................................... 47
CloudWatch Metrics for Amazon Translate ............................................................................ 47
CloudWatch Dimensions for Amazon Translate ..................................................................... 48
Diretrizes e limites ............................................................................................................................ 50
Regiões compatíveis ................................................................................................................. 50
iii
Tradutor da Amazon Guia do desenvolvedor
Limitação ................................................................................................................................. 50
Diretrizes ................................................................................................................................. 50
Limites .................................................................................................................................... 50
Histórico do documento ..................................................................................................................... 51
API Reference .................................................................................................................................. 52
Actions .................................................................................................................................... 52
TranslateText ................................................................................................................... 53
Data Types .............................................................................................................................. 56
Common Errors ........................................................................................................................ 56
Common Parameters ................................................................................................................. 57
AWS Glossary .................................................................................................................................. 60
iv
Tradutor da Amazon Guia do desenvolvedor
Você é um usuário iniciante do Amazon Translate?
• Árabe
• Chinês simplificado
• Francês
• Alemão
• Português
• Espanhol
O Amazon Translate usa tecnologias avançadas de machine learning para fornecer traduções de alta
qualidade sob demanda. Use-o para traduzir documentos ou texto não estruturado ou para criar aplicativos
que funcionem em vários idiomas.
• Integrar o Amazon Translate a seus aplicativos para habilitar experiências de usuário multilíngues.
• Traduza conteúdo da empresa, como atas de reunião, relatórios técnicos, artigos da base de
conhecimento, postagens e muito mais.
• Traduza comunicações interpessoais, como e-mail, bate-papo no jogo, bate-papo de atendimento ao
cliente e muito mais, permitindo que clientes e funcionários se conectem no idioma preferido.
• Usar o Amazon Translate como parte do fluxo de trabalho da sua empresa para dados de entrada.
• Analise texto, como mídias sociais e feeds de notícias, em vários idiomas.
• Informações de pesquisa, como para casos de eDiscovery, em vários idiomas.
• Integrar o Amazon Translate a outros serviços da AWS para habilitar o processamento independente de
idioma.
• Usá-lo com o Amazon Comprehend para extrair entidades nomeadas, sentimentos e frases-chave de
texto não estruturado, como streamings de mídia social.
• Use-o com o Amazon Transcribe para disponibilizar legendas e captions em vários idiomas.
• Usá-lo com o Amazon Polly falar conteúdo traduzido.
• Usá-lo com o Amazon S3 para traduzir repositórios de documentos.
• Usá-lo com o Amazon DynamoDB, o Amazon Aurora e o Amazon Redshift para traduzir textos
armazenados em bancos de dados.
• Usá-lo com o AWS Lambda ou o AWS Glue para obter uma perfeita integração de fluxo de trabalho.
1
Tradutor da Amazon Guia do desenvolvedor
• Árabe
• Chinês (simplificado)
• Francês
• Alemão
• Português
• Espanhol
Você também pode traduzir o texto de qualquer um desses idiomas para outro. Para isso, basta traduzir o
texto original para o inglês e, depois, para o idioma de destino.
Ao trabalhar com o Amazon Translate, você fornecerá texto de origem e obterá o texto de saída:
• Texto de origem — O texto que você deseja traduzir. O texto de origem deve ser inserido no formato
UTF-8.
• Texto de saída — O texto que o Amazon Translate traduziu para o idioma de destino, que também está
no formato UTF-8. Dependendo dos idiomas de origem e de destino, pode haver mais caracteres no
texto de saída do que no texto de entrada.
O modelo de tradução tem dois componentes: o codificador e o decodificador. O codificador lê uma palavra
por vez na frase original e cria uma representação semântica que captura seu significado. O decodificador
usa a representação semântica para gerar uma tradução, uma palavra por vez, no idioma de destino.
O Amazon Translate usa mecanismos de atenção para entender o contexto. Isso ajuda a decidir quais
palavras no texto de origem são mais relevantes para gerar a próxima palavra no texto de destino. Os
mecanismos de atenção permitem que o decodificador se concentre nas partes mais relevantes de uma
sentença do texto de origem. Isso garante que o decodificador traduza corretamente palavras ou frases
ambíguas.
A palavra do texto de destino que o modelo gera se torna entrada para o decodificador. A rede continua
gerando palavras até chegar ao final da frase.
Para traduzir o texto, você chama o método TranslateText (p. 53), fornece o texto de origem e informa o
idioma de destino, usando o código de idioma listado na tabela a seguir.
Idioma Code
Árabe ar
Chinês (simplificado) zh
Inglês en
Francês fr
Alemão de
Português pt
2
Tradutor da Amazon Guia do desenvolvedor
Detecção automática de idioma
Idioma Code
Espanhol es
Para traduzir texto de qualquer idioma diferente do inglês para outro, traduza-o para o inglês primeiro e,
em seguida, traduza o texto de saída em inglês para o idioma de destino.
O Amazon Translate pode detectar automaticamente o idioma de origem. Para detecção automática de
idioma, especifique auto como o idioma de origem ao informar o texto de origem. O Amazon Translate
chama o Amazon Comprehend para detectar o idioma de origem.
Processamento de exceções
Se você especificar um idioma de origem ou de destino que não seja compatível, o Amazon Translate
retorna uma das seguintes exceções:
Próximas etapas
Agora que você aprendeu sobre o Amazon Translate poderá explorar as seções a seguir para saber mais
sobre como criar uma solução.
3
Tradutor da Amazon Guia do desenvolvedor
Etapa 1: configurar uma conta
Tópicos
• Etapa 1: configurar uma conta da AWS e criar um usuário administrador (p. 4)
• Etapa 2: configurar a AWS Command Line Interface (AWS CLI) (p. 5)
• Etapa 3: Conceitos básicos (console) (p. 6)
• Etapa 4: Conceitos básicos (AWS CLI) (p. 8)
• Etapa 5: Conceitos básicos (SDK) (p. 10)
Cadastre-se na AWS
Quando você se cadastra na Amazon Web Services (AWS), sua conta da AWS é cadastrada
automaticamente em todos os serviços da AWS, inclusive o Amazon Translate. Você será cobrado apenas
pelos serviços que usar.
Com o Amazon Translate, você paga apenas pelos recursos que usa. Se você for um cliente novo da
AWS, poderá começar a usar o Amazon Translate gratuitamente. Para obter mais informações, consulte
Nível de uso gratuito da AWS.
Isso pode estar indisponível no seu navegador se, anteriormente, você iniciou a sessão
no Console de gerenciamento da AWS. Nesse caso, escolha Fazer login com uma conta
diferente e, em seguida, Criar uma nova conta da AWS.
2. Siga as instruções online.
Parte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um PIN usando
o teclado do telefone.
4
Tradutor da Amazon Guia do desenvolvedor
Criar um usuário do IAM
Recomendamos veementemente que você acesse a AWS usando o AWS Identity and Access
Management (IAM), em vez das credenciais de sua conta da AWS. Para usar o IAM a fim de acessar a
AWS, crie um usuário do IAM, adicione o usuário a um grupo do IAM com permissões administrativas e,
em seguida, conceda permissões administrativas ao usuário do IAM. Em seguida, você pode acessar a
AWS usando um URL especial e as credenciais do usuário do IAM.
Os exercícios deste guia pressupõem que você tenha um usuário do IAM chamado adminuser com
privilégios de administrador.
• Em sua conta da AWS, crie um usuário administrador chamado adminuser. Para obter instruções,
consulte Criação do primeiro usuário do IAM e do grupo de administradores no Guia do usuário do
IAM.
Próxima etapa
Etapa 2: configurar a AWS Command Line Interface (AWS CLI) (p. 5)
1. Faça download e configure a AWS CLI. Para obter instruções, consulte os seguintes tópicos no Guia
do usuário do AWS Command Line Interface:
[profile adminuser]
aws_access_key_id = adminuser access key ID
aws_secret_access_key = adminuser secret access key
region = aws-region
5
Tradutor da Amazon Guia do desenvolvedor
Próxima etapa
Você pode usar esse perfil ao executar os comandos da AWS CLI. Para obter mais informações sobre
perfis nomeados, consulte Perfis nomeados no Guia do usuário do AWS Command Line Interface.
Para obter uma lista de regiões da AWS, consulte Regiões e endpoints no Referência geral do
Amazon Web Services.
3. Verifique a configuração digitando o seguinte comando de ajuda no prompt de comando:
Você deve ver uma breve descrição do Amazon Translate e uma lista dos comandos disponíveis.
Próxima etapa
Etapa 3: Conceitos básicos (console) (p. 6)
Para começar a traduzir um texto, faça login no Console de Gerenciamento da AWS e abra o console
do Amazon Translate. Se esta é a sua primeira vez usando o Amazon Translate, selecione Try Amazon
Translate.
Em Translate text, selecione os idiomas de origem e de destino. Insira o texto que você deseja traduzir na
caixa de texto à esquerda. O texto traduzido é exibido na caixa de texto à direita.
6
Tradutor da Amazon Guia do desenvolvedor
Etapa 3: Conceitos básicos (console)
Na seção JSON samples, você pode ver a entrada e a saída JSON para a operação
TranslateText (p. 53).
7
Tradutor da Amazon Guia do desenvolvedor
Próxima etapa
Próxima etapa
Etapa 4: Conceitos básicos (AWS CLI) (p. 8)
Há duas maneiras de usar a CLI para traduzir o texto com o Amazon Translate. Para textos curtos, você
pode fornecer o texto que deseja traduzir como um parâmetro do comando translate-text. Para textos
mais longos, você pode fornecer o idioma de origem, o idioma de destino e o texto em um arquivo JSON.
Para usar o Amazon Translate a partir da linha de comando, você precisa saber o endpoint e a região do
serviço. Para obter uma lista de endpoints e regiões disponíveis, consulte Diretrizes e limites (p. 50).
8
Tradutor da Amazon Guia do desenvolvedor
Traduzir textos usando a linha de comando
{
"TargetLanguageCode": "es",
"Text": "Hola, mundo",
"SourceLanguageCode": "en"
}
{
"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"
}
9
Tradutor da Amazon Guia do desenvolvedor
Próxima etapa
"TargetLanguageCode": "fr",
"Text": "Amazon Translate traduit les documents en anglais à partir
de six langues et vice versa en temps réel. Il utilise des
technologies avancées d'apprentissage de la machine pour
fournir une traduction en temps réel de haute qualité.
Utilisez-le pour traduire des documents ou pour créer des
applications qui fonctionnent en plusieurs langues.",
"SourceLanguageCode": "en"
}
Próxima etapa
Para ver outras formas de usar o Amazon Translate, consulte Exemplos (p. 15).
Para executar os exemplos de Java, você precisa instalar o AWS SDK for Java. Para obter instruções para
instalar o SDK para Java, consulte Configurar o AWS SDK para Java.
Tópicos
• Tradução de texto usando o AWS SDK for Java (p. 10)
• Tradução de texto usando o AWS SDK for Python (Boto) (p. 11)
• Traduzir textos usando o AWS Mobile SDK para Android (p. 11)
• Traduzir textos usando o AWS Mobile SDK for iOS (p. 13)
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.translate.AWSTranslate;
import com.amazonaws.services.translate.AmazonTranslateClient;
import com.amazonaws.services.translate.model.TranslateTextRequest;
import com.amazonaws.services.translate.model.TranslateTextResult;
10
Tradutor da Amazon Guia do desenvolvedor
Como usar o AWS SDK para Python
.withRegion(REGION)
.build();
Você pode alterar os idiomas de origem e de destino de acordo com as restrições a seguir:
• Se o idioma de origem for o inglês, você pode traduzir o texto de origem para qualquer um dos
outros idiomas compatíveis. Para ver uma lista das linguagens, consulte Como o Amazon Translate
funciona (p. 2).
• Se o idioma de origem não for inglês, o idioma de destino deverá ser inglês.
import boto3
Você pode alterar os idiomas de origem e de destino de acordo com as restrições a seguir:
• Se o idioma de origem for o inglês, você pode traduzir o texto de origem para qualquer um dos outros
idiomas compatíveis. Para ver uma lista das linguagens, consulte Como funcionam os bancos de dados
públicos (p. 2).
• Se o idioma de origem não for inglês, o idioma de destino deverá ser inglês.
1. Configure o AWS Mobile SDK para Android. Para obter instruções, consulte Android: opções de
configuração para o SDK no Guia do desenvolvedor do AWS Mobile
2. Crie um usuário do IAM com as permissões mínimas necessárias para executar esse exemplo. Para
obter informações sobre como criar um usuário do IAM, consulte Criação de um usuário do IAM
11
Tradutor da Amazon Guia do desenvolvedor
Usar Mobile SDK para Android
na sua conta da AWS no Guia do usuário do AWS Identity and Access Management. Para ver as
políticas de permissões necessárias, consulte Uso de políticas baseadas em identidade (políticas
do IAM) para o Amazon Translate (p. 42). Após criar o usuário, baixe as credenciais ou registre a
chave de acesso e a chave de acesso secreta.
3. Crie um novo projeto com o Android Studio.
4. Adicione o seguinte à seção de dependências do arquivo build.gradle.
dependencies {
implementation 'com.amazonaws:aws-android-sdk-translate:2.6.20'
}
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Code
Use o seguinte código para criar o exemplo:
package com.amazonaws.amazontranslatetester;
import android.app.Activity;
import android.util.Log;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.handlers.AsyncHandler;
import com.amazonaws.services.translate.AmazonTranslateAsyncClient;
import com.amazonaws.services.translate.model.TranslateTextRequest;
import com.amazonaws.services.translate.model.TranslateTextResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
AWSCredentials awsCredentials = new AWSCredentials() {
@Override
public String getAWSAccessKeyId() {
return "access key";
}
@Override
public String getAWSSecretKey() {
return "secret key";
}
};
12
Tradutor da Amazon Guia do desenvolvedor
Uso do Mobile SDK for iOS
.withTargetLanguageCode("es");
translateAsyncClient.translateTextAsync(translateTextRequest, new
AsyncHandler<TranslateTextRequest, TranslateTextResult>() {
@Override
public void onError(Exception e) {
Log.e(LOG_TAG, "Error occurred in translating the text: " +
e.getLocalizedMessage());
}
@Override
public void onSuccess(TranslateTextRequest request, TranslateTextResult
translateTextResult) {
Log.d(LOG_TAG, "Original Text: " + request.getText());
Log.d(LOG_TAG, "Translated Text: " +
translateTextResult.getTranslatedText());
}
});
}
}
1. Crie um usuário do IAM com as permissões mínimas necessárias para executar esse exemplo. Para
obter informações sobre como criar um usuário do IAM, consulte Criação de um usuário do IAM
na sua conta da AWS no Guia do usuário do AWS Identity and Access Management. Para ver as
políticas de permissões necessárias, consulte Uso de políticas baseadas em identidade (políticas
do IAM) para o Amazon Translate (p. 42). Após criar o usuário, baixe as credenciais ou registre a
chave de acesso e a chave de acesso secreta.
2. Instalar o Xcode versão 8.0 ou posterior. Você pode baixar a versão mais recente do Xcode no site da
Apple, https://developer.apple.com/xcode/.
3. Instalar o Cocoapods. Em uma janela de terminal, execute o seguinte comando:
4. Crie um projeto usando o Xcode. Em seguida, em uma janela de terminal, navegue até o diretório que
contém o arquivo .xcodeproj do seu projeto e execute o seguinte comando:
pod init
13
Tradutor da Amazon Guia do desenvolvedor
Uso do Mobile SDK for iOS
7. A execução de pod install cria um novo arquivo do Workspace. Feche o projeto Xcode e, em
seguida, abra-o usando o arquivo /project_name.xcworkspace. A partir de agora, você deve usar
esse arquivo somente para abrir o projeto Xcode
Compile o aplicativo novamente após abri-lo para resolver as APIs das novas bibliotecas chamadas no
código.
8. Adicione a seguinte instrução de importação ao controlador de visualização:
import AWSTranslate
9. Copie o seguinte código no seu projeto XCode. Atualize a chave de acesso e a chave secreta para os
valores que você registrou na etapa 1.
Code
Use o seguinte código para criar o exemplo:
AWSServiceManager.default().defaultServiceConfiguration = configuration
14
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Polly com o Amazon Translate
Exemplos
Os exemplos a seguir mostram formas de você usar o Amazon Translate.
Tópicos
• Usar o Amazon Polly com o Amazon Translate (p. 15)
• Usar o Amazon Translate para traduzir um canal de bate-papo (p. 19)
• Uso do Amazon Translate com o Amazon DynamoDB (p. 27)
• Usar o Amazon Translate para traduzir uma página da Web (p. 30)
• Uso do Amazon Translate para traduzir grandes documentos (p. 33)
• Uso do Signature versão 4 com o Amazon Translate (p. 35)
1. Instale e configure o AWS SDK for JavaScript. Para obter instruções para instalar o SDK for
JavaScript, consulte Instalar o SDK para JavaScript.
2. Copie o código de exemplo para um arquivo HTML em seu servidor da Web.
3. Atualize a tag <script> para o local onde você instalou o SDK for JavaScript.
4. Altere a região e o endpoint para a região onde você deseja executar as operações do Amazon
Translate e do Amazon Polly. Para obter uma lista das regiões com suporte do Amazon Translate,
consulte Diretrizes e limites (p. 50). Para obter uma lista das regiões com suporte do Amazon Polly,
consulte Regiões e endpoints da AWS na Referência geral da Amazon Web Services.
5. Crie um usuário do IAM com as permissões mínimas necessárias para executar esse exemplo.
Para obter informações sobre como criar um usuário do IAM, consulte Criação de um usuário do
IAM na sua conta da AWS no Guia do usuário do AWS Identity and Access Management. Para as
permissões necessárias, consulte Uso de políticas baseadas em identidade (políticas do IAM) para
o Amazon Translate (p. 42) e Uso de políticas baseadas em identidade (políticas do IAM) para o
Amazon Polly no Guia do desenvolvedor do Amazon Polly.
6. Forneça o ID de acesso e a chave secreta do usuário do IAM criados na etapa anterior.
Code
A seguir você encontra o código completo da página da Web de exemplo. Você pode copiar esse código
em um arquivo HTML para executar o exemplo no seu próprio servidor da Web.
<!DOCTYPE html>
15
Tradutor da Amazon Guia do desenvolvedor
Code
<html>
<head>
<title>Amazon Translate</title>
<script src="aws-sdk/dist/aws-sdk.js"></script>
</head>
<body>
<h1 style="text-align: left">Amazon Translate Demo</h1>
<br/>
<table class="tg">
<tr>
<th align="left">
Source Language Code:
<select id="sourceLanguageCodeDropdown">
<option value="en">en</option>
<option value="ar">ar</option>
<option value="de">de</option>
<option value="es">es</option>
<option value="fr">fr</option>
<option value="pt">pt</option>
<option value="zh">zh</option>
</select>
</th>
<th align="left">
Target Language Code:
<select id="targetLanguageCodeDropdown">
<option value="en">en</option>
<option value="ar">ar</option>
<option value="de">de</option>
<option value="es">es</option>
<option value="fr">fr</option>
<option value="pt">pt</option>
<option value="zh">zh</option>
</select>
</th>
</tr>
<tr>
<th>
<textarea id="inputText" name="inputText" rows="10" cols="50"
placeholder="Text to translate..."></textarea>
</th>
<th>
<textarea id="outputText" name="outputText" rows="10" cols="50"
placeholder="Translated text..."></textarea>
</th>
</tr>
<tr>
<th align="left">
<button type="button" name="translateButton"
onclick="doTranslate()">Translate</button>
<button type="button" name="synthesizeButton"
onclick="doSynthesizeInput()">Synthesize Input Speech</button>
<button type="button" name="clearButton" onclick="clearInputs()">Clear</
button>
</th>
<th align="left">
<button type="button" name="synthesizeButton"
onclick="doSynthesizeOutput()">Synthesize Output Speech</button>
</th>
</tr>
</table>
<script type="text/javascript">
// set the focus to the input box
document.getElementById("inputText").focus();
16
Tradutor da Amazon Guia do desenvolvedor
Code
/**
* Change the region and endpoint.
AWS.config.region = 'region'; // Region
var ep = new AWS.Endpoint('endpoint');
/**
* Place your credentials here. 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": [
* "translate:TranslateText",
* "polly:SynthesizeSpeech"
* ],
* "Resource": "*",
* "Effect": "Allow"
* }
* ]
* }
*
* For more information about the AWS Credentials object, see:
* http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html
*/
AWS.config.credentials = new AWS.Credentials("access key", "secret key);
function doTranslate() {
var inputText = document.getElementById('inputText').value;
if (!inputText) {
alert("Input text cannot be empty.");
exit();
}
var params = {
Text: inputText,
SourceLanguageCode: sourceLanguageCode,
TargetLanguageCode: targetLanguageCode
};
17
Tradutor da Amazon Guia do desenvolvedor
Code
function doSynthesizeInput() {
var text = document.getElementById('inputText').value.trim();
if (!text) {
return;
}
var sourceLanguageCode =
document.getElementById("sourceLanguageCodeDropdown").value;
doSynthesize(text, sourceLanguageCode);
}
function doSynthesizeOutput() {
var text = document.getElementById('outputText').value.trim();
if (!text) {
return;
}
var targetLanguageCode =
document.getElementById("targetLanguageCodeDropdown").value;
doSynthesize(text, targetLanguageCode);
}
18
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Translate para
traduzir um canal de bate-papo
function clearInputs() {
document.getElementById('inputText').value = "";
document.getElementById('outputText').value = "";
document.getElementById("sourceLanguageCodeDropdown").value = "en";
document.getElementById("targetLanguageCodeDropdown").value = "en";
}
</script>
</body>
</html>
Este exemplo usa uma página da web que mostra mensagens em inglês em tempo real e suas traduções
em tempo real lado a lado. Você pode enviar as mensagens para o Amazon Polly fazer a leitura do texto
em voz alta. Para seguir uma pessoa no bate-papo, digite o nome do usuário. O aplicativo fará a leitura em
voz alta de mensagens apenas desse usuário.
1. Instale e configure o AWS SDK for JavaScript. Para obter instruções para instalar o SDK for
JavaScript, consulte Instalar o SDK para JavaScript.
2. Copie o código de exemplo para um arquivo HTML em seu servidor da Web.
3. Atualize a tag <script> para o local onde você instalou o SDK for JavaScript.
4. Altere a região e o endpoint para a região onde você deseja executar as operações do Amazon
Translate e do Amazon Polly. Para obter uma lista das regiões com suporte do Amazon Translate,
consulte Diretrizes e limites (p. 50). Para obter uma lista das regiões com suporte do Amazon Polly,
consulte Regiões e endpoints da AWS na Referência geral da Amazon Web Services.
5. Crie um usuário do IAM com as permissões mínimas necessárias para executar esse exemplo.
Para obter informações sobre como criar um usuário do IAM, consulte Criação de um usuário do
19
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Translate para
traduzir um canal de bate-papo
IAM na sua conta da AWS no Guia do usuário do AWS Identity and Access Management. Para as
permissões necessárias, consulte Uso de políticas baseadas em identidade (políticas do IAM) para
o Amazon Translate (p. 42) e Uso de políticas baseadas em identidade (políticas do IAM) para o
Amazon Polly no Guia do desenvolvedor do Amazon Polly.
6. Forneça o ID de acesso e a chave secreta do usuário do IAM criados na etapa anterior.
7. Insira um nome de usuário do Twitch e um token OAuth para sua conta. Você pode criar uma conta do
Twitch em https://www.twitch.tv. Você pode criar um token OAuth do Twitch em https://twitchapps.com/
tmi.
<!doctype html>
<html lang="en">
<head>
<title>Amazon Translate</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
.panelHeading
{
background-color: #6441a4 !important;
}
.panelBody
{
min-height: 450px; max-height: 450px;overflow-y: scroll;
}
body{
margin-left: 0px;
margin-right: 0px;
height: 100%;
}
</style>
</head>
<body>
<div class="container-fluid">
<!--Top Header-->
<div class="row topHeader">
<div class="col-md-12">
<h4>Amazon Translate - Artificial Intelligence on AWS - Powerful machine learning
for all Developers and Data Scientists</h4>
</div>
</div>
<!--Status Label-->
<div class="row">
<div class="col-md-12">
<p class="bg-info">
20
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Translate para
traduzir um canal de bate-papo
<div id="connecting-div"></div>
</p>
</div>
</div>
<!--Chat Boxes-->
<div class="row">
<!--Live Chat-->
<div class="col-md-6">
<div class="panel panel-primary">
<div class="panel-heading panelHeading">Live Chat</div>
<div id="livechatc" class="panel-body panelBody">
<div class="subscribe" id="livechat"></div>
</div>
</div>
</div>
<!--Live Chat-->
21
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Translate para
traduzir um canal de bate-papo
<!--Translated Chat-->
<div class="col-md-6">
<div class="panel panel-primary">
<div class="panel-heading panelHeading">Live Translation</div>
<div id="livetranslationc" class="panel-body panelBody">
<div class="imageDetected" id="livetranslation"></div>
</div>
</div>
</div>
<!--Translated Chat-->
</div>
<!--Send Message-->
<div class="row">
<div class="col-md-11">
<input type="text" id="message" class="form-control"/>
</div>
<div class=" col-md-1">
<button type="button" class="form-control btn btn-default" id="btn-send"
onclick="sendMessage()">Send</button>
</div>
</div>
</div>
<script src="aws-js-sdk/dist/aws-sdk-all.js"></script>
<script src="http://cdn.tmijs.org/js/1.2.1/tmi.min.js" integrity="sha384-
eE0n7sm1W7DOUI2Xh5I4qSpZTe6hupAO0ovLfqEy0yVJtGRBNfssdmjbJhEYm6Bw"
crossorigin="anonymous"></script>
<script>
cred = {
twitchUsername: "Twitch user name",
twitchOAuthToken: "Twitch OAuth token",
awsAccessKeyId: "access key",
awsSecretAccessKey: "secret key"
};
AWS.config.region = 'region';
ep = new AWS.Endpoint('endpoint');
//Twitch Client
var options = {
options: {
debug: false
},
connection: {
cluster: "aws",
reconnect: true
},
identity: {
22
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Translate para
traduzir um canal de bate-papo
username: cred.twitchUsername,
password: cred.twitchOAuthToken
},
channels: [con.channel]
};
window.client = tmi.client(options);
window.client.connect();
//Attached Handlers
window.client.on("chat", onChat);
window.client.on("connecting", onConnecting);
window.client.on("connected", onConnected);
//Disable UI Elements
document.getElementById("sourceLanguage").disabled = true;
document.getElementById("targetLanguage").disabled = true;
document.getElementById("channel").disabled = true;
document.getElementById("btn-go").disabled = true;
}
function init(){
//Get UI Controls
var lc = document.getElementById("livechat");
var lt = document.getElementById("livetranslation")
var lcc = document.getElementById("livechatc");
var ltc = document.getElementById("livetranslationc")
var cbspeak = document.getElementById("cbSpeak")
var follow = document.getElementById("follow");
var sendMessage = document.getElementById("message");
//Cache values
con = {
channel: document.getElementById("channel").value,
sourceLanguage: document.getElementById("sourceLanguage").value,
targetLanguage: document.getElementById("targetLanguage").value,
liveChatUI: lc,
liveTranslationUI: lt,
liveChatUIContainer: lcc,
liveTranslationUIContainer: ltc,
cbSpeak: cbspeak,
follow: follow,
sendMessage: sendMessage
}
lc.innerHTML = '';
lt.innerHTML = '';
//Speaker
var voiceId = "Joanna";
if(con.targetLanguage == "en")
voiceId = "Joanna";
else if(con.targetLanguage == "de")
voiceId = "Marlene";
else if(con.targetLanguage == "es")
voiceId = "Conchita";
else if(con.targetLanguage == "fr")
voiceId = "Celine";
else if(con.targetLanguage == "pt")
voiceId = "Ines";
else
voiceId = "Joanna";
window.audioPlayer = AudioPlayer(voiceId);
}
/**************************Init and Connect to Chat****************************/
23
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Translate para
traduzir um canal de bate-papo
//Translate
if (message) {
var username = userstate['username'];
var params = {
Text: message,
SourceLanguageCode: con.sourceLanguage,
TargetLanguageCode: con.targetLanguage
};
/**************************Client Connecting****************************/
function onConnecting (address, port) {
document.getElementById("status").innerHTML = " [ Connecting...]"
}
/**************************Send Message****************************/
function sendMessage(){
if(con.sendMessage.value){
message = con.sendMessage.value;
24
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Translate para
traduzir um canal de bate-papo
var params = {
Text: con.sendMessage.value,
SourceLanguageCode: con.targetLanguage,
TargetLanguageCode: con.sourceLanguage
};
/**************************Audio player****************************/
function AudioPlayer(voiceId) {
var audioPlayer = document.createElement('audio');
audioPlayer.setAttribute("id", "audioPlayer");
document.body.appendChild(audioPlayer);
var speaker = {
self: this,
playlist:[],
25
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Translate para
traduzir um canal de bate-papo
isSpeaking = true;
getAudioStream(text).then(playAudioStream).then(resolve);
});
}
return speaker;
}
/**************************Audio player****************************/
</script>
</body>
</html>
26
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Translate com o DynamoDB
Neste exemplo:
• Use o AWS CloudFormation para criar tabelas do DynamoDB para armazenar a tradução e uma função
Lambda que chama a operação TranslateText (p. 53).
• Teste a função usando o console do AWS Lambda.
{
"review": "hello world",
"target_language": "es",
"source_language": "en",
"review_id": "1"
}
27
Tradutor da Amazon Guia do desenvolvedor
Código de exemplo
Escolha Criar.
15. Verifique se TestTranslate está marcada e, em seguida, selecione Test. Quando o teste for concluído,
você receberá a seguinte mensagem:
Código de exemplo
Use o seguinte código para criar o exemplo:
import logging
import json
import boto3
import os
translate = boto3.client('translate')
dynamodb = boto3.client('dynamodb')
firehose = boto3.client('firehose')
TABLE_NAME = os.getenv('TABLE_NAME')
logger = logging.getLogger()
logger.setLevel(logging.INFO)
logger.info(event)
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 = dynamodb.get_item(
TableName=TABLE_NAME,
28
Tradutor da Amazon Guia do desenvolvedor
Código de exemplo
Key={
'review_id': {
'N': review_id,
},
'language': {
'S': target_language,
},
}
)
logger.info(response)
if 'Item' in response:
return response['Item']['review']['S']
except Exception as e:
logger.error(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 = translate.translate_text(Text=review,
SourceLanguageCode=source_language, TargetLanguageCode=target_language)
logging.info("Translation output: " + str(result))
except Exception as e:
logger.error(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 = dynamodb.put_item(
TableName=TABLE_NAME,
Item={
'review_id': {
'N': review_id,
},
'language': {
'S': target_language,
},
'review': {
'S': result.get('TranslatedText')
}
}
)
logger.info(response)
except Exception as e:
logger.error(e)
raise Exception("[ErrorMessage]: " + str(e))
return result.get('TranslatedText')
else:
logger.error(e)
raise Exception("[ErrorMessage]: Invalid input ")
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
29
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Translate para traduzir uma página da Web
Resources: ReviewTranslate:
Type: 'AWS::Serverless::Function'
Properties:
Handler: example.lambda_handler
Runtime: python2.7
CodeUri:
Bucket: BUCKET_NAME
Key: example.zip
Policies:
- AWSLambdaFullAccess
- TranslateReadOnly
Environment:
Variables:
TABLE_NAME: !Ref ReviewTable
Tracing: "Active"
ReviewTable:
Type: 'AWS::DynamoDB::Table'
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
• Uma função que lê os dados da página da Web de origem, os separa em elementos HTML and chama a
segunda função para traduzir o elemento. Ao final do documento, ele grava os resultados em um arquivo
HTML.
• Uma função que chama o serviço do Amazon Translate para traduzir o conteúdo de um elemento HTML.
1. Instale e configure o AWS SDK for Java. Para obter instruções para instalar o SDK para Java,
consulte Configurar o AWS SDK for Java.
2. Instale o analisador de Java HTML jsoup. Para obter instruções, consulte jsoup.
3. Crie um usuário do IAM com as permissões mínimas necessárias para executar esse exemplo. Para
obter informações sobre como criar um usuário do IAM, consulte Criação de um usuário do IAM
na sua conta da AWS no Guia do usuário do AWS Identity and Access Management. Para ver as
políticas de permissões necessárias, consulte Uso de políticas baseadas em identidade (políticas do
IAM) para o Amazon Translate (p. 42).
30
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Translate para traduzir uma página da Web
4. Configure as credenciais necessárias para executar a amostra. Para obter instruções, consulte
Configurar credenciais e a região da AWS para desenvolvimento no Guia do desenvolvedor do AWS
SDK for Java.
5. Crie um novo projeto em seu Java IDE e copie o código-fonte.
6. Altere a região e o endpoint para a região onde você deseja executar a operação do Amazon
Translate. Para obter uma lista das regiões com suporte do Amazon Translate, consulte Diretrizes e
limites (p. 50).
package com.amazonaws.translateweb;
import com.amazonaws.auth.AWSCredentialsProviderChain;
import com.amazonaws.auth.EnvironmentVariableCredentialsProvider;
import com.amazonaws.auth.SystemPropertiesCredentialsProvider;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.translate.AmazonTranslate;
import com.amazonaws.services.translate.AmazonTranslateClient;
import com.amazonaws.services.translate.model.TranslateTextRequest;
import com.amazonaws.services.translate.model.TranslateTextResult;
import com.amazonaws.AmazonServiceException;
import java.io.IOException;
import java.io.PrintWriter;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
31
Tradutor da Amazon Guia do desenvolvedor
Usar o Amazon Translate para traduzir uma página da Web
try {
// Retrieve the HTML located at the URL
doc = Jsoup.connect(url).get();
32
Tradutor da Amazon Guia do desenvolvedor
Uso do Amazon Translate para
traduzir grandes documentos
• A função main que chama a operação Translate para cada frase na string de origem. A função main
também lida com a autenticação com o Amazon Translate.
1. Instale e configure o AWS SDK for Java. Para obter instruções para instalar o SDK para Java,
consulte Configurar o AWS SDK for Java.
2. Crie um usuário do IAM com as permissões mínimas necessárias para executar esse exemplo. Para
obter informações sobre como criar um usuário do IAM, consulte Criação de um usuário do IAM
na sua conta da AWS no Guia do usuário do AWS Identity and Access Management. Para ver as
políticas de permissões necessárias, consulte Uso de políticas baseadas em identidade (políticas do
IAM) para o Amazon Translate (p. 42).
3. Configure as credenciais necessárias para executar a amostra. Para obter instruções, consulte
Configurar credenciais e a região da AWS para desenvolvimento no Guia do desenvolvedor do AWS
SDK for Java.
4. Crie um novo projeto em seu Java IDE e copie o código-fonte.
5. Altere a região para a região em que você deseja executar a operação do Amazon Translate. Para
obter uma lista das regiões com suporte do Amazon Translate, consulte Diretrizes e limites (p. 50).
6. Altere os idiomas de origem e de destino para os idiomas envolvidos na tradução.
7. Execute o exemplo para ver o texto traduzido na saída padrão.
import com.amazonaws.auth.AWSCredentialsProviderChain;
33
Tradutor da Amazon Guia do desenvolvedor
Uso do Amazon Translate para
traduzir grandes documentos
import com.amazonaws.auth.EnvironmentVariableCredentialsProvider;
import com.amazonaws.auth.SystemPropertiesCredentialsProvider;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.translate.AmazonTranslate;
import com.amazonaws.services.translate.AmazonTranslateClient;
import com.amazonaws.services.translate.model.TranslateTextRequest;
import com.amazonaws.services.translate.model.TranslateTextResult;
import java.text.BreakIterator;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
class SentenceSegmenter {
public List<String> segment(final String text, final String lang) throws Exception {
List<String> res = new ArrayList<>();
34
Tradutor da Amazon Guia do desenvolvedor
Uso do Signature versão 4 com o Amazon Translate
Configuração
Para executar o exemplo, siga as seguintes etapas:
1. Instale a AWS Command Line Interface (AWS CLI). O AWS SDK for Python (Boto) é incluído ao
instalar a AWS CLI. Para obter instruções, consulte Etapa 2: configurar a AWS Command Line
Interface (AWS CLI) (p. 5).
2. Crie um usuário do AWS Identity and Access Management (IAM) com a política de permissões
mínimas necessárias para executar esse exemplo. Para obter informações sobre como criar um
usuário do IAM, consulte Criar um usuário do IAM na sua conta da AWS no Guia do usuário do AWS
Identity and Access Management. Para ver as políticas de permissões necessárias, consulte Uso de
políticas baseadas em identidade (políticas do IAM) para o Amazon Translate (p. 42). Registre o ID
de chave de acesso e a chave de acesso secreta.
3. Coloque o ID de chave de acesso e a chave de acesso secreta em variáveis de ambiente chamadas
AWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY, respectivamente. Como prática recomendada,
recomendamos que você não incorpore credenciais no código.
4. Crie um novo arquivo no seu computador, copie o código para o exemplo (o qual você pode encontrar
na próxima seção), cole-o no arquivo e salve o arquivo com a extensão .py.
5. No código, substitua region pelo nome da região da AWS na qual você deseja executar a operação
do Amazon Translate TranslateText. Para obter uma lista das regiões compatíveis, consulte
Regiões e endpoints da AWS na Referência geral da Amazon Web Services.
Code
Veja a seguir o código completo do programa Python de exemplo.
35
Tradutor da Amazon Guia do desenvolvedor
Code
Após criar os valores de solicitação, como o URL do endpoint e o corpo da solicitação, o código faz o
seguinte:
# The following functions derive keys for the request. For more information, see
# http://docs.aws.amazon.com/general/latest/gr/signature-v4-examples.html#signature-v4-
examples-python.
def sign(key, msg):
return hmac.new(key, msg.encode("utf-8"), hashlib.sha256).digest()
# 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 code.
access_key = os.environ.get('AWS_ACCESS_KEY_ID')
36
Tradutor da Amazon Guia do desenvolvedor
Code
secret_key = os.environ.get('AWS_SECRET_ACCESS_KEY')
if access_key is None or secret_key is None:
print 'No access key is available.'
sys.exit()
# 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 = '/'
37
Tradutor da Amazon Guia do desenvolvedor
Code
# 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' header.
headers = {'Content-Type':content_type,
'X-Amz-Date':amz_date,
'X-Amz-Target':amz_target,
'Authorization':authorization_header}
38
Tradutor da Amazon Guia do desenvolvedor
Autenticação
Autenticação
Você pode acessar a AWS como alguns dos seguintes tipos de identidade:
• Usuário raiz da conta da AWS – Ao criar uma conta do AWS pela primeira vez, você começa com uma
única identidade de login que tem acesso completo a todos os serviços e recursos da AWS na conta.
Essa identidade é denominada usuário raiz da conta da AWS e é acessada pelo login com o endereço
de e-mail e a senha que você usou para criar a conta. Recomendamos que não use o usuário raiz para
suas tarefas diárias, nem mesmo as administrativas. Em vez disso, siga as melhores práticas de usar
o usuário raiz apenas para criar seu primeiro usuário do IAM. Depois, armazene as credenciais usuário
raiz com segurança e use-as para executar apenas algumas tarefas de gerenciamento de contas e de
serviços.
• Usuário IAM – um usuário IAM é uma identidade na sua conta da AWS que tem permissões
personalizadas específicas (por exemplo, para criar a custom glossary no Amazon Translate). Você
pode usar um nome e uma senha de usuário IAM para fazer login em páginas Web seguras da AWS,
como Console de gerenciamento da AWS, Fóruns de discussão AWS ou o AWS Support Center.
Além de um nome e uma senha de usuário, você também pode gerar chaves de acesso para cada
usuário. Você pode usar essas chaves ao acessar serviços da AWS de forma programática, seja com
um dos vários SDKs ou usando a AWS Command Line Interface (CLI). As ferramentas de SDK e de
CLI usam as chaves de acesso para o cadastramento criptográfico da sua solicitação. Se você não
utilizar ferramentas da AWS, cadastre a solicitação você mesmo. Amazon Translate supports Assinatura
versão 4, um protocolo para autenticar solicitações de API de entrada. Para mais informações sobre
autenticação de solicitações, consulte Processo de cadastramento de Assinatura versão 4 no AWS
General Reference.
• IAM role – Uma função do IAM é uma identidade do IAM que você pode criar em sua conta que tenha
permissões específicas. É semelhante a um usuário IAM, mas não está associada a uma pessoa
específica. Uma função do IAM permite obter chaves de acesso temporárias que podem ser usadas para
acessar os serviços e recursos da AWS. As funções do IAM com credenciais temporária são úteis nas
seguintes situações:
• Acesso de usuário federado – Em vez de criar um usuário do IAM, você pode usar identidades de
usuário existentes do AWS Directory Service da sua empresa ou de um provedor de identidades
39
Tradutor da Amazon Guia do desenvolvedor
Controle de acesso
da web. Estes são conhecidos como usuários federados. A AWS atribui uma função a um usuário
federado quando o acesso é solicitado por meio de um provedor de identidades. Para obter mais
informações sobre usuários federados, consulte Usuários federados e funções em Guia do usuário do
IAM.
• Acesso de serviço à AWS – Você pode usar uma função do IAM em sua conta para conceder
permissões a um serviço da AWS para acessar os recursos da sua conta. Por exemplo, você pode
criar uma função que permita que Amazon Redshift acesse um bucket do Amazon S3 em seu nome
e carregue dados desse bucket em um cluster Amazon Redshift. Para mais informações, consulte
Criação de uma função para delegar permissões a um serviço da AWS no Guia do usuário do IAM.
• Aplicativos em execução no Amazon EC2 – Você pode usar uma função do IAM para gerenciar
credenciais temporárias para aplicativos que estão sendo executados em uma instância do EC2 e
que fazem solicitações de API da AWS. É preferível fazer isso do que armazenar chaves de acesso
na instância do EC2. Para atribuir uma função da AWS a uma instância do EC2 e disponibilizá-la
para todos os seus aplicativos, crie um perfil de instância que esteja anexado à instância. Um perfil
de instância contém a função e permite que programas que estão em execução na instância do EC2
obtenham credenciais temporárias. Para mais informações, consulte Uso de uma função do IAM para
conceder permissões aos aplicativos em execução nas instâncias do Amazon EC2 no Guia do usuário
do IAM.
Controle de acesso
Você pode ter credenciais válidas para autenticar suas solicitações. Por exemplo, você deve ter
permissões para chamar uma ação do Amazon Translate.
As seções a seguir descrevem como gerenciar permissões para o Amazon Translate. Recomendamos que
você leia a visão geral primeiro.
Ao conceder permissões, você decide quem receberá as permissões e as ações para as quais eles obtêm
permissões.
Tópicos
• Gerenciar o acesso a ações (p. 41)
40
Tradutor da Amazon Guia do desenvolvedor
Gerenciar o acesso a ações
• Como especificar elementos da política: recursos, ações, efeitos e entidades de segurança (p. 42)
• Especificação de condições em uma política (p. 42)
Esta seção discute como usar o IAM no contexto do Amazon Translate. Não são fornecidas
informações detalhadas sobre o serviço IAM. Para obter a documentação completa do IAM,
consulte O que é IAM? no Guia do usuário do IAM. Para obter mais informações sobre a sintaxe
e as descrições da política do IAM, consulte Referência de política do IAM da AWS no Guia do
usuário do IAM.
As políticas anexadas a uma identidade do IAM são conhecidas como políticas baseadas em identidade
(políticas do IAM). As políticas anexadas a um recurso são conhecidas como políticas baseadas em
recurso. O Amazon Translate oferece suporte apenas a políticas baseadas em identidade.
• Anexar uma política de permissões a um usuário ou grupo na sua conta – para conceder a um usuário
ou grupo de usuários permissões para chamar uma ação do Amazon Translate, você pode anexar uma
política de permissões a um usuário ou grupo ao qual o usuário pertença.
• Anexar uma política de permissões a uma função (conceder permissões entre contas) – para conceder
permissões entre contas, você pode anexar uma política de permissões baseada em identidade a
uma função do IAM. Por exemplo, o administrador na Conta A pode criar uma função para conceder
permissões entre contas a outra conta da AWS (por exemplo, Conta B) ou um serviço da AWS da
seguinte forma:
1. Um administrador da Conta A cria uma função do IAM e associa uma política de permissões à função
que concede permissões em recursos da Conta A.
2. Um administrador da Conta A anexa uma política de confiança à função identificando a Conta B como
a principal, que pode assumir a função.
3. O administrador da Conta B poderá então delegar permissões para assumir a função para todos os
usuários na Conta B. Isso permitirá que os usuários da Conta B criem ou acessem recursos da Conta
A. Se você quiser conceder a um serviço da AWS permissões para assumir a função, o principal na
política de confiança também poderá ser o principal do serviço da AWS.
Para obter mais informações sobre o uso do IAM para delegar permissões, consulte Gerenciamento do
acesso no Guia do usuário do IAM.
Para obter mais informações sobre como usar políticas baseadas em identidade com o Amazon Translate,
consulte Uso de políticas baseadas em identidade (políticas do IAM) para o Amazon Translate (p. 42).
Para obter mais informações sobre usuários, grupos, funções e permissões, consulte Identidades
(usuários, grupos e funções) no Guia do usuário do IAM.
41
Tradutor da Amazon Guia do desenvolvedor
Como especificar elementos da política: recursos,
ações, efeitos e entidades de segurança
• Recurso – Em uma política, um Nome de recurso da Amazon (ARN) é usado para identificar o recurso
ao qual a política se aplica. Para o Amazon Translate, o recurso é sempre *.
• Ação – Você usa palavras-chave de ações para identificar operações que deseja permitir ou negar. Por
exemplo, dependendo do Effect especificado, o translate:TranslateText permite ou nega as
permissões de usuário para realizar a operação TranslateText do Amazon Translate.
• Efeito – você especifica o efeito da ação que ocorre quando o usuário solicita a ação específica — que
pode ser permitir ou negar. Se você não conceder (permitir) explicitamente acesso a um recurso, o
acesso estará implicitamente negado. Você também pode negar acesso explicitamente a um recurso.
Você poderia fazer isso para garantir que um usuário não possa acessar o recurso, mesmo se uma
política diferente conceder o acesso.
• Principal – Em políticas com base em identidade (políticas do IAM), o usuário ao qual a política está
anexada é automática e implicitamente o principal.
Para saber mais sobre a sintaxe da política do IAM e as descrições, consulte Referência de política do IAM
da AWS no Guia do usuário do IAM.
Para obter uma tabela que mostra todas as ações de API do Amazon Translate, consulte Permissões da
API do Amazon Translate: referência de ações, recursos e condições (p. 43).
A AWS fornece um conjunto de chaves de condição predefinidas para todos os serviços da AWS que
oferecem suporte ao IAM para controle de acesso. Por exemplo, você pode usar a chave de condição
aws:userid para exigir um ID da AWS específico ao solicitar uma ação. Para obter mais informações e
uma lista completa das chaves em toda a AWS, consulte Chaves disponíveis para condições no Guia do
usuário do IAM.
Note
As chaves de condição diferenciam maiúsculas de minúsculas.
42
Tradutor da Amazon Guia do desenvolvedor
Referência de permissões da API do Amazon Translate
Important
A política de permissões a seguir é necessária para usar o Amazon Translate e o console do Amazon
Translate:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"translate:TranslateText",
"comprehend:DetectDominantLanguage"
],
"Resource": "*"
}
]
}
A política tem duas instruções. A primeira concede permissões para usar a ação TranslateText. A
segunda concede permissões à operação do Amazon Comprehend DetectDominantLanguage para
habilitar a detecção automática de idioma.
A política não especifica o elemento Principal, pois você não especifica o principal que obtém as
permissões em uma política baseada em identidade. Quando você anexar uma política a um usuário, o
usuário será o principal implícito. Quando uma política de permissões é anexada a uma função do IAM, o
principal identificado na política de confiança da função obtém as permissões.
Para ver uma tabela com todas as ações da API do Amazon Translate e os recursos aos quais elas
se aplicam, consulte Permissões da API do Amazon Translate: referência de ações, recursos e
condições (p. 43).
Para expressar as condições, use as chaves de condição em toda a AWS nas suas políticas de Amazon
Translate. Para obter uma lista completa de chaves em toda a AWS, consulte Chaves disponíveis no Guia
do usuário do IAM.
Note
Para especificar uma ação, use o prefixo translate: seguido do nome da operação da API, por
exemplo, translate:TranslateText.
43
Tradutor da Amazon Guia do desenvolvedor
O Amazon Translate fornece gráficos pré-configurados que mostram as métricas mais importantes para
a sua solução. Cada gráfico oferece uma janela para o desempenho da sua solução. Você pode alterar o
período exibido pelos gráficos para obter visualizações diferentes de como sua solução está funcionando
ao longo do tempo.
Você também pode usar o Amazon CloudWatch para monitorar o Amazon Translate. Com o CloudWatch,
você pode automatizar o monitoramento de métricas específicas para as suas soluções. Você recebe
um aviso sempre que uma métrica está fora dos limites definidos. Você também pode usar a API do
CloudWatch para criar um aplicativo de monitoramento personalizado adequado às suas necessidades.
Para obter mais informações, consulte O que é o Amazon CloudWatch no Guia do usuário do Amazon
CloudWatch.
A tabela a seguir descreve cada um dos gráficos pré-configurados fornecidos pelo Amazon Translate.
Gráfico Descrição
44
Tradutor da Amazon Guia do desenvolvedor
Gráfico Descrição
Contagem de caracteres
45
Tradutor da Amazon Guia do desenvolvedor
Monitoramento com o CloudWatch
• A dimensão da métrica. Uma dimensão é um conjunto de pares de nome-valor que você usa para
identificar uma métrica. O Amazon Translate tem duas dimensões:
• Operation
• Language pair
• O nome da métrica, como SuccessfulRequestCount ou RequestCharacters. Para obter uma lista
completa de métricas, consulte CloudWatch Metrics for Amazon Translate (p. 47).
Você pode obter as métricas para o Amazon Translate usando o Console de gerenciamento da AWS,
a AWS CLI ou a API do CloudWatch. Você também pode usar a API do CloudWatch por meio de um
dos Kits de desenvolvimento de software (SDKs) da AWS da Amazon ou das ferramentas de API do
CloudWatch.
A tabela a seguir lista alguns usos comuns para as métricas do CloudWatch. Essas são sugestões para
você começar, e não uma lista abrangente.
Encontrar a quantidade de erros do meu aplicativo Monitore a estatística sum das métricas
ServerErrorCount e UserErrorCount.
Você deve ter as permissões apropriadas do CloudWatch para monitorar o Amazon Translate com o
CloudWatch. Para obter mais informações, consulte Autenticação e controle de acesso para o Amazon
CloudWatch no Guia do usuário do Amazon CloudWatch.
46
Tradutor da Amazon Guia do desenvolvedor
Como visualizar métricas do Amazon Translate
Criar um alarme
O alarme do CloudWatch observa uma única métrica durante um período de tempo especificado e envia
uma notificação para um tópico do Amazon SNS ou uma política da Auto Scaling. A ação ou ações são
baseadas no valor da métrica relativa a um limite determinado durante um número de períodos de tempo
que você especificar. O CloudWatch também pode enviar a você uma mensagem do Amazon Simple
Notification Service (Amazon SNS) quando o estado do alarme é alterado.
Os alarmes do CloudWatch invocam ações somente quando o estado muda e persiste pelo período que
você especificar.
47
Tradutor da Amazon Guia do desenvolvedor
CloudWatch Dimensions for Amazon Translate
Metric Description
Valid dimensions: Language pair, Operation
Unit: Count
ServerErrorCount The number of server errors. The HTTP response code range for a server
error is 500 to 599.
Unit: Count
SuccessfulRequestCount The number of successful translation requests. The response code for a
successful request is 200 to 299.
Unit: Count
Unit: Count
UserErrorCount The number of user errors that occurred. The HTTP response code range
for a user error is 400 to 499.
Unit: Count
48
Tradutor da Amazon Guia do desenvolvedor
CloudWatch Dimensions for Amazon Translate
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.
49
Tradutor da Amazon Guia do desenvolvedor
Regiões compatíveis
Diretrizes e limites
Regiões compatíveis
Para obter uma lista de regiões da AWS onde o Amazon Translate está disponível, consulte Regiões e
endpoints da AWS na Referência geral da Amazon Web Services.
Limitação
Para obter informações sobre limitação do Amazon Translate e para solicitar um aumento de limite,
consulte Limites de tradução da Amazon no Referência geral do Amazon Web Services.
Diretrizes
O Amazon Translate pode armazenar seu conteúdo para melhorar continuamente a qualidade dos
modelos de análise. Consulte as Perguntas frequentes do Amazon Translate para saber mais. Para
solicitar a exclusão do conteúdo que pode ter sido armazenado pelo Amazon Translate, abra um caso com
o AWS Support.
Limites
O Amazon Translate tem as seguintes limitações:
50
Tradutor da Amazon Guia do desenvolvedor
51
Tradutor da Amazon Guia do desenvolvedor
Actions
API Reference
Esta seção contém a documentação de referência da API.
Actions
The following actions are supported:
52
Tradutor da Amazon Guia do desenvolvedor
TranslateText
TranslateText
Translates input text from the source language to the target language. You can translate between English
(en) and one of the following languages, or between one of the following languages and English.
• Arabic (ar)
• Chinese (Simplified) (zh)
• Chinese (Traditional) (zh-TW)
• Czech (cs)
• French (fr)
• German (de)
• Italian (it)
• Japanese (ja)
• Portuguese (pt)
• Russian (ru)
• Spanish (es)
• Turkish (tr)
To have Amazon Translate determine the source language of your text, you can specify auto in the
SourceLanguageCode field. If you specify auto, Amazon Translate will call Amazon Comprehend to
determine the source language.
Request Syntax
{
"SourceLanguageCode": "string",
"TargetLanguageCode": "string",
"Text": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 57).
One of the supported language codes for the source text. If the TargetLanguageCode is not "en", the
SourceLanguageCode must be "en".
To have Amazon Translate determine the source language of your text, you can specify auto in the
SourceLanguageCode field. If you specify auto, Amazon Translate will call Amazon Comprehend to
determine the source language.
Type: String
Required: Yes
TargetLanguageCode (p. 53)
One of the supported language codes for the target text. If the SourceLanguageCode is not "en", the
TargetLanguageCode must be "en".
53
Tradutor da Amazon Guia do desenvolvedor
TranslateText
Type: String
Required: Yes
Text (p. 53)
The text to translate. The text string can be a maximum of 5,000 bytes long. Depending on your
character set, this may be fewer than 5,000 characters.
Type: String
Required: Yes
Response Syntax
{
"SourceLanguageCode": "string",
"TargetLanguageCode": "string",
"TranslatedText": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Type: String
Type: String
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 56).
54
Tradutor da Amazon Guia do desenvolvedor
TranslateText
DetectedLanguageLowConfidenceException
The confidence that Amazon Comprehend accurately detected the source language is low. If a low
confidence level is acceptable for your application, you can use the language in the exception to call
Amazon Translate again. For more information, see the DetectDominantLanguage operation in the
Amazon Comprehend Developer Guide.
The size of the input text exceeds the length constraint for the Text field. Try again with a shorter text.
The number of requests exceeds the limit. Resubmit your request later.
Amazon Translate cannot translate input text in the source language into this target language. For
more information, see Processamento de exceções (p. 3).
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
55
Tradutor da Amazon Guia do desenvolvedor
Data Types
Data Types
There are no separate data types in this API.
Common Errors
This section lists the errors common to the API actions of all AWS services. For errors specific to an API
action for this service, see the topic for that API action.
AccessDeniedException
The request processing has failed because of an unknown error, exception or failure.
The action or operation requested is invalid. Verify that the action is typed correctly.
The X.509 certificate or AWS access key ID provided does not exist in our records.
The AWS query string is malformed or does not adhere to AWS standards.
56
Tradutor da Amazon Guia do desenvolvedor
Common Parameters
MissingAction
The request must contain either a valid (registered) AWS access key ID or X.509 certificate.
The request reached the service more than 15 minutes after the date stamp on the request or more
than 15 minutes after the request expiration date (such as for pre-signed URLs), or the date stamp on
the request is more than 15 minutes in the future.
Common Parameters
The following list contains the parameters that all actions use for signing Signature Version 4 requests with
a query string. Any action-specific parameters are listed in the topic for that action. For more information
about Signature Version 4, see Signature Version 4 Signing Process in the Amazon Web Services General
Reference.
Action
Type: string
Required: Yes
57
Tradutor da Amazon Guia do desenvolvedor
Common Parameters
Version
The API version that the request is written for, expressed in the format YYYY-MM-DD.
Type: string
Required: Yes
X-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 instead
of in the HTTP authorization header.
Type: string
Required: Conditional
X-Amz-Credential
The credential scope value, which is a string that includes your access key, the date, the region you
are targeting, the service you are requesting, and a termination string ("aws4_request"). The value is
expressed in the following format: access_key/YYYYMMDD/region/service/aws4_request.
For more information, see Task 2: Create a String to Sign for Signature Version 4 in the Amazon Web
Services General Reference.
Condition: Specify this parameter when you include authentication information in a query string instead
of in the HTTP authorization header.
Type: string
Required: Conditional
X-Amz-Date
The date that is used to create the signature. The format must be ISO 8601 basic format
(YYYYMMDD'T'HHMMSS'Z'). For example, the following date time is a valid X-Amz-Date value:
20120325T120000Z.
Condition: X-Amz-Date is optional for all requests; it can be used to override the date used for signing
requests. If the Date header is specified in the ISO 8601 basic format, X-Amz-Date is not required.
When X-Amz-Date is used, it always overrides the value of the Date header. For more information, see
Handling Dates in Signature Version 4 in the Amazon Web Services General Reference.
Type: string
Required: Conditional
X-Amz-Security-Token
The temporary security token that was obtained through a call to AWS Security Token Service (AWS
STS). For a list of services that support temporary security credentials from AWS Security Token
Service, go to AWS Services That Work with IAM in the IAM User Guide.
Condition: If you're using temporary security credentials from the AWS Security Token Service, you
must include the security token.
Type: string
Required: Conditional
58
Tradutor da Amazon Guia do desenvolvedor
Common Parameters
X-Amz-Signature
Specifies the hex-encoded signature that was calculated from the string to sign and the derived signing
key.
Condition: Specify this parameter when you include authentication information in a query string instead
of in the HTTP authorization header.
Type: string
Required: Conditional
X-Amz-SignedHeaders
Specifies all the HTTP headers that were included as part of the canonical request. For more
information about specifying signed headers, see Task 1: Create a Canonical Request For Signature
Version 4 in the Amazon Web Services General Reference.
Condition: Specify this parameter when you include authentication information in a query string instead
of in the HTTP authorization header.
Type: string
Required: Conditional
59
Tradutor da Amazon Guia do desenvolvedor
AWS Glossary
For the latest AWS terminology, see the AWS Glossary in the AWS General Reference.
60