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 má několik požadovaných nastavení a několik volitelných nastavení. 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 | Fronta: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 | Úložiště::D ocumentStore::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 | Úložiště: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 2 dny, což znamená, že jakýkoli výsledek je aktivní po delší dobu, než je zaručeno, že se úspěšně načte. Hodnota je celé číslo a musí být mezi 1 dny a 7 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 2 dny (2880 minut), což znamená, že jakýkoli výsledek zažije déle, než je toto období, není zaručeno, že se úspěšně načte. Hodnota je celé číslo a musí být mezi 60 minut a 7 dny (10080 minut). |
No | Úkol: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 | Připojení:Sdílené | 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 s popiskem
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 tuto funkci 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ů pro spuštění 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ší kroky
- Přečtěte si , jak nainstalovat a spustit kontejnery.