Configurar contêineres da Informação de Documentos
Atualmente, o suporte de contêineres está disponível na versão 2022-08-31 (GA)
do Informação de Documentos para todos os modelos e 2023-07-31 (GA)
nos modelos de documentos de leitura, layout, fatura, recibo e ID:
- API REST
2022-08-31 (GA)
- API REST
2023-07-31 (GA)
- Direcionamento de bibliotecas de cliente
REST API 2022-08-31 (GA)
- Direcionamento de bibliotecas de cliente
REST API 2023-07-31 (GA)
✔️ Confira Configurar contêineres da Informação de Documentos v3.0 para obter a documentação de contêiner com suporte.
Este conteúdo se aplica a: v3.0 (GA) v3.1 (GA)
Com os contêineres da Informação de Documentos, é possível criar uma arquitetura de aplicativo otimizada para aproveitar funcionalidades de nuvem robustas e localidade de borda. Os contêineres fornecem um ambiente minimalista e isolado que você pode implantar facilmente no local e na nuvem. Neste artigo, você aprende a configurar o ambiente de tempo de execução do contêiner da Informação de Documentos usando os argumentos de comando docker compose
. Os recursos da Informação de Documentos têm suporte de sete contêineres de recursos da Informação de Documentos—Leitura, Layout, Cartão de Visita, Documento de Identificação, Recibo, Fatura e Personalizado. Há configurações obrigatórias e opcionais para os contêineres. Veja alguns exemplos na seção Arquivo de exemplo docker-compose.yml.
Definições de configuração
Cada contêiner tem as seguintes configurações:
Obrigatório | Configuração | Finalidade |
---|---|---|
Sim | Chave | Rastreia informações de cobrança. |
Sim | Billing | Especifica o URI do ponto de extremidade do recurso de serviços no Azure. Para mais informações, consulte Faturamento. 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. |
Sim | Eula | Indica que você aceitou a licença do contêiner. |
Não | ApplicationInsights | Permite a adição do suporte do cliente do Azure Application Insights ao seu 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. |
Importante
As configurações Key
, Billing
e Eula
são usadas em conjunto. Você precisa fornecer valores válidos para as três configurações. 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, consulte Faturamento.
Definição da configuração de chave e cobrança
A configuração Key
especifica a chave de recurso do Azure que é usada para rastrear informações de cobrança do contêiner. O valor da chave precisa ser uma chave válida para o recurso que é especificado por Billing
na seção "Definição da configuração de cobrança".
A configuração Billing
especifica o URI de ponto de extremidade do recurso no Azure que é usado para medir informações de cobrança do contêiner. O valor dessa definição de configuração precisa ser um URI do ponto de extremidade válido para um recurso no Azure. O contêiner relata o uso a cada 10 a 15 minutos.
Você pode encontrar essas configurações no portal do Azure, na página Chaves e pontos de extremidade.
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çã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 |
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 é false. |
Configurações das credenciais de proxy HTTP
Se você precisar configurar um proxy HTTP para fazer solicitações de saída, use estes dois argumentos:
Nome | Tipo de dados | Descrição |
---|---|---|
HTTP_PROXY | string | O proxy a ser usado, por exemplo, http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | string | Quaisquer credenciais necessárias para autenticação no proxy, por exemplo, username:password . Esse valor deve estar em letras minúsculas. |
<proxy-user> |
string | O usuário para o proxy. |
<proxy-password> |
string | A senha associada ao <proxy-user> para o proxy. |
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> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \
Configurações de log
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.
Os provedores de registro em log a seguir são suportados pelo contêiner:
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. |
Este comando de contêiner armazena informações de registro em log no formato JSON para a montagem de saída:
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> \
Logging:Disk:Format=json \
Mounts:Output=/output
Este comando de contêiner mostra informações de depuração prefixadas com dbug
enquanto o contêiner está em execução:
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug
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, um novo arquivo de log é iniciado pelo provedor 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. |
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 volume
Use volumes para ler e gravar dados no contêiner e a partir dele. Os volumes são os preferenciais para manter os dados gerados e usados por contêineres do Docker. Você pode especificar uma montagem de entrada ou uma montagem de saída incluindo a opção volumes
e especificando type
(associar), source
(caminho para a pasta) e target
(parâmetro de caminho do arquivo).
O contêiner da Informação de Documentos exige um volume de entrada e um volume de saída. O volume de entrada pode ser somente leitura (ro
) e é necessário para acessar os dados que serão usados para treinamento e pontuação. O volume de saída deve ser gravável e será usada para armazenar os modelos e os dados temporários.
A sintaxe exata do local do volume do host varia de acordo com o sistema operacional do host. Além disso, a localização do volume do computador host pode não estar acessível devido a um conflito entre as permissões de conta de serviço do Docker e as permissões da localização de montagem do host.
Arquivo de exemplo docker-compose.yml
O método docker compose é criado a partir de três etapas:
- Crie um Dockerfile.
- Defina os serviços em um docker-compose.yml para executá-los juntos em um ambiente isolado.
- Execute
docker-compose up
para iniciar e executar os serviços.
Exemplo de contêiner único
Neste exemplo, insira os valores de {FORM_RECOGNIZER_ENDPOINT_URI} e {FORM_RECOGNIZER_KEY} para a instância de contêiner de layout.
Contêiner de layout
version: "3.9"
services:
azure-cognitive-service-layout:
container_name: azure-cognitive-service-layout
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- key={FORM_RECOGNIZER_KEY}
ports:
- "5000"
networks:
- ocrvnet
networks:
ocrvnet:
driver: bridge
Exemplo de vários contêineres
Contêineres de recebimento e leitura de OCR
Neste exemplo, insira os valores {FORM_RECOGNIZER_ENDPOINT_URI} e {FORM_RECOGNIZER_KEY} para o contêiner de Recibo, e os valores de {COMPUTER_VISION_ENDPOINT_URI} e {COMPUTER_VISION_KEY} para o contêiner de Leitura da Visão de IA do Azure.
version: "3"
services:
azure-cognitive-service-receipt:
container_name: azure-cognitive-service-receipt
image: cognitiveservicespreview.azurecr.io/microsoft/cognitive-services-form-recognizer-receipt:2.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- key={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
ports:
- "5000:5050"
networks:
- ocrvnet
azure-cognitive-service-read:
container_name: azure-cognitive-service-read
image: mcr.microsoft.com/azure-cognitive-services/vision/read:3.2
environment:
- EULA=accept
- billing={COMPUTER_VISION_ENDPOINT_URI}
- key={COMPUTER_VISION_KEY}
networks:
- ocrvnet
networks:
ocrvnet:
driver: bridge