Share via


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 da LogLevel varia de 0 a 6. Quando um LogLevel é 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.

Próximas etapas