Referensi baris perintah dan PowerShell untuk emulator Windows (lokal)
BERLAKU UNTUK: NoSQL
MongoDB
Cassandra
Gremlin
Meja
Emulator Azure Cosmos DB menyediakan lingkungan lokal yang meniru layanan Azure Cosmos DB untuk tujuan pengembangan lokal. 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.
Penting
Artikel ini hanya menyertakan argumen baris perintah untuk emulator lokal Windows.
Mengelola emulator dengan sintaks baris perintah
Microsoft.Azure.Cosmos.Emulator.exe
[/Shutdown] [/DataPath] [/Port] [/MongoPort]
[/DirectPorts] [/Key] [/EnableRateLimiting]
[/DisableRateLimiting] [/NoUI] [/NoExplorer]
[/EnableMongoDbEndpoint]
[/?]
Untuk melihat daftar parameter, ketik Microsoft.Azure.Cosmos.Emulator.exe /?
pada prompt perintah.
Parameter | Deskripsi | Contoh Perintah |
---|---|---|
[Tidak ada argumen] | Memulai 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 emulator. Setiap kode keluar menunjukkan status: 1 = Memulai,2 = Menjalankan, dan = 3 Berhenti. Kode keluar negatif menunjukkan bahwa terjadi kesalahan. Tidak ada output lain yang diproduksi. |
Microsoft.Azure.Cosmos.Emulator.exe /GetStatus |
Shutdown |
Mematikan emulator. | Microsoft.Azure.Cosmos.Emulator.exe /Shutdown |
DataPath |
Menentukan jalur untuk menyimpan file data. Nilai defaultnya adalah %LocalAppdata%\CosmosDBEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /DataPath=E:\SomeDataFolder |
Port |
Menentukan nomor port yang akan digunakan untuk emulator. Nilai defaultnya adalah 8081 . |
Microsoft.Azure.Cosmos.Emulator.exe /Port=65000 |
ComputePort |
Menentukan nomor port yang akan digunakan untuk layanan gateway interop komputasi. Port pemeriksaan titik akhir HTTP gateway dihitung sebagai ComputePort + 79 . Oleh karena itu, ComputePort dan ComputePort + 79 harus terbuka dan tersedia. Nilai defaultnya adalah 8900 . |
Microsoft.Azure.Cosmos.Emulator.exe /ComputePort=65100 |
EnableMongoDbEndpoint=3.2 |
Mengaktifkan API untuk MongoDB versi 3.2. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.2 |
EnableMongoDbEndpoint=3.6 |
Mengaktifkan API untuk MongoDB versi 3.6. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.6 |
EnableMongoDbEndpoint=4.0 |
Mengaktifkan API untuk MongoDB versi 4.0. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=4.0 |
MongoPort |
Menentukan nomor port yang akan digunakan untuk API untuk MongoDB. Nilai default 10255 . |
Microsoft.Azure.Cosmos.Emulator.exe /MongoPort=65200 |
EnableCassandraEndpoint |
Mengaktifkan API untuk Apache Cassandra. | Microsoft.Azure.Cosmos.Emulator.exe /EnableCassandraEndpoint |
CassandraPort |
Menentukan nomor port yang akan digunakan untuk API untuk titik akhir Cassandra. Nilai default 10350 . |
Microsoft.Azure.Cosmos.Emulator.exe /CassandraPort=65300 |
EnableGremlinEndpoint |
Mengaktifkan API untuk Apache Gremlin. | Microsoft.Azure.Cosmos.Emulator.exe /EnableGremlinEndpoint |
GremlinPort |
Nomor port yang akan digunakan untuk API untuk Titik Akhir Apache Gremlin. Nilai default 8901 . |
Microsoft.Azure.Cosmos.Emulator.exe /GremlinPort=65400 |
EnableTableEndpoint |
Mengaktifkan API untuk Tabel. | Microsoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint |
TablePort |
Nomor port yang akan digunakan untuk API untuk Titik Akhir Tabel. Nilai default 8902 . |
Microsoft.Azure.Cosmos.Emulator.exe /TablePort=65500 |
KeyFile |
Baca kunci otorisasi dari file yang ditentukan. /GenKeyFile Gunakan opsi untuk menghasilkan keyfile. |
Microsoft.Azure.Cosmos.Emulator.exe /KeyFile=D:\Keys\keyfile |
ResetDataPath |
Secara rekursif menghapus semua file dalam jalur yang ditentukan. Jika Anda tidak menentukan jalur, jalur tersebut default ke %LOCALAPPDATA%\CosmosDbEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /ResetDataPath |
StartTraces |
Mulai kumpulkan log jejak debug menggunakan LOGMAN. | Microsoft.Azure.Cosmos.Emulator.exe /StartTraces |
StopTraces |
Berhenti mengumpulkan log jejak debug menggunakan LOGMAN. | Microsoft.Azure.Cosmos.Emulator.exe /StopTraces |
StartWprTraces |
Mulai kumpulkan log jejak debug menggunakan alat Perekaman Performa Windows. | Microsoft.Azure.Cosmos.Emulator.exe /StartWprTraces |
StopWprTraces |
Berhenti mengumpulkan log jejak debug menggunakan alat Perekaman Performa 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 IP lokal (v4), localhost , dan 127.0.0.1 . Dengan opsi ini, emulator akan gagal saat startup. Anda kemudian harus menggunakan /GenCert opsi 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 Sistem Nama Domain (DNS) tambahan yang dipisahkan koma untuk mengakses emulator melalui jaringan. | Microsoft.Azure.Cosmos.Emulator.exe /GenCert |
DirectPorts |
Menentukan port yang akan digunakan untuk konektivitas langsung. Defaultnya adalah 10251 , , 10253 10252 , dan 10254 . |
Microsoft.Azure.Cosmos.Emulator.exe /DirectPorts:65600,65700 |
Key |
Kunci otorisasi untuk emulator. Kunci harus berupa pengkodean basis-64 dari vektor 64-byte. | Microsoft.Azure.Cosmos.Emulator.exe /Key:D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA== |
EnableRateLimiting |
Menentukan bahwa perilaku pembatasan tarif permintaan diaktifkan. | Microsoft.Azure.Cosmos.Emulator.exe /EnableRateLimiting |
DisableRateLimiting |
Menentukan bahwa perilaku pembatasan tarif permintaan diaktifkan. | Microsoft.Azure.Cosmos.Emulator.exe /DisableRateLimiting |
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. Untuk informasi selengkapnya, lihat mengubah jumlah kontainer. Nilai defaultnya adalah 25 . Maksimum yang diizinkan adalah 250 . |
Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=15 |
DefaultPartitionCount |
Menentukan jumlah default partisi untuk kontainer yang dipartisi. Nilai defaultnya adalah 25 . |
Microsoft.Azure.Cosmos.Emulator.exe /DefaultPartitionCount=50 |
AllowNetworkAccess |
Memungkinkan akses ke emulator melalui jaringan. Anda juga harus meneruskan /Key=<key_string> atau /KeyFile=<file_name> untuk mengaktifkan akses jaringan. |
Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA== |
NoFirewall |
Jangan sesuaikan aturan firewall saat /AllowNetworkAccess opsi digunakan. |
Microsoft.Azure.Cosmos.Emulator.exe /NoFirewall |
GenKeyFile |
Buat kunci otorisasi baru dan simpan ke file yang ditentukan. Kunci yang dihasilkan dapat digunakan dengan /Key opsi atau /KeyFile . |
Microsoft.Azure.Cosmos.Emulator.exe /GenKeyFile=D:\Keys\keyfile |
Consistency |
Atur tingkat konsistensi default untuk akun tersebut. Nilai defaultnya adalah Sesi. | Microsoft.Azure.Cosmos.Emulator.exe /Consistency=Strong |
? |
Perlihatkan pesan bantuan. |
Mengelola emulator dengan cmdlet 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 letakkan PSModules
direktori pada Anda PSModulePath
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
Mendapatkan status emulator. Mengembalikan salah satu nilai ini ServiceControllerStatus
:
ServiceControllerStatus.StartPending
ServiceControllerStatus.Running
ServiceControllerStatus.Stopped
Jika terjadi kesalahan, tidak ada nilai yang dikembalikan.
Sintaks
Get-CosmosDbEmulatorStatus
[[-AlternativeInstallLocation] <String>]
[<CommonParameters>]
Parameter
Nama | Tipe | Deskripsi |
---|---|---|
AlternativeInstallLocation |
String |
Contoh
Dapatkan status emulator yang diinstal di
D:\SomeFolder\AzureCosmosDBEmulator
folder.@parameters = { AlternativeInstallLocation = "D:\SomeFolder\AzureCosmosDBEmulator" } Get-CosmosDbEmulatorStatus @parameters
Start-CosmosDbEmulator
Memulai emulator di komputer lokal. Secara default, perintah menunggu hingga emulator siap menerima permintaan. -NoWait
Gunakan opsi , jika Anda ingin cmdlet kembali segera setelah memulai emulator. Gunakan parameter Start-CosmosDbEmulator
untuk menentukan opsi, seperti port NoSQL, port langsung, dan nomor port MongoDB.
Sintaks
Start-CosmosDbEmulator [-AllowNetworkAccess]
[-AlternativeInstallLocation <String>] [-CassandraPort <UInt16>]
[-ComputePort <UInt16>] [-Consistency <String>] [-Credential
<PSCredential>] [-DataPath <String>] [-DefaultPartitionCount
<UInt16>] [-DirectPort <UInt16[]>] [-EnableMongoDb]
[-EnableCassandra] [-EnableGremlin] [-EnableTable]
[-EnableSqlCompute] [-EnablePreview]
[-FailOnSslCertificateNameMismatch] [-GremlinPort <UInt16>]
[-TablePort <UInt16>] [-SqlComputePort <UInt16>] [-Key <String>]
[-MongoPort <UInt16>] [-MongoApiVersion <String>] [-NoFirewall]
[-NoTelemetry] [-NoUI] [-NoWait] [-PartitionCount <UInt16>] [-Port
<UInt16>] [-SimulateRateLimiting] [-Timeout <UInt32>] [-Trace]
[<CommonParameters>]
Parameter
Nama | Tipe | Deskripsi |
---|---|---|
AllowNetworkAccess |
SwitchParameter |
Izinkan akses dari semua Alamat IP yang ditetapkan ke host emulator. Anda juga harus menentukan nilai untuk Key atau KeyFile untuk mengizinkan akses jaringan. |
AlternativeInstallLocation |
String |
Jalur lokasi alternatif ke emulator yang dapat dieksekusi. |
CassandraPort |
UInt16 |
Nomor port yang digunakan untuk API untuk Cassandra. Port default adalah 10350 . |
ComputePort |
UInt16 |
Port yang digunakan untuk layanan gateway interop komputasi. Port pemeriksaan titik akhir HTTP gateway dihitung sebagai ComputePort + 79 . Oleh karena itu, ComputePort dan ComputePort + 79 harus terbuka dan tersedia. Port defaultnya adalah 8900 , 8979 . |
Consistency |
String |
Mengatur tingkat konsistensi default untuk emulator ke Session, Strong, Eventual, atau BoundedStaleness. Tingkat defaultnya adalah Sesi. |
Credential |
PSCredential |
Menentukan akun pengguna yang memiliki izin untuk melakukan tindakan ini. Gunakan nama pengguna, seperti User01 atau Domain01\User01 , atau masukkan PSCredential objek, seperti dari Get-Credential cmdlet. Secara default, cmdlet menggunakan kredensial pengguna saat ini. |
DataPath |
String |
Jalur untuk menyimpan file data. Lokasi default untuk file data adalah $env:LocalAppData\CosmosDbEmulator . |
DefaultPartitionCount |
UInt16 |
Jumlah partisi yang akan dicadangkan per koleksi yang dipartisi. Defaultnya adalah 25, yang sama dengan nilai default dari jumlah partisi total. |
DirectPort |
UInt16 |
Daftar empat port yang akan digunakan untuk konektivitas langsung ke backend emulator. Daftar defaultnya adalah 10251 , , 10253 10252 , dan 10254 . |
EnableMongoDb |
SwitchParameter |
Menentukan bahwa API untuk titik akhir MongoDB diaktifkan. Defaultnya adalah false. |
EnableCassandra |
SwitchParameter |
Menentukan bahwa API untuk titik akhir Apache Cassandra diaktifkan. Defaultnya adalah false. |
EnableGremlin |
SwitchParameter |
Menentukan bahwa API untuk titik akhir Apache Gremlin diaktifkan. Defaultnya adalah false. |
EnableTable |
SwitchParameter |
Menentukan bahwa API untuk titik akhir Tabel diaktifkan. Defaultnya adalah false. |
EnableSqlCompute |
SwitchParameter |
Menentukan bahwa API untuk titik akhir NoSQL diaktifkan. Defaultnya adalah false. |
EnablePreview |
SwitchParameter |
Memungkinkan fitur emulator yang dalam pratinjau dan tidak sepenuhnya matang untuk aktif secara default. |
FailOnSslCertificateNameMismatch |
SwitchParameter |
Secara default emulator meregenerasi sertifikat TLS/SSL yang ditandatangani sendiri, jika SAN sertifikat tidak menyertakan nama domain host emulator, alamat IP lokal (v4), localhost , dan 127.0.0.1 . Opsi ini menyebabkan emulator gagal saat startup. Anda kemudian harus menggunakan New-CosmosDbEmulatorCertificate opsi untuk membuat dan menginstal sertifikat TLS/SSL baru yang ditandatangani sendiri. |
GremlinPort |
UInt16 |
Nomor port yang akan digunakan untuk API untuk Apache Gremlin. Nomor port default adalah 8901 . |
TablePort |
UInt16 |
Nomor port yang akan digunakan untuk API untuk Tabel. Nomor port default adalah 8902 . |
SqlComputePort |
UInt16 |
Nomor port yang akan digunakan untuk API untuk NoSQL. Nomor port default adalah 8903 . |
Key |
String |
Kunci otorisasi untuk emulator. Nilai ini harus merupakan pengodean dasar 64 dari vektor 64 byte. |
MongoPort |
UInt16 |
Nomor port yang akan digunakan untuk API untuk MongoDB. Nomor port default adalah 10250 . |
MongoApiVersion |
String |
Menentukan versi mana yang akan digunakan untuk API untuk MongoDB. Versi defaultnya adalah 4.0 . |
NoFirewall |
SwitchParameter |
Menentukan bahwa tidak ada aturan port masuk yang harus ditambahkan ke firewall host emulator. |
NoTelemetry |
SwitchParameter |
Menentukan bahwa cmdlet tidak boleh mengumpulkan data untuk sesi emulator saat ini. |
NoUI |
SwitchParameter |
Menentukan bahwa cmdlet tidak boleh menyajikan antarmuka pengguna atau ikon bilah tugas. |
NoWait |
SwitchParameter |
Menentukan bahwa cmdlet harus kembali segera setelah emulator mulai dimulai. Secara default cmdlet menunggu hingga startup selesai dan emulator siap menerima permintaan sebelum kembali. |
PartitionCount |
UInt16 |
Jumlah total partisi yang dialokasikan oleh emulator. |
Port |
UInt16 |
Nomor port untuk Emulator Gateway Service dan Web UI. Nomor port default adalah 8081 . |
SimulateRateLimiting |
SwitchParameter |
|
Timeout |
UInt32 |
|
Trace |
SwitchParameter |
Contoh
Mulai emulator dan tunggu hingga siap untuk menerima permintaan.
Start-CosmosDbEmulator
Mulai emulator dengan 5 partisi yang dicadangkan untuk setiap koleksi yang dipartisi. Jumlah total partisi diatur ke default: 25. Oleh karena itu, jumlah total koleksi yang dipartisi yang dapat dibuat adalah
5 = 25 partitions / 5 partitions/collection
. Setiap koleksi yang dipartisi dibatasi di50 GB = 5 partitions * 10 GB / partiton
.@parameters = { DefaultPartitionCount = 5 } Start-CosmosDbEmulator @parameters
Memulai emulator dengan nomor port alternatif.
@parameters = { Port = 443 MongoPort = 27017 DirectPort = 20001,20002,20003,20004 } Start-CosmosDbEmulator @parameters
Stop-CosmosDbEmulator
Menghentikan emulator. Secara default, perintah ini menunggu hingga emulator sepenuhnya dimatikan. Gunakan opsi -NoWait, jika Anda ingin cmdlet kembali segera setelah mulai mematikan emulator.
Sintaks
Stop-CosmosDbEmulator
[[-AlternativeInstallLocation] <String>]
[-NoWait] [[-Timeout] <UInt32>] [-Trace]
[<CommonParameters>]
Parameter
Nama | Tipe | Deskripsi |
---|---|---|
AlternativeInstallLocation |
String |
|
Timeout |
UInt32 |
|
NoWait |
SwitchParameter |
Menentukan bahwa cmdlet harus kembali segera setelah pematian dimulai. |
Trace |
SwitchParameter |
Contoh
@parameters = {
NoWait = $true
}
Stop-CosmosDbEmulator @parameters
Uninstall-CosmosDbEmulator
Menghapus instalan emulator dan secara opsional menghapus konten $env:LOCALAPPDATA\CosmosDbEmulator
lengkap . Cmdlet memastikan emulator dihentikan sebelum menghapus instalasinya.
Sintaks
Uninstall-CosmosDbEmulator
[-RemoveData]
[<CommonParameters>]
Parameter
Nama | Tipe | Deskripsi |
---|---|---|
RemoveData |
SwitchParameter |
Menentukan bahwa cmdlet harus menghapus semua data setelah menghapus emulator. |
Contoh
@parameters = {
RemoveData = $false
}
Uninstall-CosmosDbEmulator @parameters
Mengubah jumlah kontainer default
Secara default, Anda dapat membuat hingga 25 kontainer ukuran tetap (hanya didukung menggunakan kit pengembangan perangkat lunak (SDK) Azure Cosmos DB, atau 5 kontainer tanpa batas menggunakan emulator. Dengan memodifikasi nilai PartitionCount , Anda dapat membuat hingga 250 kontainer ukuran tetap atau 50 kontainer tidak terbatas, atau kombinasi apa pun dari keduanya yang tidak melebihi 250 kontainer ukuran tetap (di mana satu kontainer tak terbatas = 5 kontainer ukuran tetap). Namun, kami tidak menyarankan Anda 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 menampilkan pengecualian ServiceUnavailable, dengan pesan berikut.
Sorry, we are currently experiencing high demand in this region, and cannot fulfill your request at this time. We work continuously to bring more and more capacity online, and encourage you to try again.
ActivityId: 12345678-1234-1234-1234-123456789abc
Untuk mengubah jumlah kontainer yang tersedia di emulator, jalankan langkah-langkah berikut:
Hapus semua data emulator lokal dengan mengklik kanan ikon emulator pada baki sistem, lalu klik Reset Data....
Hapus semua data emulator di folder
%LOCALAPPDATA%\CosmosDBEmulator
ini.Keluar dari semua instans terbuka dengan mengklik kanan ikon emulator pada baki sistem, lalu klik Keluar. Mungkin perlu waktu satu menit agar semua instans keluar.
Instal emulator versi terbaru.
Luncurkan emulator dengan flag PartitionCount dengan menetapkan nilai <= 250. Misalnya:
C:\Program Files\emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100
.