Configurare i contenitori Docker di Traduttore
I servizi di Azure AI forniscono a ogni contenitore un framework di configurazione comune. È possibile configurare con facilità i contenitori Traduttore per creare un'architettura dell'applicazione Traduttore ottimizzata per funzionalità cloud affidabili e per la località perimetrale.
L'ambiente di runtime del contenitore Traduttore si configura mediante gli argomenti del comando docker run
. Questo contenitore prevede impostazioni sia obbligatorie che facoltative. Le impostazioni specifiche obbligatorie 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 è stato accettato il contratto di licenza con l'utente finale 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. |
Sì | Mounts | Legge e scrive i dati dal computer host al contenitore e dal contenitore al computer host. |
Importante
Le impostazioni ApiKey,Fatturazione ed 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.
Impostazione di configurazione ApiKey
L'impostazione ApiKey
specifica la chiave di risorsa di Azure utilizzata 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 Traduttore specificata per l'impostazione di configurazione Billing
.
Questa impostazione è disponibile nelle posizioni seguenti:
- Portale di Azure: Gestione risorse di Traduttore 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 Traduttore in Azure usata per misurare i dati 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 Traduttore in Azure. Il contenitore segnala l'utilizzo ogni 10-15 minuti.
Questa impostazione è disponibile nelle posizioni seguenti:
- Portale di Azure: pagina panoramica di Traduttore con etichetta
Endpoint
Obbligatoria | Nome | Tipo di dati | Descrizione |
---|---|---|---|
Sì | Billing |
String | URI dell'endpoint di fatturazione. Per altre informazioni su come ottenere l'URI di fatturazione, vedere Raccogliere i parametri obbligatori. Per altre informazioni e per un elenco completo degli endpoint a livello di area, vedere Nomi di sottodomini personalizzati per Servizi di Azure AI. |
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 di Servizi di Azure AI sono concessi in licenza in base al contratto che disciplina 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 proxy HTTP/HTTPS
Se è necessario configurare un proxy HTTP per eseguire le richieste in uscita, usare questi due argomenti:
Nome | Tipo di dati | Descrizione |
---|---|---|
HTTPS_PROXY | string | URL proxy, ad esempio 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>
Impostazioni di registrazione
I contenitori di Traduttore supportano provider di registrazione seguenti:
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. |
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.Logging.LogLevel
specifica il livello minimo da registrare. La gravità delLogLevel
è compresa tra 0 e 6. Quando viene specificato unLogLevel
, viene abilitata la registrazione per i messaggi a livello specificato e superiore: Trace = 0, Debug = 1, Information = 2, Warning = 3, Error = 4, Critical = 5, None = 6.Attualmente, i contenitori di Traduttore possono limitare i log a livello di log Avviso o superiore.
La sintassi generale dei comandi per la registrazione è la seguente:
-Logging:LogLevel:{Provider}={FilterSpecs}
Il comando seguente avvia il contenitore Docker con il LogLevel
impostato su Avviso e il provider di registrazione impostato su Console. Questo comando stampa eventi anomali o imprevisti durante il flusso dell'applicazione nella 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
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. |
Esempio di provider di dischi
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
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.