Configurar contêineres do Docker do Tradutor
Os serviços de IA do Azure fornecem a cada contêiner uma estrutura de configuração comum. Você pode configurar facilmente seus contêineres de Tradução e criar a arquitetura de aplicativos de Tradução otimizada para recursos robustos de nuvem e localidade de borda.
O ambiente de runtime do contêiner de Tradutor é configurado usando argumentos do comando docker run
. Há configurações obrigatórias e opcionais para este contêiner. As configurações específicas do contêiner obrigatórias são as configurações de cobrança.
Definições de configuração
O contêiner tem as seguintes configurações:
Obrigatório | Configuração | Finalidade |
---|---|---|
Sim | ApiKey | Rastreia informações de cobrança. |
Não | ApplicationInsights | Permite a adição de suporte telemétrico do Azure Application Insights para seu contêiner. |
Sim | Billing | Especifica o URI do ponto de extremidade do recurso de serviços no Azure. |
Sim | EULA | Indica que você aceitou o EULA (contrato de licença de usuário final) para o contêiner. |
Não | Fluentd | Grava log e, opcionalmente, dados telemétricos em um servidor do Fluentd. |
Não | Proxy HTTP | Configura um proxy HTTP para fazer solicitações de saída. |
Não | Logging | Fornece suporte a registro de log do ASP.NET Core para seu contêiner. |
Sim | Mounts | Lê e grava dados do computador host para o contêiner e do contêiner de volta para o computador host. |
Importante
As configurações ApiKey, Faturamento e EULA são usadas juntas e você deve fornecer valores válidos para todos os três; caso contrário, seu contêiner não será iniciado. Para obter mais informações sobre como usar essas configurações para instanciar um contêiner.
Configuração de configuração do ApiKey
A configuração ApiKey
especifica a chave de recurso do Azure usada para rastrear informações de cobrança do contêiner. É necessário especificar um valor para o ApiKey e o valor deve ser uma chave válida para o recurso de Tradução especificado para a configuração Billing
.
Essa configuração pode ser localizada no seguinte local:
- Portal do Azure: gerenciamento de recursos de Tradutor, em Chaves
Configuração applicationInsights
A configuração ApplicationInsights
permite que você adicione suporte a dados telemétricos do Azure Application Insights para seu contêiner. O Application Insights fornece um monitoramento detalhado do seu contêiner. Você pode monitorar facilmente seu contêiner quanto a disponibilidade, desempenho e uso. Você pode identificar e diagnosticar erros em seu contêiner rapidamente.
A tabela a seguir descreve as definições de configuração com suporte sob o ApplicationInsights
seção.
Obrigatório | Nome | Tipo de dados | Descrição |
---|---|---|---|
Não | InstrumentationKey |
String | A chave de instrumentação da instância do Application Insights para o qual telemetria de dados para o contêiner são enviados. Para obter mais informações, consulte Application Insights para ASP.NET Core. Exemplo: InstrumentationKey=123456789 |
Definição de configuração de cobrança
A configuração Billing
especifica o URI de ponto de extremidade do recurso de Tradutor no Azure usado para medir informações de cobrança para o contêiner. Você precisa especificar um valor para esta definição de configuração e o valor deve ser um URI de ponto de extremidade válido para um recurso de Tradutor no Azure. O contêiner relata o uso a cada 10 a 15 minutos.
Essa configuração pode ser localizada no seguinte local:
- Portal do Azure: página visão geral do Tradutor rotulada
Endpoint
Obrigatório | Nome | Tipo de dados | Descrição |
---|---|---|---|
Sim | Billing |
String | URI do ponto de extremidade de cobrança. Para mais informações sobre como obter o URI de cobrança, confira como coletar parâmetros necessários. Para obter mais informações e uma lista completa de pontos de extremidade regionais, confira Nomes de subdomínio personalizados para os serviços de IA do Azure. |
Configuração de EULA
A configuração Eula
indica que você aceitou a licença para o contêiner. Você deve especificar um valor para essa definição de configuração e o valor deve ser definido como accept
.
Obrigatório | Nome | Tipo de dados | Descrição |
---|---|---|---|
Sim | Eula |
String | Aceitação da licença Exemplo: Eula=accept |
Os contêineres dos serviços de IA do Azure estão licenciados de acordo com o seu contrato que rege o uso do Azure. Se você não tiver um contrato existente que rege o uso do Azure, você concorda que o seu contrato que rege o uso do Azure é o Contrato de Assinatura do Microsoft Online, que incorpora os Termos de Serviços Online . Para versões prévias, você também concorda com os Termos de Uso Adicionais para Versões Prévias do Microsoft Azure. Ao usar o contêiner, você concorda com estes termos.
Configurações de Fluentd
O Fluentd é um coletor de dados de software livre para registro em log unificado. As configurações do Fluentd
gerenciam a conexão do contêiner com um servidor Fluentd. O contêiner inclui um provedor de registro em log do Fluentd, que permite que seu contêiner grave logs e, opcionalmente, dados de métrica para um servidor do Fluentd.
A tabela a seguir descreve as definições de configuração com suporte sob o Fluentd
seção.
Nome | Tipo de dados | Descrição |
---|---|---|
Host |
String | O endereço IP ou o nome do host DNS do servidor Fluentd. |
Port |
Integer | A porta do servidor Fluentd. O valor padrão é 24224. |
HeartbeatMs |
Integer | O intervalo de pulsação, em milissegundos. Se nenhum tráfego de evento tiver sido enviado antes que esse intervalo expire, uma pulsação será enviada ao servidor Fluentd. O valor padrão é 60.000 milissegundos (1 minuto). |
SendBufferSize |
Integer | O espaço de buffer de rede, em bytes, alocado para operações de envio. O valor padrão é 32768 bytes (32 kilobytes). |
TlsConnectionEstablishmentTimeoutMs |
Integer | O tempo de limite, em milissegundos, para estabelecer uma conexão SSL/TLS com o servidor do Fluentd. O valor padrão é 10.000 milissegundos (10 segundos). Se UseTLS for definido como false, esse valor é ignorado. |
UseTLS |
Boolean | Indica se o contêiner deve usar SSL / TLS para se comunicar com o servidor Fluentd. O valor padrão é falso. |
Configurações de credenciais de proxy HTTP/HTTPS
Se você precisar configurar um proxy HTTP para fazer solicitações de saída, use estes dois argumentos:
Nome | Tipo de dados | Descrição |
---|---|---|
HTTPS_PROXY | string | O URL do proxy, por exemplo, https://proxy:8888 |
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type-bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTPS_PROXY=<proxy-url>
Configurações de log
Os contêineres do tradutor dão suporte aos seguintes provedores de log:
Provedor | Finalidade |
---|---|
Console | O ASP.NET Core Console provedor de log. Todas as definições de configuração do ASP.NET Core e os valores padrão desse provedor de log são suportados. |
Depurar | O ASP.NET Core Debug provedor de log. Todas as definições de configuração do ASP.NET Core e os valores padrão desse provedor de log são suportados. |
Disco | O provedor de log do JSON. Esse provedor de log grava dados de log na montagem de saída. |
As configurações
Logging
gerenciam o suporte ao registro em log do ASP.NET Core para o contêiner. Você pode usar as mesmas definições de configuração e valores para o contêiner usado em um aplicativo ASP.NET Core.O
Logging.LogLevel
especifica o nível mínimo a ser registrado. A gravidade daLogLevel
varia de 0 a 6. Quando umLogLevel
é especificado, o registro em log é habilitado para mensagens no nível especificado e superior: Rastreamento = 0, Depuração = 1, Informações = 2, Aviso = 3, Erro = 4, Crítico = 5, Nenhum = 6.Atualmente, os contêineres do Tradutor têm a capacidade de restringir logs no Aviso LogLevel ou superior.
A sintaxe de comando geral para registro em log é a seguinte:
-Logging:LogLevel:{Provider}={FilterSpecs}
O comando a seguir inicia o contêiner do Docker com o LogLevel
definido como Aviso e o provedor de registro em log definidos como Console. Esse comando imprime eventos anômalos ou inesperados durante o fluxo do aplicativo para o console:
docker run --rm -it -p 5000:5000
-v /mnt/d/TranslatorContainer:/usr/local/models \
-e apikey={API_KEY} \
-e eula=accept \
-e billing={ENDPOINT_URI} \
-e Languages=en,fr,es,ar,ru \
-e Logging:LogLevel:Console="Warning"
mcr.microsoft.com/azure-cognitive-services/translator/text-translation:latest
Registro em log do Disk
O provedor de registro Disk
suporta as seguintes configurações:
Nome | Tipo de dados | Descrição |
---|---|---|
Format |
String | O formato de saída para arquivos de log. Nota: Esse valor deve ser definido como json para ativar o provedor de registro. Se esse valor for especificado sem especificar também uma montagem de saída durante a instanciação de um contêiner, ocorrerá um erro. |
MaxFileSize |
Integer | O tamanho máximo, em megabytes (MB), de um arquivo de log. Quando o tamanho do arquivo de log atual atende ou excede esse valor, o provedor de log inicia um novo arquivo de log. Se -1 for especificado, o tamanho do arquivo de log será limitado apenas pelo tamanho máximo do arquivo, se houver, para a montagem de saída. O valor padrão é 1. |
Exemplo do provedor de disco
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type-bind,src=/home/azureuser/output,target=/output \
-e apikey={API_KEY} \
-e eula=accept \
-e billing={ENDPOINT_URI} \
-e Languages=en,fr,es,ar,ru \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output
Para obter mais informações sobre como configurar o suporte ao registro em log do ASP.NET Core, consulte Configuração do arquivo de configurações.
Configurações de montagem
Use montagens de associação para ler e gravar dados do contêiner e para ele. Você pode especificar uma montagem de entrada ou saída especificando a opção --mount
no comando docker run.