Baris perintah dan referensi PowerShell untuk Azure Cosmos DB Emulator

BERLAKU UNTUK: Nosql MongoDB Cassandra Gremlin Meja

Emulator Azure Cosmos DB menyediakan lingkungan lokal yang meniru layanan Azure Cosmos DB untuk tujuan pengembangan. Setelah menginstal emulator,Anda dapat mengontrol emulator dengan baris perintah dan perintah PowerShell. Artikel ini menjelaskan cara menggunakan perintah baris perintah dan PowerShell untuk memulai dan menghentikan emulator, mengonfigurasi opsi, dan melakukan operasi lainnya. Anda harus menjalankan perintah dari lokasi pemasangan.

Mengelola emulator dengan sintaks baris perintah

Microsoft.Azure.Cosmos.Emulator.exe [/Shutdown] [/DataPath] [/Port] [/MongoPort] [/DirectPorts] [/Key] [/EnableRateLimiting] [/DisableRateLimiting] [/NoUI] [/NoExplorer] [/EnableMongoDbEndpoint] [/?]

Untuk menampilkan daftar opsi, ketik Microsoft.Azure.Cosmos.Emulator.exe /? pada perintah.

Opsi Deskripsi Perintah Argumen
[Tidak ada argumen] Memulai Azure Cosmos DB Emulator dengan pengaturan default. Microsoft.Azure.Cosmos.Emulator.exe
[Bantuan] Menampilkan daftar argumen baris perintah yang didukung. Microsoft.Azure.Cosmos.Emulator.exe /?
GetStatus Mendapatkan status Azure Cosmos DB Emulator. Status ditunjukkan oleh kode keluar: 1 = Mulai, 2 = Bekerja, 3 = Berhenti. Kode keluar negatif menunjukkan bahwa terjadi kesalahan. Tidak ada output lain yang diproduksi. Microsoft.Azure.Cosmos.Emulator.exe /GetStatus
Pematian Matikan Azure Cosmos DB Emulator. Microsoft.Azure.Cosmos.Emulator.exe /Shutdown
DataPath Menentukan jalur untuk menyimpan file data. Nilai default adalah %LocalAppdata%\CosmosDBEmulator. Microsoft.Azure.Cosmos.Emulator.exe /DataPath=<datapath> <datapath>: Jalur yang dapat diakses
Port Menentukan nomor port yang akan digunakan untuk emulator. Nilai default adalah 8081. Microsoft.Azure.Cosmos.Emulator.exe /Port=<port> <port>: Nomor port tunggal
ComputePort Menentukan nomor port yang akan digunakan untuk layanan Compute Interop Gateway. Port probe titik akhir HTTP Gateway dihitung sebagai ComputePort + 79. Oleh karena itu, ComputePort dan ComputePort + 79 harus terbuka dan tersedia. Nilai default adalah 8900. Microsoft.Azure.Cosmos.Emulator.exe /ComputePort=<computeport> <computeport>: Nomor port tunggal
EnableMongoDbEndpoint=3.2 Mengaktifkan API untuk MongoDB 3.2 Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.2
EnableMongoDbEndpoint=3.6 Mengaktifkan API untuk MongoDB 3.6 Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.6
EnableMongoDbEndpoint=4.0 Mengaktifkan API untuk MongoDB 4.0 Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=4.0
MongoPort Menentukan nomor port yang akan digunakan untuk API kompatibilitas MongoDB. Nilai default adalah 10255. Microsoft.Azure.Cosmos.Emulator.exe /MongoPort=<mongoport> <mongoport>: Nomor port tunggal
EnableCassandraEndpoint Mengaktifkan API untuk Cassandra Microsoft.Azure.Cosmos.Emulator.exe /EnableCassandraEndpoint
CassandraPort Menentukan nomor port yang akan digunakan untuk titik akhir Cassandra. Nilai default adalah 10350. Microsoft.Azure.Cosmos.Emulator.exe /CassandraPort=<cassandraport> <cassandraport>: Nomor port tunggal
EnableGremlinEndpoint Mengaktifkan API untuk Gremlin Microsoft.Azure.Cosmos.Emulator.exe /EnableGremlinEndpoint
GremlinPort Nomor port yang digunakan untuk Titik Akhir Gremlin. Nilai default adalah 8901. Microsoft.Azure.Cosmos.Emulator.exe /GremlinPort=<port> <port>: Nomor port tunggal
EnableTableEndpoint Mengaktifkan API untuk Tabel Microsoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint
TablePort Nomor port yang digunakan untuk Titik Akhir Tabel Azure. Nilai default adalah 8902. Microsoft.Azure.Cosmos.Emulator.exe /TablePort=<port> <port>: Nomor port tunggal
KeyFile Baca kunci otorisasi dari file yang ditentukan. Gunakan opsi /GenKeyFile untuk menghasilkan keyfile Microsoft.Azure.Cosmos.Emulator.exe /KeyFile=<file_name> <file_name : > Jalur ke file
ResetDataPath Secara rekursif menghapus semua file dalam jalur yang ditentukan. Jika Anda tidak menentukan jalur, jalur tersebut secara default ke %LOCALAPPDATA%\CosmosDbEmulator Microsoft.Azure.Cosmos.Emulator.exe /ResetDataPath=<path> <path>: Jalur File
StartTraces Mulai mengumpulkan log jejak debug menggunakan LOGMAN. Microsoft.Azure.Cosmos.Emulator.exe /StartTraces
StopTraces Berhenti mengumpulkan log jejak debug menggunakan LOGMAN. Microsoft.Azure.Cosmos.Emulator.exe /StartTraces
StartWprTraces Mulai mengumpulkan log jejak debug menggunakan alat Perekaman Kinerja Windows. Microsoft.Azure.Cosmos.Emulator.exe /StartWprTraces
StopWprTraces Berhenti mengumpulkan log jejak debug menggunakan alat Perekaman Kinerja Windows. Microsoft.Azure.Cosmos.Emulator.exe /StopWprTraces
FailOnSslCertificateNameMismatch Secara default emulator meregenerasi sertifikat TLS/SSL yang ditandatangani sendiri, jika SAN sertifikat tidak menyertakan nama domain host emulator, alamat IPv4 lokal, 'localhost', dan '127.0.0.1'. Dengan opsi ini, emulator akan gagal saat startup sebagai gantinya. Anda kemudian harus menggunakan opsi /GenCert untuk membuat dan menginstal sertifikat TLS/SSL baru yang ditandatangani sendiri. Microsoft.Azure.Cosmos.Emulator.exe /FailOnSslCertificateNameMismatch
GenCert Hasilkan dan instal sertifikat TLS/SSL baru yang ditandatangani sendiri. secara opsional termasuk daftar nama DNS tambahan yang dipisahkan koma untuk mengakses emulator melalui jaringan. Microsoft.Azure.Cosmos.Emulator.exe /GenCert=<dns-names> <dns-names>: Daftar nama dns tambahan opsional yang dipisahkan koma
DirectPorts Menentukan port yang akan digunakan untuk konektivitas langsung. Defaultnya adalah 10251,10252,10253,10254. Microsoft.Azure.Cosmos.Emulator.exe /DirectPorts:<directports> <directports>: Daftar 4 port yang dibatasi koma
Kunci Kunci otorisasi untuk emulator. Kunci harus berupa pengkodean basis-64 dari vektor 64-byte. Microsoft.Azure.Cosmos.Emulator.exe /Key:<key> <key>: Kunci harus berupa pengkodean basis-64 dari vektor 64-byte
EnableRateLimiting Menentukan bahwa perilaku pembatasan tarif permintaan diaktifkan. Microsoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint
DisableRateLimiting Menentukan bahwa perilaku pembatasan tarif permintaan diaktifkan. Microsoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint
NoUI Jangan tampilkan antarmuka pengguna emulator. Microsoft.Azure.Cosmos.Emulator.exe /NoUI
NoExplorer Jangan perlihatkan penjelajah data saat mulai. Microsoft.Azure.Cosmos.Emulator.exe /NoExplorer
PartitionCount Menentukan jumlah maksimum kontainer yang dipartisi. Lihat Ubah jumlah kontainer untuk informasi selengkapnya. Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=<partitioncount> <partitioncount>: Jumlah maksimum kontainer partisi tunggal yang diizinkan. Nilai default adalah 25. Maksimum yang diizinkan adalah 250.
DefaultPartitionCount Menentukan jumlah default partisi untuk kontainer yang dipartisi. Microsoft.Azure.Cosmos.Emulator.exe /DefaultPartitionCount=<defaultpartitioncount> <defaultpartitioncount> Nilai default adalah 25.
AllowNetworkAccess Memungkinkan akses ke emulator melalui jaringan. Anda juga harus melewati /Key= <key_string> atau /KeyFile=<file_name> untuk mengaktifkan akses jaringan. Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=<key_string> atau Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /KeyFile=<file_name>
NoFirewall Jangan sesuaikan aturan firewall ketika opsi /AllowNetworkAccess digunakan. Microsoft.Azure.Cosmos.Emulator.exe /NoFirewall
GenKeyFile Buat kunci otorisasi baru dan simpan ke file yang ditentukan. Kunci yang dihasilkan dapat digunakan dengan opsi /Key atau /KeyFile. Microsoft.Azure.Cosmos.Emulator.exe /GenKeyFile=<jalur ke file kunci>
Konsistensi Atur tingkat konsistensi default untuk akun tersebut. Microsoft.Azure.Cosmos.Emulator.exe /Consistency=<consistency> <consistency>: Nilai harus menjadi salah satu tingkat konsistensi berikut: Sesi, Kuat, Akhirnya, atau BoundedStaleness. Nilai defaultnya adalah Sesi.
? Perlihatkan pesan bantuan.

Mengelola emulator dengan PowerShell

Emulator dilengkapi dengan modul PowerShell untuk memulai, menghentikan, menghapus instalasi, dan mengambil status layanan. Jalankan cmdlet berikut menggunakan modul PowerShell:

Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"

atau tempatkan PSModules direktori pada AndaPSModulePath dan impor seperti yang ditunjukkan dalam perintah berikut:

$env:PSModulePath += ";$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules"
Import-Module Microsoft.Azure.CosmosDB.Emulator

Berikut adalah ringkasan perintah untuk mengontrol emulator dari PowerShell:

Get-CosmosDbEmulatorStatus

Sintaks

Get-CosmosDbEmulatorStatus

Keterangan

Mengembalikan salah satu nilai ServiceControllerStatus ini: ServiceControllerStatus.StartPending, ServiceControllerStatus.Running, atau ServiceControllerStatus.Stopped.

Start-CosmosDbEmulator

Sintaks

Start-CosmosDbEmulator [-DataPath <string>] [-DefaultPartitionCount <uint16>] [-DirectPort <uint16[]>] [-MongoPort <uint16>] [-NoUI] [-NoWait] [-PartitionCount <uint16>] [-Port <uint16>] [<CommonParameters>]

Keterangan

Memulai emulator. Secara default, perintah menunggu hingga emulator siap menerima permintaan. Gunakan opsi -NoWait, jika Anda ingin cmdlet kembali segera setelah memulai emulator.

Stop-CosmosDbEmulator

Sintaks

Stop-CosmosDbEmulator [-NoWait]

Keterangan

Menghentikan emulator. Secara default, perintah ini menunggu hingga emulator sepenuhnya dimatikan. Gunakan opsi -NoWait, jika Anda ingin cmdlet kembali segera setelah mulai mematikan emulator.

Uninstall-CosmosDbEmulator

Sintaks

Uninstall-CosmosDbEmulator [-RemoveData]

Keterangan

Menghapus instalasi emulator dan secara opsional menghapus konten lengkap $env:LOCALAPPDATA\CosmosDbEmulator. Cmdlet memastikan emulator dihentikan sebelum menghapus instalasinya.

Mengubah jumlah kontainer default

Secara default, Anda dapat membuat hingga 25 kontainer ukuran tetap (hanya didukung menggunakan SDK Azure Cosmos DB), atau 5 kontainer tak terbatas menggunakan Azure Cosmos DB Emulator. Dengan memodifikasi nilai PartitionCount, Anda dapat membuat hingga 250 kontainer ukuran tetap atau 50 kontainer tak terbatas, atau kombinasi keduanya yang tidak melebihi 250 kontainer ukuran tetap (di mana satu kontainer tak terbatas = 5 kontainer ukuran tetap). Namun tidak disarankan untuk menyiapkan emulator untuk dijalankan dengan lebih dari 200 kontainer ukuran tetap. Karena overhead yang ditambahkan ke operasi IO disk, yang menghasilkan batas waktu yang tidak dapat diprediksi saat menggunakan API titik akhir.

Jika Anda mencoba membuat kontainer setelah jumlah partisi saat ini terlampaui, emulator akan memberikan pengecualian ServiceUnavailable, dengan pesan berikut.

Maaf, saat ini kami mengalami permintaan tinggi di wilayah ini, dan tidak dapat memenuhi permintaan Anda saat ini. Kami bekerja terus menerus untuk menghadirkan semakin banyak kapasitas online, dan mendorong Anda untuk mencoba lagi. ActivityId: 12345678-1234-1234-1234-123456789abc

Untuk mengubah jumlah kontainer yang tersedia di Azure Cosmos DB Emulator, jalankan langkah-langkah berikut:

  1. Hapus semua data Azure Cosmos DB Emulator lokal dengan mengeklik kanan ikon Azure Cosmos DB Emulator pada baki sistem, dan kemudian mengeklik Atur ulang Data… .

  2. Hapus semua data emulator di folder %LOCALAPPDATA%\CosmosDBEmulator ini.

  3. Keluar dari semua instans yang terbuka dengan mengeklik kanan ikon Azure Cosmos DB Emulator pada baki sistem, dan kemudian mengeklik Keluar. Mungkin perlu waktu satu menit agar semua instans keluar.

  4. Instal versi terbaru Azure Cosmos DB Emulator.

  5. Luncurkan emulator dengan flag PartitionCount dengan menetapkan nilai <= 250. Contoh: C:\Program Files\Azure Cosmos DB Emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100.

Langkah berikutnya