Referência de linha de comando e PowerShell para emulador do Windows (local)
APLICA-SE A: NoSQL MongoDB Cassandra Gremlin Tabela
O emulador do Azure Cosmos DB fornece um ambiente local que emula o serviço Azure Cosmos DB para fins de desenvolvimento local. Depois de instalar o emulador, você pode controlar o emulador com comandos de linha de comando e PowerShell. Este artigo descreve como usar a linha de comando e os comandos do PowerShell para iniciar e parar o emulador, configurar opções e executar outras operações. Você tem que executar os comandos a partir do local de instalação.
Importante
Este artigo inclui apenas argumentos de linha de comando para o emulador local do Windows.
Gerenciar o emulador com sintaxe de linha de comando
Microsoft.Azure.Cosmos.Emulator.exe
[/Shutdown] [/DataPath] [/Port] [/MongoPort]
[/DirectPorts] [/Key] [/EnableRateLimiting]
[/DisableRateLimiting] [/NoUI] [/NoExplorer]
[/EnableMongoDbEndpoint]
[/?]
Para exibir a lista de parâmetros, digite Microsoft.Azure.Cosmos.Emulator.exe /?
no prompt de comando.
Parâmetro | Description | Comando de exemplo |
---|---|---|
[Sem argumentos] | Inicia o emulador com as configurações padrão. | Microsoft.Azure.Cosmos.Emulator.exe |
[Ajuda] | Mostra a lista dos argumentos da linha de comandos suportados. | Microsoft.Azure.Cosmos.Emulator.exe /? |
GetStatus |
Obtém o status do emulador. Cada código de saída indica um status: 1 = Iniciando,2 = Executando e = 3 Parado. Um código de saída negativo indica que ocorreu um erro. Não é produzido outro resultado. |
Microsoft.Azure.Cosmos.Emulator.exe /GetStatus |
Shutdown |
Desliga o emulador. | Microsoft.Azure.Cosmos.Emulator.exe /Shutdown |
DataPath |
Especifica o caminho onde pretende armazenar os ficheiros de dados. O valor predefinido é %LocalAppdata%\CosmosDBEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /DataPath=E:\SomeDataFolder |
Port |
Especifica o número de porta a utilizar para o emulador. O valor predefinido é 8081 . |
Microsoft.Azure.Cosmos.Emulator.exe /Port=65000 |
ComputePort |
Especifica o número da porta a ser usado para o serviço de gateway de interoperabilidade de computação. A porta de teste de ponto de extremidade HTTP do gateway é calculada como ComputePort + 79 . Por isso, ComputePort e ComputePort + 79 deve estar aberto e disponível. O valor predefinido é 8900 . |
Microsoft.Azure.Cosmos.Emulator.exe /ComputePort=65100 |
EnableMongoDbEndpoint=3.2 |
Habilita a API para o MongoDB versão 3.2. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.2 |
EnableMongoDbEndpoint=3.6 |
Habilita a API para o MongoDB versão 3.6. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.6 |
EnableMongoDbEndpoint=4.0 |
Habilita a API para o MongoDB versão 4.0. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=4.0 |
MongoPort |
Especifica o número da porta a ser usado para a API do MongoDB. O valor predefinido é 10255 . |
Microsoft.Azure.Cosmos.Emulator.exe /MongoPort=65200 |
EnableCassandraEndpoint |
Habilita a API para Apache Cassandra. | Microsoft.Azure.Cosmos.Emulator.exe /EnableCassandraEndpoint |
CassandraPort |
Especifica o número da porta a ser usado para a API do ponto de extremidade Cassandra. O valor predefinido é 10350 . |
Microsoft.Azure.Cosmos.Emulator.exe /CassandraPort=65300 |
EnableGremlinEndpoint |
Habilita a API para Apache Gremlin. | Microsoft.Azure.Cosmos.Emulator.exe /EnableGremlinEndpoint |
GremlinPort |
Número da porta a ser usada para a API do Apache Gremlin Endpoint. O valor predefinido é 8901 . |
Microsoft.Azure.Cosmos.Emulator.exe /GremlinPort=65400 |
EnableTableEndpoint |
Habilita a API para tabela. | Microsoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint |
TablePort |
Número da porta a ser usada para a API do ponto de extremidade da tabela. O valor predefinido é 8902 . |
Microsoft.Azure.Cosmos.Emulator.exe /TablePort=65500 |
KeyFile |
Leia a chave de autorização do arquivo especificado. Use a /GenKeyFile opção para gerar um arquivo de chave. |
Microsoft.Azure.Cosmos.Emulator.exe /KeyFile=D:\Keys\keyfile |
ResetDataPath |
Remove recursivamente todos os arquivos no caminho especificado. Se você não especificar um caminho, o padrão será %LOCALAPPDATA%\CosmosDbEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /ResetDataPath |
StartTraces |
Comece a coletar logs de rastreamento de depuração usando LOGMAN. | Microsoft.Azure.Cosmos.Emulator.exe /StartTraces |
StopTraces |
Pare de coletar logs de rastreamento de depuração usando LOGMAN. | Microsoft.Azure.Cosmos.Emulator.exe /StopTraces |
StartWprTraces |
Comece a coletar logs de rastreamento de depuração usando a ferramenta Gravação de Desempenho do Windows. | Microsoft.Azure.Cosmos.Emulator.exe /StartWprTraces |
StopWprTraces |
Pare de coletar logs de rastreamento de depuração usando a ferramenta Gravação de Desempenho do Windows. | Microsoft.Azure.Cosmos.Emulator.exe /StopWprTraces |
FailOnSslCertificateNameMismatch |
Por padrão, o emulador regenera seu certificado TLS/SSL autoassinado, se a SAN do certificado não incluir o nome de domínio do host do emulador, o endereço IP local (v4) localhost e 127.0.0.1 o . Com essa opção, o emulador falha na inicialização. Em seguida, você deve usar a /GenCert opção para criar e instalar um novo certificado TLS/SSL autoassinado. |
Microsoft.Azure.Cosmos.Emulator.exe /FailOnSslCertificateNameMismatch |
GenCert |
Gere e instale um novo certificado TLS/SSL autoassinado. opcionalmente, incluindo uma lista separada por vírgulas de nomes DNS (Sistema de Nomes de Domínio) extras para acessar o emulador pela rede. | Microsoft.Azure.Cosmos.Emulator.exe /GenCert |
DirectPorts |
Especifica as portas a utilizar para conectividade direta. Os padrões são 10251 , 10252 , 10253 e 10254 . |
Microsoft.Azure.Cosmos.Emulator.exe /DirectPorts:65600,65700 |
Key |
Chave de autorização para o emulador. A chave tem de ser a codificação base 64 de um vetor de 64 bytes. | Microsoft.Azure.Cosmos.Emulator.exe /Key:D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA== |
EnableRateLimiting |
Especifica que o comportamento de limitação da taxa de pedidos está ativado. | Microsoft.Azure.Cosmos.Emulator.exe /EnableRateLimiting |
DisableRateLimiting |
Especifica que o comportamento de limitação da taxa de pedidos está desativado. | Microsoft.Azure.Cosmos.Emulator.exe /DisableRateLimiting |
NoUI |
Não mostre a interface do usuário do emulador. | Microsoft.Azure.Cosmos.Emulator.exe /NoUI |
NoExplorer |
Não mostrar o explorador de dados no arranque. | Microsoft.Azure.Cosmos.Emulator.exe /NoExplorer |
PartitionCount |
Especifica o número máximo de contêineres particionados. Para obter mais informações, consulte alterar o número de contêineres. O valor predefinido é 25 . O máximo permitido é 250 . |
Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=15 |
DefaultPartitionCount |
Especifica o número padrão de partições para um contêiner particionado. O valor predefinido é 25 . |
Microsoft.Azure.Cosmos.Emulator.exe /DefaultPartitionCount=50 |
AllowNetworkAccess |
Permite o acesso ao emulador através de uma rede. Você também deve passar /Key=<key_string> ou /KeyFile=<file_name> para habilitar o acesso à rede. |
Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA== |
NoFirewall |
Não ajuste as regras de firewall quando /AllowNetworkAccess a opção for usada. |
Microsoft.Azure.Cosmos.Emulator.exe /NoFirewall |
GenKeyFile |
Gerar uma nova chave de autorização e guardá-la no ficheiro especificado. A chave gerada pode ser usada com as /Key opções ou /KeyFile . |
Microsoft.Azure.Cosmos.Emulator.exe /GenKeyFile=D:\Keys\keyfile |
Consistency |
Defina o nível de consistência predefinida para a conta. O valor padrão é Session. | Microsoft.Azure.Cosmos.Emulator.exe /Consistency=Strong |
? |
Mostrar a mensagem de ajuda. |
Gerenciar o emulador com cmdlets do PowerShell
O emulador vem com um módulo do PowerShell para iniciar, parar, desinstalar e recuperar o status do serviço. Execute o seguinte cmdlet para usar o módulo PowerShell:
Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"
Ou coloque o PSModules
diretório no seu PSModulePath
e importe-o como mostrado no seguinte comando:
$env:PSModulePath += ";$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules"
Import-Module Microsoft.Azure.CosmosDB.Emulator
Aqui está um resumo dos comandos para controlar o emulador do PowerShell:
Get-CosmosDbEmulatorStatus
Obtém o status do emulador. Devolve um destes ServiceControllerStatus
valores:
ServiceControllerStatus.StartPending
ServiceControllerStatus.Running
ServiceControllerStatus.Stopped
Se for encontrado um erro, nenhum valor será retornado.
Sintaxe
Get-CosmosDbEmulatorStatus
[[-AlternativeInstallLocation] <String>]
[<CommonParameters>]
Parâmetros
Nome | Tipo | Description |
---|---|---|
AlternativeInstallLocation |
String |
Exemplos
Obtenha o status de um emulador instalado na
D:\SomeFolder\AzureCosmosDBEmulator
pasta.@parameters = { AlternativeInstallLocation = "D:\SomeFolder\AzureCosmosDBEmulator" } Get-CosmosDbEmulatorStatus @parameters
Start-CosmosDbEmulator
Inicia o emulador no computador local. Por predefinição, o comando aguarda até que o emulador esteja pronto para aceitar pedidos. Use a -NoWait
opção, se desejar que o cmdlet retorne assim que iniciar o emulador. Use os parâmetros de para especificar opções, como a porta NoSQL, a porta direta e os números de porta MongoDB Start-CosmosDbEmulator
.
Sintaxe
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>]
Parâmetros
Nome | Tipo | Description |
---|---|---|
AllowNetworkAccess |
SwitchParameter |
Permite o acesso a partir de todos os endereços IP atribuídos ao host do emulador. Você também deve especificar um valor para Key ou KeyFile para permitir o acesso à rede. |
AlternativeInstallLocation |
String |
Caminho de local alternativo para o executável do emulador. |
CassandraPort |
UInt16 |
Número da porta a ser usado para a API para Cassandra. A porta padrão é 10350 . |
ComputePort |
UInt16 |
Porta a ser usada para o serviço de gateway de interoperabilidade de computação. A porta de teste de ponto de extremidade HTTP do gateway é calculada como ComputePort + 79 . Por isso, ComputePort e ComputePort + 79 deve estar aberto e disponível. As portas padrão são 8900 , 8979 . |
Consistency |
String |
Define o nível de consistência padrão para o emulador como Session, Strong, Eventual, ou BoundedStaleness. O nível padrão é Session. |
Credential |
PSCredential |
Especifica uma conta de usuário que tem permissão para executar essa ação. Use um nome de usuário, como User01 ou Domain01\User01 , ou insira um PSCredential objeto, como um do Get-Credential cmdlet. Por padrão, o cmdlet usa as credenciais do usuário atual. |
DataPath |
String |
Caminho para armazenar arquivos de dados. O local padrão para arquivos de dados é $env:LocalAppData\CosmosDbEmulator . |
DefaultPartitionCount |
UInt16 |
O número de partições a serem reservadas por coleção particionada. O padrão é 25, que é o mesmo que o valor padrão da contagem total de partições. |
DirectPort |
UInt16 |
Uma lista de quatro portas a serem usadas para conectividade direta com o back-end do emulador. A lista padrão é 10251 , 10252 , 10253 e 10254 . |
EnableMongoDb |
SwitchParameter |
Especifica que a API para o ponto de extremidade MongoDB está habilitada. O padrão é false. |
EnableCassandra |
SwitchParameter |
Especifica que a API para o ponto de extremidade Apache Cassandra está habilitada. O padrão é false. |
EnableGremlin |
SwitchParameter |
Especifica que a API para o ponto de extremidade Apache Gremlin está habilitada. O padrão é false. |
EnableTable |
SwitchParameter |
Especifica que a API para o ponto de extremidade Table está habilitada. O padrão é false. |
EnableSqlCompute |
SwitchParameter |
Especifica que a API para ponto de extremidade NoSQL está habilitada. O padrão é false. |
EnablePreview |
SwitchParameter |
Permite que os recursos do emulador que estão em visualização e não estão totalmente amadurecidos estejam ativados por padrão. |
FailOnSslCertificateNameMismatch |
SwitchParameter |
Por padrão, o emulador regenera seu certificado TLS/SSL autoassinado, se a SAN do certificado não incluir o nome de domínio do host do emulador, o endereço IP local (v4) localhost e 127.0.0.1 o . Essa opção faz com que o emulador falhe na inicialização. Em seguida, você deve usar a New-CosmosDbEmulatorCertificate opção para criar e instalar um novo certificado TLS/SSL autoassinado. |
GremlinPort |
UInt16 |
Número da porta a ser usada para a API do Apache Gremlin. O número de porta padrão é 8901 . |
TablePort |
UInt16 |
Número da porta a ser usada para a API para Tabela. O número de porta padrão é 8902 . |
SqlComputePort |
UInt16 |
Número da porta a ser usada para a API para NoSQL. O número de porta padrão é 8903 . |
Key |
String |
Chave de autorização para o emulador. Esse valor deve ser a codificação base 64 de um vetor de 64 bytes. |
MongoPort |
UInt16 |
Número da porta a ser usada para a API do MongoDB. O número de porta padrão é 10250 . |
MongoApiVersion |
String |
Especifica qual versão usar para a API do MongoDB. A versão padrão é 4.0 . |
NoFirewall |
SwitchParameter |
Especifica que nenhuma regra de porta de entrada deve ser adicionada ao firewall do host do emulador. |
NoTelemetry |
SwitchParameter |
Especifica que o cmdlet não deve coletar dados para a sessão atual do emulador. |
NoUI |
SwitchParameter |
Especifica que o cmdlet não deve apresentar a interface do usuário ou o ícone da barra de tarefas. |
NoWait |
SwitchParameter |
Especifica que o cmdlet deve retornar assim que o emulador começar a iniciar. Por padrão, o cmdlet aguarda até que a inicialização seja concluída e o emulador esteja pronto para receber solicitações antes de retornar. |
PartitionCount |
UInt16 |
O número total de partições alocadas pelo emulador. |
Port |
UInt16 |
Número da porta para o Serviço de Gateway do emulador e a interface do usuário da Web. O número de porta padrão é 8081 . |
SimulateRateLimiting |
SwitchParameter |
|
Timeout |
UInt32 |
|
Trace |
SwitchParameter |
Exemplos
Inicie o emulador e aguarde até que ele esteja pronto para aceitar solicitações.
Start-CosmosDbEmulator
Inicie o emulador com 5 partições reservadas para cada coleção particionada. O número total de partições é definido como padrão: 25. Assim, o número total de coleções particionadas que podem ser criadas é
5 = 25 partitions / 5 partitions/collection
. Cada coleção particionada é limitada a50 GB = 5 partitions * 10 GB / partiton
.@parameters = { DefaultPartitionCount = 5 } Start-CosmosDbEmulator @parameters
Inicia o emulador com números de porta alternativos.
@parameters = { Port = 443 MongoPort = 27017 DirectPort = 20001,20002,20003,20004 } Start-CosmosDbEmulator @parameters
Stop-CosmosDbEmulator
Para o emulador. Por predefinição, este comando aguarda até que o emulador seja totalmente encerrado. Utilize a opção -NoWait, se quiser que o cmdlet seja devolvido assim que o emulador começar a encerrar.
Sintaxe
Stop-CosmosDbEmulator
[[-AlternativeInstallLocation] <String>]
[-NoWait] [[-Timeout] <UInt32>] [-Trace]
[<CommonParameters>]
Parâmetros
Nome | Tipo | Description |
---|---|---|
AlternativeInstallLocation |
String |
|
Timeout |
UInt32 |
|
NoWait |
SwitchParameter |
Especifica que o cmdlet deve retornar assim que o desligamento começar. |
Trace |
SwitchParameter |
Exemplos
@parameters = {
NoWait = $true
}
Stop-CosmosDbEmulator @parameters
Uninstall-CosmosDbEmulator
Desinstala o emulador e, opcionalmente, remove todo o conteúdo do $env:LOCALAPPDATA\CosmosDbEmulator
. O cmdlet assegura que o emulador está parado antes de desinstalá-lo.
Sintaxe
Uninstall-CosmosDbEmulator
[-RemoveData]
[<CommonParameters>]
Parâmetros
Nome | Tipo | Description |
---|---|---|
RemoveData |
SwitchParameter |
Especifica que o cmdlet deve excluir todos os dados depois de remover o emulador. |
Exemplos
@parameters = {
RemoveData = $false
}
Uninstall-CosmosDbEmulator @parameters
Alterar o número de contêineres padrão
Por padrão, você pode criar até 25 contêineres de tamanho fixo (com suporte apenas usando SDKs (kits de desenvolvimento de software) do Azure Cosmos DB) ou 5 contêineres ilimitados usando o emulador. Ao modificar o valor PartitionCount, você pode criar até 250 contêineres de tamanho fixo ou 50 contêineres ilimitados, ou qualquer combinação dos dois que não exceda 250 contêineres de tamanho fixo (onde um contêiner ilimitado = 5 contêineres de tamanho fixo). No entanto, não recomendamos que você configure o emulador para ser executado com mais de 200 contêineres de tamanho fixo. Devido à sobrecarga que ele adiciona às operações de E/S do disco, que resultam em tempos limite imprevisíveis ao usar as APIs de ponto de extremidade.
Se você tentar criar um contêiner depois que a contagem de partições atual for excedida, o emulador lançará uma exceção ServiceUnavailable, com a seguinte mensagem.
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
Para alterar o número de contêineres disponíveis no emulador, execute as seguintes etapas:
Exclua todos os dados do emulador local clicando com o botão direito do mouse no ícone do emulador na bandeja do sistema e clicando em Redefinir dados....
Exclua todos os dados do emulador nesta pasta
%LOCALAPPDATA%\CosmosDBEmulator
.Saia de todas as instâncias abertas clicando com o botão direito do mouse no ícone do emulador na bandeja do sistema e clicando em Sair. Pode levar um minuto para que todas as instâncias saiam.
Instale a versão mais recente do emulador.
Inicie o emulador com o sinalizador PartitionCount definindo um valor <= 250. Por exemplo:
C:\Program Files\emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100
.