Mengonfigurasi kontainer Docker Read OCR
Anda dapat mengonfigurasi lingkungan runtime kontainer Azure AI Vision Read OCR dengan menggunakan docker run
argumen perintah. Kontainer ini memiliki beberapa pengaturan yang diperlukan, bersama dengan beberapa pengaturan opsional. Beberapa contoh perintah tersedia. Pengaturan khusus kontainer adalah pengaturan tagihan.
Pengaturan konfigurasi
Kontainer memiliki pengaturan konfigurasi berikut:
Wajib | Pengaturan | Tujuan |
---|---|---|
Ya | ApiKey | Melacak informasi penagihan. |
No | ApplicationInsights | Memungkinkan menambahkan dukungan telemetri Azure Application Insights ke kontainer Anda. |
Ya | Billing | Menentukan URI titik akhir sumber daya layanan di Azure. |
Ya | Eula | Menunjukkan bahwa Anda telah menerima lisensi untuk kontainer. |
No | Fluentd | Menulis log dan, secara opsional, data metrik ke server Fluentd. |
No | Proksi HTTP | Mengonfigurasi proksi HTTP untuk membuat permintaan keluar. |
No | Pembuatan Log | Memberikan dukungan pengelogan ASP.NET Core untuk kontainer Anda. |
No | Pemasangan | Membaca dan menulis data dari komputer host ke kontainer dan dari kontainer kembali ke komputer host. |
Penting
Pengaturan ApiKey
, Billing
, dan Eula
digunakan bersama-sama, dan Anda harus menyediakan nilai yang valid untuk ketiganya; jika tidak, kontainer Anda tidak akan dimulai. Untuk informasi selengkapnya tentang menggunakan pengaturan konfigurasi ini untuk membuat instans kontainer, lihat Tagihan.
Kontainer juga memiliki pengaturan konfigurasi khusus kontainer berikut:
Wajib | Pengaturan | Tujuan |
---|---|---|
No | ReadEngineConfig:ResultExpirationPeriod | kontainer v2.0 saja. Masa kedaluwarsa hasil dalam jam. Defaultnya adalah 48 jam. Pengaturan menentukan kapan sistem harus menghapus hasil pengenalan. Misalnya, jika resultExpirationPeriod=1 , sistem akan menghapus hasil pengenalan 1 jam setelah proses. Jika resultExpirationPeriod=0 , sistem akan menghapus hasil pengenalan begitu hasil diambil. |
No | Cache:Redis | kontainer v2.0 saja. Memungkinkan penyimpanan Redis untuk menyimpan hasil. Cache diperlukan jika beberapa kontainer read OCR berada di belakang penyeimbang muatan. |
No | Queue:RabbitMQ | kontainer v2.0 saja. Memungkinkan RabbitMQ mengirim tugas. Pengaturan ini berguna saat beberapa kontainer read OCR berada di belakang penyeimbang muatan. |
No | Queue:Azure:QueueVisibilityTimeoutInMilliseconds | kontainer v3.x saja. Waktu untuk pesan tidak dapat dilihat saat pekerja lain sedang memprosesnya. |
No | Storage::DocumentStore::MongoDB | kontainer v2.0 saja. Mengaktifkan MongoDB untuk penyimpanan hasil permanen. |
No | Storage:ObjectStore:AzureBlob:ConnectionString | kontainer v3.x saja. String koneksi penyimpanan blob Azure. |
No | Storage:TimeToLiveInDays | kontainer v3.x saja. Masa kedaluwarsa hasil dalam jam. Pengaturan menentukan kapan sistem harus menghapus hasil pengenalan. Defaultnya adalah 2 hari, yang berarti hasil yang disimpan lebih lama dari periode tersebut tidak dijamin dapat berhasil diambil. Nilainya merupakan bilangan bulat dan harus antara 1 hari hingga 7 hari. |
No | StorageTimeToLiveInMinutes | v3.2-model-2021-09-30-preview serta kontainer baru. Periode kedaluwarsa hasil dalam menit. Pengaturan menentukan kapan sistem harus menghapus hasil pengenalan. Defaultnya merupakan 2 hari (2880 jam), yang berarti hasil yang disimpan lebih lama dari periode tersebut tidak dijamin dapat berhasil diambil. Nilainya merupakan bilangan bulat dan harus antara 60 menit hingga 7 hari (10080 menit). |
No | Task:MaxRunningTimeSpanInMinutes | kontainer v3.x saja. Waktu pengoperasian maksimum untuk satu permintaan. Defaultnya adalah 60 menit. |
No | EnableSyncNTPServer | Hanya kontainer v3.x, kecuali bagi v3.2-model-2021-09-30-preview dan kontainer yang lebih baru. Memungkinkan mekanisme sinkronisasi server NTP, yang memastikan sinkronisasi antara waktu sistem dan runtime bahasa umum dari tugas yang diharapkan. Perhatikan bahwa ini membutuhkan lalu lintas jaringan eksternal. Default adalah true . |
No | NTPServerAddress | Hanya kontainer v3.x, kecuali bagi v3.2-model-2021-09-30-preview dan kontainer yang lebih baru. Server NTP untuk sinkronisasi waktu. Default adalah time.windows.com . |
No | Pemasangan:Berbagi | kontainer v3.x saja. Folder lokal untuk menyimpan hasil pengenalan. Default adalah /share . Untuk menjalankan kontainer tanpa menggunakan penyimpanan blob Azure, kami sarankan untuk memasang volume ke folder ini untuk memastikan Anda memiliki cukup ruang untuk hasil pengenalan. |
Pengaturan konfigurasi ApiKey
ApiKey
Pengaturan menentukan kunci sumber daya Visi yang digunakan untuk melacak informasi penagihan untuk kontainer. Anda harus menentukan nilai untuk ApiKey dan nilainya harus merupakan kunci yang valid untuk sumber daya Visi yang ditentukan untuk Billing
pengaturan konfigurasi.
Pengaturan ini dapat ditemukan di tempat berikut:
- portal Azure: Manajemen Sumber Daya layanan Azure AI, di bawah Kunci
Pengaturan ApplicationInsights
Pengaturan ApplicationInsights
memungkinkan Anda menambahkan dukungan telemetri Azure Application Insights ke kontainer Anda. Application Insights menyediakan pemantauan mendalam kontainer Anda. Anda dapat dengan mudah memantau kontainer Anda untuk mengetahui ketersediaan, performa, dan penggunaan. Anda juga dapat dengan cepat mengidentifikasi dan mendiagnosis kesalahan dalam kontainer Anda.
Tabel berikut menjelaskan pengaturan konfigurasi yang didukung di bawah bagian ApplicationInsights
.
Wajib | Nama | Jenis data | Deskripsi |
---|---|---|---|
No | InstrumentationKey |
String | Kunci instrumentasi instans Application Insights tempat data telemetri untuk kontainer dikirim. Untuk mengetahui informasi selengkapnya, lihat Application Insights untuk ASP.NET Core. Contoh: InstrumentationKey=123456789 |
Pengaturan konfigurasi tagihan
Billing
Pengaturan menentukan URI titik akhir sumber daya layanan Azure AI di Azure yang digunakan untuk mengukur informasi penagihan untuk kontainer. Anda harus menentukan nilai untuk pengaturan konfigurasi ini, dan nilainya harus merupakan URI titik akhir yang valid untuk sumber daya layanan Azure AI di Azure. Kontainer melaporkan penggunaan sekitar setiap 10 hingga 15 menit.
Pengaturan ini dapat ditemukan di tempat berikut:
- portal Azure: Gambaran Umum layanan Azure AI, berlabel
Endpoint
Jangan lupa untuk menambahkan perutean vision/<version>
ke URI titik akhir seperti yang diperlihatkan dalam tabel berikut ini.
Wajib | Nama | Jenis data | Deskripsi |
---|---|---|---|
Ya | Billing |
String | URI titik akhir tagihan Contoh: Billing=https://westcentralus.api.cognitive.microsoft.com/vision/v3.2 |
Pengaturan Eula
Pengaturan Eula
menunjukkan bahwa Anda telah menerima lisensi untuk kontainer. Anda harus menentukan nilai untuk pengaturan konfigurasi ini, dan nilainya harus diatur ke accept
.
Wajib | Nama | Jenis data | Deskripsi |
---|---|---|---|
Ya | Eula |
String | Penerimaan lisensi Contoh: Eula=accept |
Kontainer layanan Azure AI dilisensikan berdasarkan perjanjian Anda yang mengatur penggunaan Azure. Jika Anda tidak memiliki perjanjian yang sudah ada yang mengatur penggunaan Azure oleh Anda, Anda setuju bahwa perjanjian yang mengatur penggunaan Azure adalah Perjanjian Langganan Microsoft Online, yang menggabungkan Ketentuan Layanan Online. Untuk pratinjau, Anda juga menyetujui Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure. Dengan menggunakan kontainer, Anda menyetujui persyaratan ini.
Pengaturan Fluentd
Fluentd adalah kolektor data sumber terbuka untuk pengelogan terpadu. Pengaturan Fluentd
mengelola koneksi kontainer ke server Fluentd. Kontainer ini mencakup penyedia pembuatan log Fluentd, yang memungkinkan kontainer Anda menulis log dan, secara opsional, data metrik ke server Fluentd.
Tabel berikut menjelaskan pengaturan konfigurasi yang didukung di bawah bagian Fluentd
.
Nama | Jenis data | Deskripsi |
---|---|---|
Host |
String | Alamat IP atau nama host DNS server Fluentd. |
Port |
Bilangan bulat | Port server Fluentd. Nilai defaultnya adalah 24224. |
HeartbeatMs |
Bilangan bulat | Interval heartbeat, dalam milidetik. Jika tidak ada lalu lintas peristiwa yang dikirim sebelum interval ini berakhir, heartbeat dikirim ke server Fluentd. Nilai defaultnya adalah 60000 milidetik (1 menit). |
SendBufferSize |
Bilangan bulat | Ruang buffer jaringan, dalam byte, dialokasikan untuk operasi pengiriman. Nilai default adalah 32768 byte (32 kilobyte). |
TlsConnectionEstablishmentTimeoutMs |
Bilangan bulat | Waktu habis, dalam hitungan milidetik, untuk membangun sambungan SSL/TLS dengan server Fluentd. Nilai defaultnya adalah 10000 milidetik (10 detik). Jika UseTLS diatur ke false, nilai ini diabaikan. |
UseTLS |
Boolean | Menunjukkan apakah kontainer harus menggunakan SSL/TLS untuk berkomunikasi dengan server Fluentd. Nilai defaultnya adalah false. |
Pengaturan info masuk proksi HTTP
Jika Anda perlu mengonfigurasi proxy HTTP untuk membuat permintaan keluar, gunakan dua argumen berikut:
Nama | Jenis data | Deskripsi |
---|---|---|
HTTP_PROXY | string | Proksi yang akan digunakan, misalnya, http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | string | Kredensial apa pun yang diperlukan untuk mengautentikasi terhadap proxy, misalnya, username:password . Nilai ini harus dalam huruf kecil. |
<proxy-user> |
string | Pengguna untuk proksi. |
<proxy-password> |
string | Kata sandi yang terkait dengan <proxy-user> untuk proksi. |
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> \
Pengaturan pengelogan
Pengaturan Logging
mengelola ASP.NET Core log support untuk kontainer Anda. Anda dapat menggunakan pengaturan konfigurasi dan nilai yang sama untuk kontainer yang Anda gunakan untuk ASP.NET Core.
Penyedia pembuatan log berikut didukung oleh kontainer:
Penyedia | Tujuan |
---|---|
Konsol | Penyedia log ASP.NET Console Core. Semua pengaturan konfigurasi ASP.NET dan nilai default untuk penyedia pembuatan log ini didukung. |
Debug | Penyedia log ASP.NET Debug Core. Semua pengaturan konfigurasi ASP.NET dan nilai default untuk penyedia pembuatan log ini didukung. |
Hard | Penyedia pencatatan log JSON. Penyedia pencatatan log ini menulis data log ke tempat output. |
Perintah kontainer ini menyimpan informasi pencatatan dalam format JSON ke tempat 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
Perintah kontainer ini menunjukkan informasi debugging, dia awali dengan dbug
, saat kontainer sedang berjalan:
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
Pencatatan log disk
Penyedia pencatatan log Disk
mendukung setelan konfigurasi berikut ini:
Nama | Jenis data | Deskripsi |
---|---|---|
Format |
String | Format output untuk file log. Catatan: Nilai ini harus disetel json untuk mengaktifkan penyedia pembuatan log. Jika nilai ini ditentukan tanpa juga menentukan dudukan output saat instantiating kontainer, kesalahan terjadi. |
MaxFileSize |
Bilangan bulat | Ukuran maksimum, dalam megabyte (MB), dari file log. Ketika ukuran file log saat ini memenuhi atau melebihi nilai ini, file log baru dimulai oleh penyedia pembuatan log. Jika -1 dispesifikasikan, ukuran berkas log hanya dibatasi oleh ukuran berkas maksimum, jika ada, untuk keluaran mount. Nilai default adalah 1. |
Untuk informasi selengkapnya tentang mengonfigurasi ASP.NET log Core, lihat Pengaturan konfigurasi file.
Pengaturan Pemasangan
Gunakan pemasangan ikat untuk membaca dan menulis data ke dan dari kontainer. Anda dapat menentukan pemasangan input atau pemasangan output dengan menentukan opsi --mount
di perintah eksekusi docker.
Kontainer Azure AI Vision tidak menggunakan pemasangan input atau output untuk menyimpan data pelatihan atau layanan.
Sintaks yang tepat untuk lokasi pemasangan host bervariasi tergantung sistem operasi host. Selain itu, lokasi pemasangan komputer host mungkin tidak dapat diakses karena konflik antara izin yang digunakan oleh akun layanan Docker dan izin lokasi pemasangan host.
Opsional | Nama | Jenis data | Deskripsi |
---|---|---|---|
Tidak diizinkan | Input |
String | Kontainer Azure AI Vision tidak menggunakan ini. |
Opsional | Output |
String | Target dari pemasangan output. Nilai defaultnya adalah /output . Ini adalah lokasi log. Ini termasuk log kontainer. Contoh: --mount type=bind,src=c:\output,target=/output |
Contoh perintah eksekusi docker
Contoh berikut menggunakan pengaturan konfigurasi untuk mengilustrasikan cara menulis dan menggunakan perintah docker run
. Begitu dijalankan, kontainer akan terus berjalan sampai Anda menghentikan kontainer tersebut.
- Karakter kelanjutan baris: Perintah Docker di bagian berikut menggunakan garis miring belakang,
\
, sebagai karakter kelanjutan baris. Ganti atau hapus ini berdasarkan persyaratan sistem operasi host Anda. - Urutan argumen: Jangan ubah urutan argumen kecuali Anda sangat familier dengan kontainer Docker.
Ganti {argument_name} dengan nilai Anda sendiri:
Placeholder | Nilai | Format atau contoh |
---|---|---|
{API_KEY} | Kunci titik akhir sumber daya Visi di halaman kunci sumber daya. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | Nilai titik akhir penagihan tersedia di halaman gambaran umum sumber daya. | Lihat mengumpulkan parameter yang diperlukan untuk contoh eksplisit. |
Catatan
Sumber daya baru yang dibuat setelah 1 Juli 2019, akan menggunakan nama subdomain kustom. Untuk informasi selengkapnya dan daftar lengkap titik akhir regional, lihat Nama subdomain kustom untuk layanan Azure AI.
Penting
Opsi Eula
, Billing
, dan ApiKey
harus ditentukan untuk menjalankan kontainer; jika tidak, kontainer tidak akan dimulai. Untuk mengetahui informasi lebih lanjut, lihat Penagihan.
Nilai ApiKey adalah Kunci dari halaman kunci sumber daya Vision.
Contoh Docker Kontainer
Contoh Docker berikut adalah untuk kontainer Read OCR.
Contoh dasar
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}
Contoh pembuatan log
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