Configurare contenitori Docker di lettura OCR
È possibile configurare l'ambiente di runtime del contenitore OCR di lettura di Visione artificiale di Azure usando gli argomenti del docker run
comando. Questo contenitore ha diverse impostazioni obbligatorie e alcune impostazioni facoltative. Sono disponibili numerosi esempi del comando. Le impostazioni specifiche del contenitore sono le impostazioni di fatturazione.
Impostazioni di configurazione
Le impostazioni di configurazione del contenitore sono le seguenti:
Richiesto | Impostazione | Purpose |
---|---|---|
Sì | ApiKey | Tiene traccia delle informazioni di fatturazione. |
No | ApplicationInsights | Consente di aggiungere al contenitore il supporto per i dati di telemetria di Azure Application Insights. |
Sì | Fatturazione | Specifica l'URI dell'endpoint della risorsa del servizio in Azure. |
Sì | Eula | Indica che è stata accettata la licenza per il contenitore. |
No | Fluentd | Scrive il log e, facoltativamente, i dati delle metriche in un server Fluentd. |
No | Proxy HTTP | Configura un proxy HTTP per le richieste in uscita. |
No | Registrazione | Fornisce il supporto di registrazione ASP.NET Core per il contenitore. |
No | Mounts | Legge e scrive i dati dal computer host al contenitore e dal contenitore al computer host. |
Importante
Le impostazioni ApiKey
, Billing
e Eula
vengono usate insieme ed è necessario fornire valori validi per tutte e tre, altrimenti il contenitore non verrà avviato. Per altre informazioni sull'uso di queste impostazioni di configurazione per creare un'istanza di un contenitore, vedere Billing (Fatturazione).
Il contenitore include anche le impostazioni di configurazione specifiche del contenitore seguenti:
Richiesto | Impostazione | Scopo |
---|---|---|
No | ReadEngineConfig:ResultExpirationPeriod | Solo contenitori v2.0. Periodo di scadenza dei risultati in ore. L'impostazione predefinita è 48 ore. L'impostazione specifica quando il sistema deve cancellare i risultati del riconoscimento. Ad esempio, se resultExpirationPeriod=1 , il sistema cancella il risultato del riconoscimento 1 ora dopo il processo. Se resultExpirationPeriod=0 , il sistema cancella il risultato del riconoscimento dopo il recupero del risultato. |
No | Cache:Redis | Solo contenitori v2.0. Abilita l'archiviazione Redis per l'archiviazione dei risultati. Una cache è necessaria se più contenitori OCR in lettura vengono posizionati dietro un servizio di bilanciamento del carico. |
No | Queue:RabbitMQ | Solo contenitori v2.0. Abilita RabbitMQ per l'invio di attività. L'impostazione è utile quando più contenitori OCR letti vengono posizionati dietro un servizio di bilanciamento del carico. |
No | Queue:Azure:QueueVisibilityTimeoutInMilliseconds | Solo contenitori v3.x. Tempo in cui un messaggio deve essere invisibile quando viene elaborato da un altro ruolo di lavoro. |
No | Archiviazione::D ocumentStore::MongoDB | Solo contenitori v2.0. Abilita MongoDB per l'archiviazione dei risultati permanente. |
No | Archiviazione:ObjectStore:AzureBlob:Connessione ionString | Solo contenitori v3.x. Stringa di connessione di archiviazione BLOB di Azure. |
No | Archiviazione:TimeToLiveInDays | Solo contenitori v3.x. Periodo di scadenza dei risultati in giorni. L'impostazione specifica quando il sistema deve cancellare i risultati del riconoscimento. Il valore predefinito è 2 giorni, il che significa che qualsiasi risultato live per più tempo di tale periodo non è garantito che venga recuperato correttamente. Il valore è integer e deve essere compreso tra 1 giorno e 7 giorni. |
No | Archiviazione TimeToLiveInMinutes | v3.2-model-2021-09-30-preview e nuovi contenitori. Periodo di scadenza dei risultati in minuti. L'impostazione specifica quando il sistema deve cancellare i risultati del riconoscimento. Il valore predefinito è 2 giorni (2880 minuti), il che significa che qualsiasi risultato live per più tempo di quel periodo non è garantito che venga recuperato correttamente. Il valore è integer e deve essere compreso tra 60 minuti e 7 giorni (10080 minuti). |
No | Task:MaxRunningTimeSpanInMinutes | Solo contenitori v3.x. Tempo massimo di esecuzione per una singola richiesta. Il valore predefinito è 60 minuti. |
No | EnableSyncNTPServer | Solo contenitori v3.x, ad eccezione di v3.2-model-2021-09-30-preview e contenitori più recenti. Abilita il meccanismo di sincronizzazione del server NTP, che garantisce la sincronizzazione tra l'ora di sistema e il runtime dell'attività previsto. Si noti che questo richiede traffico di rete esterno. Il valore predefinito è true . |
No | NTPServerAddress | Solo contenitori v3.x, ad eccezione di v3.2-model-2021-09-30-preview e contenitori più recenti. Server NTP per la sincronizzazione dell'ora. Il valore predefinito è time.windows.com . |
No | Mounts:Shared | Solo contenitori v3.x. Cartella locale per l'archiviazione del risultato del riconoscimento. Il valore predefinito è /share . Per l'esecuzione del contenitore senza usare l'archiviazione BLOB di Azure, è consigliabile montare un volume in questa cartella per assicurarsi di disporre di spazio sufficiente per i risultati del riconoscimento. |
Impostazione di configurazione ApiKey
L'impostazione ApiKey
specifica la chiave della risorsa Visione usata per tenere traccia delle informazioni di fatturazione per il contenitore. È necessario specificare un valore per ApiKey e il valore deve essere una chiave valida per la risorsa visione specificata per l'impostazione di Billing
configurazione.
Questa impostazione è disponibile nelle posizioni seguenti:
- portale di Azure: Gestione risorse dei servizi di intelligenza artificiale di Azure, in Chiavi
Impostazione ApplicationInsights
L'impostazione ApplicationInsights
consente di aggiungere al contenitore il supporto per i dati di telemetria di Azure Application Insights. Application Insights offre funzionalità di monitoraggio avanzate del contenitore. È possibile monitorare con facilità la disponibilità, le prestazioni e l'utilizzo del contenitore. È anche possibile identificare e diagnosticare rapidamente gli errori nel contenitore.
La tabella seguente illustra le impostazioni di configurazione supportate nella sezione ApplicationInsights
.
Obbligatoria | Nome | Tipo di dati | Descrizione |
---|---|---|---|
No | InstrumentationKey |
String | Chiave di strumentazione dell'istanza di Application Insights a cui vengono inviati i dati di telemetria per il contenitore. Per altre informazioni, vedere Application Insights per ASP.NET Core. Esempio: InstrumentationKey=123456789 |
Impostazione di configurazione Billing
L'impostazione Billing
specifica l'URI dell'endpoint della risorsa dei servizi di intelligenza artificiale di Azure in Azure usata per misurare le informazioni di fatturazione per il contenitore. È necessario specificare un valore per questa impostazione di configurazione e il valore deve essere un URI dell'endpoint valido per una risorsa dei servizi di intelligenza artificiale di Azure in Azure. Il contenitore segnala l'utilizzo ogni 10-15 minuti.
Questa impostazione è disponibile nelle posizioni seguenti:
- portale di Azure: Panoramica dei servizi di intelligenza artificiale di Azure, con etichetta
Endpoint
Ricordarsi di aggiungere il vision/<version>
routing all'URI dell'endpoint, come illustrato nella tabella seguente.
Obbligatoria | Nome | Tipo di dati | Descrizione |
---|---|---|---|
Sì | Billing |
String | URI dell'endpoint di fatturazione Esempio: Billing=https://westcentralus.api.cognitive.microsoft.com/vision/v3.2 |
Impostazione Eula
L'impostazione Eula
indica che è stata accettata la licenza per il contenitore. È necessario specificare un valore per questa impostazione di configurazione e tale valore deve essere impostato su accept
.
Obbligatoria | Nome | Tipo di dati | Descrizione |
---|---|---|---|
Sì | Eula |
String | Accettazione della licenza Esempio: Eula=accept |
I contenitori dei servizi di intelligenza artificiale di Azure sono concessi in licenza con il contratto che regola l'uso di Azure. Se non si dispone di tale contratto, si acconsente che l'uso di Azure sia disciplinato dal Contratto di Sottoscrizione Microsoft Online, in cui sono incluse le condizioni per l'utilizzo dei Servizi Online. Per le anteprime si accettano inoltre le Condizioni Supplementari per l'Utilizzo delle Anteprime di Microsoft Azure. Con l'uso del contenitore si acconsente a rispettare tali condizioni.
Impostazioni Fluentd
Fluentd è un agente di raccolta dati open source per la registrazione unificata. Le impostazioni Fluentd
gestiscono la connessione del contenitore a un server Fluentd. Il contenitore include un provider di registrazione di Fluentd che consente al contenitore di scrivere log e, facoltativamente, dati delle metriche in un server di Fluentd.
La tabella seguente illustra le impostazioni di configurazione supportate nella sezione Fluentd
.
Nome | Tipo di dati | Descrizione |
---|---|---|
Host |
Stringa | Indirizzo IP o nome host DNS del server Fluentd. |
Port |
Intero | Porta del server Fluentd. Il valore predefinito è 24224. |
HeartbeatMs |
Intero | Intervallo di heartbeat, espresso in millisecondi. Se prima della scadenza di questo intervallo è non stato inviato alcun traffico dell'evento, viene inviato un heartbeat al server Fluentd. Il valore predefinito è 60000 millisecondi (1 minuto). |
SendBufferSize |
Intero | Spazio di buffer di rete, espresso in byte, allocato per le operazioni di invio. Il valore predefinito è 32768 byte (32 kilobyte). |
TlsConnectionEstablishmentTimeoutMs |
Intero | Timeout, espresso in millisecondi, per stabilire una connessione SSL/TLS con il server Fluentd. Il valore predefinito è 10000 millisecondi (10 secondi). Se UseTLS è impostato su false, questo valore viene ignorato. |
UseTLS |
Booleano | Indica se il contenitore deve usare SSL/TLS per comunicare con il server Fluentd. Il valore predefinito è false. |
Impostazioni delle credenziali del proxy HTTP
Se è necessario configurare un proxy HTTP per eseguire le richieste in uscita, usare questi due argomenti:
Nome | Tipo di dati | Descrizione |
---|---|---|
HTTP_PROXY | string | Il proxy da usare, ad esempio, http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | string | Tutte le credenziali necessarie per l'autenticazione nel proxy, username:password ad esempio . Questo valore deve essere in lettere minuscole. |
<proxy-user> |
string | L'utente per il proxy. |
<proxy-password> |
string | La password associata a <proxy-user> per il 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> \
Impostazioni di registrazione
Le impostazioni Logging
gestiscono il supporto di registrazione di ASP.NET Core per il contenitore. È possibile usare le stesse impostazioni di configurazione e gli stessi valori per il contenitore che si usano per un'applicazione ASP.NET Core.
I provider di registrazione seguenti sono supportati dal contenitore:
Provider | Scopo |
---|---|
Console | Provider di registrazione Console di ASP.NET Core. Tutti i valori predefiniti e le impostazioni di configurazione di ASP.NET Core per questo provider di registrazione sono supportati. |
Debug | Provider di registrazione Debug di ASP.NET Core. Tutti i valori predefiniti e le impostazioni di configurazione di ASP.NET Core per questo provider di registrazione sono supportati. |
Disco | Provider di registrazione JSON. Questo provider di registrazione scrive i dati di log nel montaggio di output. |
Questo comando del contenitore archivia informazioni di registrazione nel formato JSON al montaggio di output:
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
Questo comando del contenitore visualizza informazioni di debug, con il prefisso dbug
, durante l'esecuzione del contenitore:
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
Registrazione su disco
Il provider di registrazione Disk
supporta le impostazioni di configurazione seguenti:
Nome | Tipo di dati | Descrizione |
---|---|---|
Format |
Stringa | Formato di output dei file di log. Nota: per abilitare il provider di registrazione, questo valore deve essere impostato su json . Se questo valore viene specificato senza specificare anche un montaggio di output durante la creazione di un'istanza di un contenitore, si verifica un errore. |
MaxFileSize |
Intero | Dimensione massima, espressa in megabyte (MB), di un file di log. Quando la dimensione del file di log corrente corrisponde a questo valore o lo supera, il provider di registrazione avvia un nuovo file di log. Se viene specificato -1, la dimensione del file di log è limitata solo dalla dimensione massima del file del montaggio di output eventualmente presente. Il valore predefinito è 1. |
Per altre informazioni sulla configurazione del supporto di registrazione di ASP.NET Core, vedere Registrazione in ASP.NET Core.
Impostazioni di montaggio
Usare montaggi di associazione per leggere e scrivere dati da e verso il contenitore. È possibile specificare un montaggio di input o di output specificando l'opzione --mount
nel comando docker run.
I contenitori di Visione artificiale di Azure non usano montaggi di input o output per archiviare i dati di training o di servizio.
La sintassi esatta della posizione di montaggio host varia a seconda del sistema operativo host. Inoltre, il percorso di montaggio del computer host potrebbe non essere accessibile a causa di un conflitto tra le autorizzazioni utilizzate dall'account del servizio Docker e le autorizzazioni del percorso di montaggio dell'host.
Facoltativo | Nome | Tipo di dati | Descrizione |
---|---|---|---|
Non consentito | Input |
String | I contenitori di Visione artificiale di Azure non lo usano. |
Facoltativo | Output |
String | Destinazione del montaggio di output. Il valore predefinito è /output . Questo è il percorso dei log. Include i log dei contenitori. Esempio: --mount type=bind,src=c:\output,target=/output |
Comandi docker run di esempio
Gli esempi seguenti usano le impostazioni di configurazione per illustrare come scrivere e usare i comandi docker run
. Quando è in esecuzione, il contenitore continua l'esecuzione finché non lo si arresta.
- Carattere di continuazione riga: i comandi Docker nelle sezioni seguenti usano la barra rovesciata,
\
, come carattere di continuazione di riga. Sostituirla o rimuoverla in base ai requisiti del sistema operativo host. - Ordine degli argomenti: non modificare l'ordine degli argomenti a meno che non si abbia familiarità con i contenitori Docker.
Sostituire {nome_argomento} con i propri valori:
Segnaposto | Valore | Formato o esempio |
---|---|---|
{API_KEY} | Chiave endpoint della risorsa Visione nella pagina delle chiavi di risorsa. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | Il valore dell'endpoint di fatturazione è disponibile nella pagina di panoramica delle risorse. | Per esempi espliciti, vedere Raccogliere i parametri obbligatori. |
Nota
Le nuove risorse create dopo il 1° luglio 2019 useranno nomi di sottodomini personalizzati. Per altre informazioni e un elenco completo degli endpoint a livello di area, vedere Nomi di sottodomini personalizzati per i servizi di intelligenza artificiale di Azure.
Importante
È necessario specificare le opzioni Eula
, Billing
e ApiKey
per eseguire il contenitore. In caso contrario, il contenitore non si avvia. Per altre informazioni, vedereFatturazione.
Il valore ApiKey è la chiave della pagina Chiavi delle risorse di Visione artificiale.
Esempi di Docker per contenitori
Gli esempi docker seguenti sono relativi al contenitore OCR di lettura.
Esempio di base
docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Esempio di registrazione
docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Logging:Console:LogLevel:Default=Information
Passaggi successivi
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per