Konfigurera Read OCR Docker-containrar
Du kan konfigurera AZURE AI Vision Read OCR-containerns körningsmiljö med hjälp av kommandoargumenten docker run
. Den här containern har några obligatoriska inställningar, tillsammans med några valfria inställningar. Det finns flera exempel på kommandot. De containerspecifika inställningarna är faktureringsinställningarna.
Konfigurationsinställningar
Containern har följande konfigurationsinställningar:
Obligatoriskt | Inställning | Syfte |
---|---|---|
Ja | ApiKey | Spårar faktureringsinformation. |
Nej | ApplicationInsights | Gör det möjligt att lägga till telemetristöd för Azure Application Insights i containern. |
Ja | Billing | Anger slutpunkts-URI för tjänstresursen i Azure. |
Ja | Eula | Anger att du har godkänt licensen för containern. |
Nej | Fluentd | Skriver logg och, om du vill, måttdata till en Fluentd-server. |
Nej | HTTP-proxy | Konfigurerar en HTTP-proxy för att göra utgående begäranden. |
Nej | Loggning | Tillhandahåller ASP.NET Core-loggningsstöd för din container. |
Nej | Fästen | Läser och skriver data från värddatorn till containern och från containern tillbaka till värddatorn. |
Viktigt!
ApiKey
Inställningarna , Billing
och Eula
används tillsammans och du måste ange giltiga värden för alla tre. Annars startar inte containern. Mer information om hur du använder dessa konfigurationsinställningar för att instansiera en container finns i Fakturering.
Containern har också följande inställningar för containerspecifik konfiguration:
Obligatoriskt | Inställning | Syfte |
---|---|---|
Nej | ReadEngineConfig:ResultExpirationPeriod |
endast v2.0-containrar. Resultat förfalloperiod i timmar. Standardvärdet är 48 timmar. Inställningen anger när systemet ska rensa igenkänningsresultat. Om resultExpirationPeriod=1 till exempel rensar systemet igenkänningsresultatet 1 timme efter processen. Om resultExpirationPeriod=0 rensar systemet igenkänningsresultatet när resultatet har hämtats. |
Nej | Cache:Redis |
endast v2.0-containrar. Aktiverar Redis-lagring för lagring av resultat. En cache krävs om flera ocr-containrar med läsbehörighet placeras bakom en lastbalanserare. |
Nej | Queue:RabbitMQ |
endast v2.0-containrar. Aktiverar RabbitMQ för att skicka uppgifter. Inställningen är användbar när flera läs-OCR-containrar placeras bakom en lastbalanserare. |
Nej | Queue:Azure:QueueVisibilityTimeoutInMilliseconds |
endast v3.x-containrar. Tiden för ett meddelande att vara osynligt när en annan arbetare bearbetar det. |
Nej | Storage::DocumentStore::MongoDB |
endast v2.0-containrar. Aktiverar MongoDB för permanent resultatlagring. |
Nej | Storage:ObjectStore:AzureBlob:ConnectionString |
endast v3.x-containrar. Azure Blob Storage-anslutningssträng. |
Nej | Storage:TimeToLiveInDays |
endast v3.x-containrar. Resultat förfalloperiod i dagar. Inställningen anger när systemet ska rensa igenkänningsresultat. Standardvärdet är två dagar, vilket innebär att alla resultat som är aktiva längre än den perioden inte garanteras att hämtas. Värdet är heltal och måste vara mellan en dag och sju dagar. |
Nej | StorageTimeToLiveInMinutes |
v3.2-model-2021-09-30-preview och nya containrar. Resultat förfalloperiod i minuter. Inställningen anger när systemet ska rensa igenkänningsresultat. Standardvärdet är två dagar (2 880 minuter), vilket innebär att alla resultat som är aktiva längre än den perioden inte garanteras att hämtas. Värdet är heltal och måste vara mellan 60 minuter och sju dagar (1 0080 minuter). |
Nej | Task:MaxRunningTimeSpanInMinutes |
endast v3.x-containrar. Maximal körningstid för en enskild begäran. Standardvärdet är 60 minuter. |
Nej | EnableSyncNTPServer |
endast v3.x-containrar, förutom v3.2-model-2021-09-30-preview och nyare containrar. Aktiverar NTP-serversynkroniseringsmekanismen, vilket säkerställer synkronisering mellan systemtid och förväntad aktivitetskörning. Observera att detta kräver extern nätverkstrafik. Standardvärdet är true . |
Nej | NTPServerAddress |
endast v3.x-containrar, förutom v3.2-model-2021-09-30-preview och nyare containrar. NTP-server för tidssynkronisering. Standardvärdet är time.windows.com . |
Nej | Mounts:Shared |
endast v3.x-containrar. Lokal mapp för lagring av igenkänningsresultat. Standardvärdet är /share . För att köra container utan att använda Azure Blob Storage rekommenderar vi att du monterar en volym i den här mappen för att säkerställa att du har tillräckligt med utrymme för igenkänningsresultaten. |
Konfigurationsinställning för ApiKey
Inställningen ApiKey
anger den visionsresursnyckel som används för att spåra faktureringsinformation för containern. Du måste ange ett värde för ApiKey och värdet måste vara en giltig nyckel för visionsresursen som angetts för konfigurationsinställningen Billing
.
Den här inställningen finns på följande plats:
- Azure Portal: Resurshantering för Azure AI-tjänster under Nycklar
ApplicationInsights-inställning
Med ApplicationInsights
inställningen kan du lägga till telemetristöd för Azure Application Insights i containern. Application Insights ger djupgående övervakning av din container. Du kan enkelt övervaka din container för tillgänglighet, prestanda och användning. Du kan också snabbt identifiera och diagnostisera fel i containern.
I följande tabell beskrivs de konfigurationsinställningar som stöds i avsnittet ApplicationInsights
.
Obligatoriskt | Name | Datatyp | beskrivning |
---|---|---|---|
Nej | InstrumentationKey |
String | Instrumentationsnyckeln för Application Insights-instansen som telemetridata för containern skickas till. Mer information finns i Application Insights för ASP.NET Core. Exempel: InstrumentationKey=123456789 |
Konfigurationsinställning för fakturering
Inställningen Billing
anger slutpunkts-URI för Azure AI-tjänstresursen i Azure som används för att mäta faktureringsinformation för containern. Du måste ange ett värde för den här konfigurationsinställningen och värdet måste vara en giltig slutpunkts-URI för en Azure AI-tjänstresurs i Azure. Containern rapporterar användning var 10:e till 15:e minut.
Den här inställningen finns på följande plats:
- Azure Portal: Översikt över Azure AI-tjänster, märkt
Endpoint
Kom ihåg att lägga till vision/<version>
routningen till slutpunkts-URI:n enligt följande tabell.
Obligatoriskt | Name | Datatyp | beskrivning |
---|---|---|---|
Ja | Billing |
String | URI för faktureringsslutpunkt Exempel: Billing=https://westcentralus.api.cognitive.microsoft.com/vision/v3.2 |
Eula-inställning
Inställningen Eula
anger att du har godkänt licensen för containern. Du måste ange ett värde för den här konfigurationsinställningen och värdet måste vara inställt på accept
.
Obligatoriskt | Name | Datatyp | beskrivning |
---|---|---|---|
Ja | Eula |
String | Godkännande av licens Exempel: Eula=accept |
Azure AI-tjänstcontainrar licensieras enligt ditt avtal som styr din användning av Azure. Om du inte har ett befintligt avtal som styr din användning av Azure godkänner du att ditt avtal som styr användningen av Azure är Microsoft Online-prenumerationsavtalet, som innehåller villkoren för onlinetjänster. För förhandsversioner godkänner du även de kompletterande användningsvillkoren för Förhandsversioner av Microsoft Azure. Genom att använda containern godkänner du dessa villkor.
Inställningar för Fluentd
Fluentd är en datainsamlare med öppen källkod för enhetlig loggning. Fluentd
Inställningarna hanterar containerns anslutning till en Fluentd-server. Containern innehåller en Fluentd-loggningsprovider som gör att din container kan skriva loggar och, om du vill, mätdata till en Fluentd-server.
I följande tabell beskrivs de konfigurationsinställningar som stöds i avsnittet Fluentd
.
Name | Datatyp | beskrivning |
---|---|---|
Host |
String | IP-adressen eller DNS-värdnamnet för Fluentd-servern. |
Port |
Integer | Porten för Fluentd-servern. Standardvärdet är 24224. |
HeartbeatMs |
Integer | Pulsslagsintervallet i millisekunder. Om ingen händelsetrafik har skickats innan det här intervallet upphör att gälla skickas ett pulsslag till Fluentd-servern. Standardvärdet är 6 0000 millisekunder (1 minut). |
SendBufferSize |
Integer | Nätverksbuffertutrymmet, i byte, allokerat för sändningsåtgärder. Standardvärdet är 32 768 byte (32 kilobyte). |
TlsConnectionEstablishmentTimeoutMs |
Integer | Tidsgränsen i millisekunder för att upprätta en SSL/TLS-anslutning med Fluentd-servern. Standardvärdet är 1 0000 millisekunder (10 sekunder). Om UseTLS värdet är inställt på false ignoreras det här värdet. |
UseTLS |
Booleskt | Anger om containern ska använda SSL/TLS för kommunikation med Fluentd-servern. Standardvärdet är "false". |
Inställningar för HTTP-proxyautentiseringsuppgifter
Om du behöver konfigurera en HTTP-proxy för att göra utgående begäranden använder du följande två argument:
Name | Datatyp | beskrivning |
---|---|---|
HTTP_PROXY | sträng | Proxyn som ska användas, till exempel http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | sträng | Eventuella autentiseringsuppgifter som krävs för att autentisera mot proxyn, username:password till exempel . Det här värdet måste vara i gemener. |
<proxy-user> |
sträng | Användaren för proxyn. |
<proxy-password> |
sträng | Lösenordet som är associerat med <proxy-user> för proxyn. |
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> \
Loggningsinställningar
Logging
Inställningarna hanterar ASP.NET Core-loggningsstöd för din container. Du kan använda samma konfigurationsinställningar och värden för din container som du använder för ett ASP.NET Core-program.
Följande loggningsproviders stöds av containern:
Provider | Syfte |
---|---|
Konsol | ASP.NET Core-loggningsprovidern Console . Alla ASP.NET Core-konfigurationsinställningar och standardvärden för den här loggningsprovidern stöds. |
Debug | ASP.NET Core-loggningsprovidern Debug . Alla ASP.NET Core-konfigurationsinställningar och standardvärden för den här loggningsprovidern stöds. |
Disk | JSON-loggningsprovidern. Den här loggningsprovidern skriver loggdata till utdatamonteringen. |
Det här containerkommandot lagrar loggningsinformation i JSON-format till utdatamonteringen:
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
Det här containerkommandot visar felsökningsinformation, prefixet med dbug
, medan containern körs:
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
Diskloggning
Loggningsprovidern Disk
stöder följande konfigurationsinställningar:
Name | Datatyp | beskrivning |
---|---|---|
Format |
String | Utdataformatet för loggfiler. Obs! Det här värdet måste anges för att json aktivera loggningsprovidern. Om det här värdet anges utan att ange en utdatamontering vid instansiering av en container uppstår ett fel. |
MaxFileSize |
Integer | Den maximala storleken i mb för en loggfil. När storleken på den aktuella loggfilen uppfyller eller överskrider det här värdet startas en ny loggfil av loggningsprovidern. Om -1 anges begränsas loggfilens storlek endast av den maximala filstorleken, om någon, för utdatamonteringen. Standardvärdet är 1. |
Mer information om hur du konfigurerar ASP.NET Core-loggningsstöd finns i Inställningar för filkonfiguration.
Monteringsinställningar
Använd bindningsmonteringar för att läsa och skriva data till och från containern. Du kan ange en indatamontering eller utdatamontering genom att --mount
ange alternativet i kommandot docker run .
Azure AI Vision-containrarna använder inte indata- eller utdatamonteringar för att lagra tränings- eller tjänstdata.
Den exakta syntaxen för värdmonteringsplatsen varierar beroende på värdoperativsystemet. Dessutom kanske värddatorns monteringsplats inte är tillgänglig på grund av en konflikt mellan behörigheter som används av Docker-tjänstkontot och behörigheterna för värdmonteringsplats.
Valfritt | Name | Datatyp | beskrivning |
---|---|---|---|
Tillåts inte | Input |
String | Azure AI Vision-containrar använder inte det här fältet. |
Valfritt | Output |
String | Målet för utdatamonteringen. Standardvärdet är /output . Det här är platsen för loggarna. Detta inkluderar containerloggar. Exempel: --mount type=bind,src=c:\output,target=/output |
Exempel på docker-kommandon
I följande exempel används konfigurationsinställningarna för att illustrera hur du skriver och använder docker run
kommandon. När containern körs fortsätter den att köras tills du stoppar den.
- Radfortsättningstecken: Docker-kommandona i följande avsnitt använder snedstrecket,
\
, som ett radfortsättningstecken. Ersätt eller ta bort detta baserat på värdoperativsystemets krav. - Argumentordning: Ändra inte ordningen på argumenten om du inte är bekant med Docker-containrar.
Ersätt {argument_name} med dina egna värden:
Platshållare | Värde | Format eller exempel |
---|---|---|
{API_KEY} | Slutpunktsnyckeln för visionsresursen på sidan resursnycklar. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | Värdet för faktureringsslutpunkten är tillgängligt på sidan resursöversikt. | Se samla in obligatoriska parametrar för explicita exempel. |
Kommentar
Nya resurser som skapats efter den 1 juli 2019 använder anpassade underdomännamn. Mer information och en fullständig lista över regionala slutpunkter finns i Anpassade underdomännamn för Azure AI-tjänster.
Viktigt!
Alternativen Eula
, Billing
och ApiKey
måste anges för att köra containern. Annars startar inte containern. Mer information finns i Fakturering.
ApiKey-värdet är nyckeln från sidan Vision-resursnycklar.
Container Docker-exempel
Följande Docker-exempel är för Read OCR-containern.
Grundläggande exempel
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}
Loggningsexempel
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
Nästa steg
- Läs Installera och köra containrar.