Konfigurace kontejnerů OCR Dockeru pro čtení
Prostředí modulu runtime kontejneru OCR pro čtení služby Azure AI Vision můžete nakonfigurovat pomocí docker run
argumentů příkazu. Tento kontejner obsahuje některá požadovaná nastavení spolu s několika volitelnými nastaveními. K dispozici je několik příkladů příkazu. Nastavení specifické pro kontejner jsou nastavení fakturace.
Nastavení konfigurace
Kontejner má následující nastavení konfigurace:
Požaduje se | Nastavení | Purpose |
---|---|---|
Ano | Klíč rozhraní API | Sleduje fakturační údaje. |
No | ApplicationInsights | Umožňuje do kontejneru přidat podporu telemetrie Aplikace Azure lication Insights. |
Ano | Fakturace | Určuje identifikátor URI koncového bodu prostředku služby v Azure. |
Ano | Eula | Označuje, že jste přijali licenci pro kontejner. |
No | Fluentd | Zapisuje protokoly a volitelně data metrik na server Fluentd. |
No | HTTP Proxy | Nakonfiguruje proxy server HTTP pro vytváření odchozích požadavků. |
No | Protokolování | Poskytuje podporu protokolování ASP.NET Core pro váš kontejner. |
No | Montuje | Čte a zapisuje data z hostitelského počítače do kontejneru a z kontejneru zpět do hostitelského počítače. |
Důležité
Společně ApiKey
se používají hodnoty , Billing
a Eula
nastavení a musíte zadat platné hodnoty pro všechny tři. Jinak se kontejner nespustí. Další informace o použití těchto nastavení konfigurace k vytvoření instance kontejneru najdete v tématu Fakturace.
Kontejner má také následující nastavení konfigurace specifické pro kontejner:
Požaduje se | Nastavení | Účel |
---|---|---|
No | ReadEngineConfig:ResultExpirationPeriod |
Pouze kontejnery v2.0. Doba vypršení platnosti výsledku v hodinách Výchozí hodnota je 48 hodin. Nastavení určuje, kdy má systém vymazat výsledky rozpoznávání. Pokud resultExpirationPeriod=1 například systém vymaže výsledek rozpoznávání 1 hodinu po procesu. Pokud resultExpirationPeriod=0 systém po načtení výsledku vymaže výsledek rozpoznávání. |
No | Cache:Redis |
Pouze kontejnery v2.0. Povolí úložiště Redis pro ukládání výsledků. Mezipaměť se vyžaduje , pokud je za nástrojem pro vyrovnávání zatížení umístěno více kontejnerů OCR pro čtení. |
No | Queue:RabbitMQ |
Pouze kontejnery v2.0. Povolí RabbitMQ pro odesílání úkolů. Nastavení je užitečné, když je několik kontejnerů OCR pro čtení umístěné za nástrojem pro vyrovnávání zatížení. |
No | Queue:Azure:QueueVisibilityTimeoutInMilliseconds |
Pouze kontejnery v3.x. Čas, kdy má být zpráva neviditelná, když ji zpracovává jiný pracovník. |
No | Storage::DocumentStore::MongoDB |
Pouze kontejnery v2.0. Povolí MongoDB pro trvalé úložiště výsledků. |
No | Storage:ObjectStore:AzureBlob:ConnectionString |
Pouze kontejnery v3.x. Azure Blob Storage připojovací řetězec. |
No | Storage:TimeToLiveInDays |
Pouze kontejnery v3.x. Doba vypršení platnosti výsledku ve dnech Nastavení určuje, kdy má systém vymazat výsledky rozpoznávání. Výchozí hodnota je dva dny, což znamená, že jakýkoli výsledek, který je aktivní po delší dobu, není zaručeno, že se úspěšně načte. Hodnota je celé číslo a musí být mezi 1 dnem až sedmi dny. |
No | StorageTimeToLiveInMinutes |
v3.2-model-2021-09-30-preview a nové kontejnery. Doba vypršení platnosti výsledku v minutách. Nastavení určuje, kdy má systém vymazat výsledky rozpoznávání. Výchozí hodnota je dva dny (2 880 minut), což znamená, že jakýkoli výsledek, který je aktivní po delší dobu, není zaručeno, že se úspěšně načte. Hodnota je celé číslo a musí být v rozmezí od 60 minut do sedmi dnů (10080 minut). |
No | Task:MaxRunningTimeSpanInMinutes |
Pouze kontejnery v3.x. Maximální doba běhu pro jeden požadavek Výchozí hodnota je 60 minut. |
No | EnableSyncNTPServer |
Pouze kontejnery v3.x s výjimkou kontejnerů v3.2-model-2021-09-30-preview a novějších kontejnerů. Umožňuje mechanismus synchronizace serveru NTP, který zajišťuje synchronizaci mezi systémovým časem a očekávaným modulem runtime úloh. Mějte na paměti, že to vyžaduje externí síťový provoz. Výchozí hodnota je true . |
No | NTPServerAddress |
Pouze kontejnery v3.x s výjimkou kontejnerů v3.2-model-2021-09-30-preview a novějších kontejnerů. Server NTP pro synchronizaci času. Výchozí hodnota je time.windows.com . |
No | Mounts:Shared |
Pouze kontejnery v3.x. Místní složka pro ukládání výsledků rozpoznávání Výchozí hodnota je /share . Pro spuštění kontejneru bez použití úložiště objektů blob v Azure doporučujeme připojit svazek k této složce, abyste měli dostatek místa pro výsledky rozpoznávání. |
Nastavení konfigurace ApiKey
Toto ApiKey
nastavení určuje klíč prostředku Vision použitý ke sledování fakturačních údajů pro kontejner. Musíte zadat hodnotu pro ApiKey a hodnota musí být platným klíčem pro prostředek Vision zadaný pro Billing
nastavení konfigurace.
Toto nastavení najdete na následujícím místě:
- Azure Portal: Správa prostředků služeb Azure AI v části Klíče
Nastavení ApplicationInsights
Nastavení ApplicationInsights
umožňuje do kontejneru přidat podporu telemetrie Aplikace Azure lication Insights. Application Insights poskytuje podrobné monitorování kontejneru. Kontejner můžete snadno monitorovat z hlediska dostupnosti, výkonu a využití. Můžete také rychle identifikovat a diagnostikovat chyby v kontejneru.
Následující tabulka popisuje nastavení konfigurace podporovaná ApplicationInsights
v části.
Požaduje se | Name | Datový typ | Popis |
---|---|---|---|
No | InstrumentationKey |
String | Instrumentační klíč instance Application Insights, do které se odesílají telemetrická data kontejneru. Další informace najdete v tématu Application Insights pro ASP.NET Core. Příklad: InstrumentationKey=123456789 |
Nastavení konfigurace fakturace
Nastavení Billing
určuje identifikátor URI koncového bodu prostředku služeb Azure AI v Azure, který se používá k měření fakturačních údajů pro kontejner. Musíte zadat hodnotu tohoto nastavení konfigurace a hodnota musí být platným identifikátorem URI koncového bodu pro prostředek služeb Azure AI v Azure. Kontejner hlásí využití přibližně každých 10 až 15 minut.
Toto nastavení najdete na následujícím místě:
- Azure Portal: Přehled služeb Azure AI; označených jako
Endpoint
Nezapomeňte přidat vision/<version>
směrování do identifikátoru URI koncového bodu, jak je znázorněno v následující tabulce.
Požaduje se | Name | Datový typ | Popis |
---|---|---|---|
Ano | Billing |
String | Identifikátor URI koncového bodu fakturace Příklad: Billing=https://westcentralus.api.cognitive.microsoft.com/vision/v3.2 |
Nastavení EULA
Nastavení Eula
značí, že jste přijali licenci pro kontejner. Je nutné zadat hodnotu pro toto nastavení konfigurace a hodnota musí být nastavena na accept
.
Požaduje se | Name | Datový typ | Popis |
---|---|---|---|
Ano | Eula |
String | Přijetí licence Příklad: Eula=accept |
Kontejnery služeb Azure AI jsou licencované podle vaší smlouvy , která se řídí používáním Azure. Pokud nemáte stávající smlouvu, která se řídí používáním Azure, souhlasíte s tím, že vaše smlouva, která se řídí používáním Azure, je Smlouva o předplatném Microsoft Online, která zahrnuje podmínky online služeb. U verzí Preview souhlasíte také s dodatečnými podmínkami použití pro verze Preview Microsoft Azure. Použitím kontejneru souhlasíte s těmito podmínkami.
Nastavení fluentd
Fluentd je opensourcový kolektor dat pro jednotné protokolování. Nastavení Fluentd
spravuje připojení kontejneru k serveru Fluentd . Kontejner obsahuje zprostředkovatele protokolování Fluentd, který kontejneru umožňuje zapisovat protokoly a volitelně data metrik na server Fluentd.
Následující tabulka popisuje nastavení konfigurace podporovaná Fluentd
v části.
Name | Datový typ | Popis |
---|---|---|
Host |
String | IP adresa nebo název hostitele DNS serveru Fluentd. |
Port |
Celé číslo | Port serveru Fluentd. Výchozí hodnota je 24224. |
HeartbeatMs |
Celé číslo | Interval prezenčního signálu v milisekundách. Pokud se před vypršením tohoto intervalu neposílal žádný provoz událostí, odešle se na server Fluentd prezenčních signálů. Výchozí hodnota je 60000 milisekund (1 minuta). |
SendBufferSize |
Celé číslo | Prostor vyrovnávací paměti sítě v bajtech přidělený pro operace odesílání. Výchozí hodnota je 32768 bajtů (32 kilobajtů). |
TlsConnectionEstablishmentTimeoutMs |
Celé číslo | Časový limit v milisekundách pro navázání připojení SSL/TLS k serveru Fluentd. Výchozí hodnota je 1 0000 milisekund (10 sekund). Pokud UseTLS je nastavená hodnota false, tato hodnota se ignoruje. |
UseTLS |
Logická hodnota | Určuje, jestli má kontejner pro komunikaci se serverem Fluentd používat protokol SSL/TLS. Výchozí hodnota je false. |
Nastavení přihlašovacích údajů proxy serveru HTTP
Pokud potřebujete nakonfigurovat proxy server HTTP pro vytváření odchozích požadavků, použijte tyto dva argumenty:
Name | Datový typ | Popis |
---|---|---|
HTTP_PROXY | string | Proxy server, který se má použít, například http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | string | Všechny přihlašovací údaje potřebné k ověření na proxy serveru, username:password například . Tato hodnota musí být malá písmena. |
<proxy-user> |
string | Uživatel proxy serveru. |
<proxy-password> |
string | Heslo přidružené <proxy-user> k proxy serveru. |
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> \
Nastavení protokolování
Nastavení Logging
spravují podporu protokolování ASP.NET Core pro váš kontejner. Pro kontejner, který používáte pro aplikaci ASP.NET Core, můžete použít stejná nastavení a hodnoty konfigurace.
Kontejner podporuje následující zprostředkovatele protokolování:
Poskytovatel | Účel |
---|---|
Konzola | Zprostředkovatel protokolování ASP.NET Core Console . Podporují se všechna nastavení konfigurace ASP.NET Core a výchozí hodnoty tohoto zprostředkovatele protokolování. |
Debug | Zprostředkovatel protokolování ASP.NET Core Debug . Podporují se všechna nastavení konfigurace ASP.NET Core a výchozí hodnoty tohoto zprostředkovatele protokolování. |
Disk | Zprostředkovatel protokolování JSON. Tento zprostředkovatel protokolování zapisuje data protokolu do připojení výstupu. |
Tento příkaz kontejneru ukládá informace o protokolování ve formátu JSON do připojení výstupu:
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
Tento příkaz kontejneru zobrazuje informace o ladění s předponou dbug
, zatímco kontejner běží:
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
Protokolování disku
Disk
Zprostředkovatel protokolování podporuje následující nastavení konfigurace:
Name | Datový typ | Popis |
---|---|---|
Format |
String | Výstupní formát souborů protokolu. Poznámka: Tato hodnota musí být nastavena na json povolení zprostředkovatele protokolování. Pokud je tato hodnota zadána bez zadání výstupního připojení při vytváření instance kontejneru, dojde k chybě. |
MaxFileSize |
Celé číslo | Maximální velikost souboru protokolu v megabajtech (MB). Když velikost aktuálního souboru protokolu splňuje nebo překračuje tuto hodnotu, spustí se nový soubor protokolu poskytovatelem protokolování. Pokud je zadán parametr -1, je velikost souboru protokolu omezena pouze maximální velikostí souboru, pokud existuje, pro připojení výstupu. Výchozí hodnota je 1. |
Další informace o konfiguraci podpory protokolování ASP.NET Core najdete v tématu Konfigurace souboru nastavení.
Nastavení připojení
Připojení vazby slouží ke čtení a zápisu dat do a z kontejneru. Vstupní připojení nebo výstupní připojení můžete zadat zadáním --mount
možnosti v příkazu docker run .
Kontejnery Azure AI Vision nepoužívají vstupní ani výstupní připojení k ukládání trénovacích dat nebo dat služby.
Přesná syntaxe umístění připojení hostitele se liší v závislosti na hostitelském operačním systému. Umístění připojení hostitelského počítače navíc nemusí být přístupné kvůli konfliktu mezi oprávněními používanými účtem služby Docker a oprávněními k umístění připojení hostitele.
Volitelné | Name | Datový typ | Popis |
---|---|---|---|
Nepovoleno | Input |
String | Kontejnery Azure AI Vision toto pole nepoužívají. |
Volitelné | Output |
String | Cíl připojení výstupu. Výchozí hodnota je /output . Toto je umístění protokolů. To zahrnuje protokoly kontejnerů. Příklad: --mount type=bind,src=c:\output,target=/output |
Příklady příkazů Dockeru
Následující příklady používají nastavení konfigurace k ilustraci, jak psát a používat docker run
příkazy. Po spuštění bude kontejner dál běžet, dokud ho nezastavíte.
-
Znak pokračování řádku: Příkazy Dockeru v následujících částech používají zpětné lomítko,
\
jako znak pokračování řádku. Tento postup nahraďte nebo odeberte na základě požadavků vašeho hostitelského operačního systému. - Pořadí argumentů: Neměňte pořadí argumentů, pokud neznáte kontejnery Dockeru.
Položku {argument_name} nahraďte vlastními hodnotami:
Zástupný symbol | Hodnota | Formát nebo příklad |
---|---|---|
{API_KEY} | Klíč koncového bodu prostředku Vision na stránce klíčů prostředků. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | Hodnota fakturačního koncového bodu je k dispozici na stránce přehledu prostředků. | Explicitní příklady najdete v části Shromáždění požadovaných parametrů . |
Poznámka:
Nové prostředky vytvořené po 1. červenci 2019 budou používat vlastní názvy subdomén. Další informace a úplný seznam regionálních koncových bodů najdete v tématu Vlastní subdomény pro služby Azure AI.
Důležité
Billing
Aby se kontejner spustil, musí být zadány Eula
a ApiKey
možnosti. V opačném případě se kontejner nespustí. Další informace najdete v tématu Fakturace.
Hodnota ApiKey je klíč ze stránky Klíče prostředků zpracování obrazu.
Příklady Kontejneru Dockeru
Následující příklady Dockeru jsou určené pro kontejner Read OCR.
Základní příklad
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}
Příklad protokolování
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
Další krok
[div class="nextstepaction"] Přečtěte si , jak nainstalovat a spustit kontejnery.