Instalar e executar o emulador do Azurite

O uso do emulador do Azurite permite que os desenvolvedores acompanhem rapidamente o desenvolvimento de ferramentas e aplicativos baseados em nuvem sem a necessidade de conectividade com a Internet.

Este artigo fornece instruções para instalar e executar o Azurite, bem como configurá-lo para desenvolvimento local. Para obter mais informações sobre como usar o Azurite, consulte Usar o emulador do Azurite para desenvolvimento local do Armazenamento do Azure.

O Azurite substitui o Emulador de Armazenamento do Azure e continua a ser atualizado para dar suporte às versões mais recentes das APIs de Armazenamento do Azure.

Instalar o Azurite

O Azurite pode ser instalado e executado usando vários métodos, incluindo npm, Docker e Visual Studio Code. Este vídeo mostra como instalar e executar o emulador do Azurite.

As etapas no vídeo também são descritas nas seções a seguir. Selecione qualquer uma dessas guias para exibir instruções específicas relevantes para seu ambiente.

O Azurite está disponível automaticamente com o Visual Studio 2022. O executável do Azurite é atualizado como parte das novas versões do Visual Studio. Se você estiver executando uma versão anterior do Visual Studio, poderá instalar o Azurite usando o Gerenciador de Pacotes do Nó (npm), o DockerHub ou clonando o repositório GitHub do Azurite.

Executar o Azurite

Selecione qualquer uma das guias a seguir para exibir instruções específicas relevantes para seu ambiente.

Para usar o Azurite com a maioria dos tipos de projeto no Visual Studio, primeiro você precisa executar o executável do Azurite. Depois que o executável estiver em execução, o Azurite ouvirá as solicitações de conexão do aplicativo. Para saber mais, consulte a execução do Azurite na linha de comando.

Para projetos do Azure Functions e projetos de ASP.NET , você pode optar por configurar o projeto para iniciar o Azurite automaticamente. Essa configuração é feita durante a instalação do projeto. Embora essa configuração de projeto inicie o Azurite automaticamente, o Visual Studio não expõe opções detalhadas de configuração do Azurite. Para personalizar as opções detalhadas de configuração do Azurite, execute o executável do Azurite antes de iniciar o Visual Studio.

Para saber mais sobre como configurar projetos do Azure Functions e projetos ASP.NET para iniciar o Azurite automaticamente, consulte as seguintes diretrizes:

Local do arquivo executável do Azurite

A tabela a seguir mostra o local do executável do Azurite para versões diferentes do Visual Studio em execução em um computador Windows:

Versão do Visual Studio Localização do executável do Azurite
Comunidade Visual Studio 2022 C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator
Visual Studio Professional 2022 C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator
Visual Studio Enterprise 2022 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator

Executando o Azurite na linha de comando

Você pode encontrar o arquivo executável do Azurite na pasta de extensões da instalação do Visual Studio, conforme detalhado na tabela de localização do arquivo executável do Azurite.

Navegue até o local apropriado e inicie azurite.exe. Depois de executar o arquivo executável, o Azurite escuta conexões.

Para saber mais sobre as opções de linha de comando disponíveis para configurar o Azurite, consulte as opções de linha de comando.

Executando o Azurite de um projeto do Azure Functions

No Visual Studio 2022, crie um projeto do Azure Functions . Ao definir as opções de projeto, marque a caixa rotulada Use Azurite para a conta de armazenamento de runtime.

Uma captura de tela mostrando como definir o Azurite como sendo a conta de armazenamento de runtime de um projeto do Azure Functions.

Depois de criar o projeto, o Azurite é iniciado automaticamente. O local do arquivo executável do Azurite é detalhado na tabela de localização do arquivo executável do Azurite. A saída é semelhante à seguinte captura de tela:

Uma captura de tela mostrando a saída depois de definir o Azurite como a conta de armazenamento de runtime de um projeto do Azure Functions.

Essa opção de configuração pode ser alterada posteriormente modificando as dependências dos Serviços Conectados do projeto.

Executando o Azurite de um projeto de ASP.NET

No Visual Studio 2022, crie um projeto ASP.NET Core Web App . Em seguida, abra a caixa de diálogo Serviços Conectados , selecione Adicionar uma dependência de serviço e, em seguida, selecione Emulador do Azurite de Armazenamento.

Uma captura de tela mostrando como adicionar o Azurite como uma dependência a um projeto de ASP.NET.

Na caixa de diálogo Configurar o emulador do Azurite de Armazenamento, defina o campo Nome da cadeia de conexão como StorageConnectionString e, em seguida, selecione Concluir.

Uma captura de tela mostrando como configurar uma cadeia de conexão para usar o Azurite com um projeto ASP.NET.

Quando a configuração for concluída, selecione Fechar e o emulador do Azurite é iniciado automaticamente. O local do arquivo executável do Azurite é detalhado na tabela de localização do arquivo executável do Azurite. A saída é semelhante à seguinte captura de tela:

Uma captura de tela mostrando a saída depois de conectar um projeto ASP.NET ao emulador do Azurite.

Essa opção de configuração pode ser alterada posteriormente modificando as dependências dos Serviços Conectados do projeto.

Opções de linha de comando

Esta seção detalha as opções de linha de comando disponíveis ao iniciar o Azurite.

Help

Opcional - Obtenha ajuda na linha de comando usando a opção -h ou --help.

azurite -h
azurite --help

Host de escuta

Opcional – por padrão, o Azurite escuta 127.0.0.1 como o servidor local. Use a opção --blobHost para definir o endereço para seus requisitos.

Aceite solicitações somente no computador local:

azurite --blobHost 127.0.0.1

Permitir solicitações remotas:

azurite --blobHost 0.0.0.0

Cuidado

Permitir solicitações remotas pode tornar seu sistema vulnerável a ataques externos.

Configuração da porta de escuta

Opcional – por padrão, o Azurite escuta o serviço Blob na porta 10000. Use a opção --blobPort para especificar a porta de escuta necessária.

Observação

Depois de usar uma porta personalizada, você precisa atualizar a cadeia de conexão ou a configuração correspondente em suas ferramentas ou SDKs do Armazenamento do Azure.

Configure a porta de escuta do serviço Blob:

azurite --blobPort 8888

Permitir que o sistema selecione automaticamente uma porta disponível:

azurite --blobPort 0

A porta em uso é exibida durante a inicialização do Azurite.

Caminho do espaço de trabalho

Opcional – o Azurite armazena dados no disco local durante a execução. Use a opção -l ou --location para especificar um caminho como local do espaço de trabalho. Por padrão, o diretório de trabalho do processo atual é usado. Observe a letra minúscula 'l'.

azurite -l c:\azurite
azurite --location c:\azurite

Log de acesso

Opcional – por padrão, o log de acesso é exibido na janela do console. Desative a exibição do log de acesso usando a chave -s ou --silent.

azurite -s
azurite --silent

Log de depuração

Opcional - o log de depuração inclui informações detalhadas sobre cada solicitação e o rastreamento de pilha das exceções. Habilite o log de depuração fornecendo um caminho de arquivo local válido para a opção -d ou --debug.

azurite -d path/debug.log
azurite --debug path/debug.log

Modo flexível

Opcional – por padrão, o Azurite aplica o modo estrito para bloquear os cabeçalhos e parâmetros de solicitação sem suporte. Desabilite o modo estrito usando a opção -L ou --loose. Observe o "L" maiúscula.

azurite -L
azurite --loose

Versão

Opcional - Exibir o número da versão instalada do Azurite usando a opção -v ou --version.

azurite -v
azurite --version

Configuração de certificado (HTTPS)

Opcional – por padrão, o Azurite usa o protocolo HTTP. Habilite o modo HTTPS fornecendo um caminho para o arquivo do certificado Privacy Enhanced Mail (.pem) ou Personal Information Exchange (.pfx) na opção --cert. O HTTPS é necessário para se conectar ao Azurite usando a autenticação OAuth.

Quando --cert é fornecido para um arquivo PEM, você deve fornecer uma opção --key correspondente.

azurite --cert path/server.pem --key path/key.pem

Quando --cert é fornecido para um arquivo PFX, você deve fornecer uma opção --pwd correspondente.

azurite --cert path/server.pfx --pwd pfxpassword

Configuração de HTTPS

Para obter informações detalhadas sobre como gerar arquivos PEM e PFX, consulte a Instalação de HTTPS.

Configuração do OAuth

Opcional – habilite a autenticação OAuth para o Azurite usando a opção --oauth .

azurite --oauth basic --cert path/server.pem --key path/key.pem

Observação

O OAuth requer um endpoint HTTPS. Certifique-se de que o HTTPS esteja habilitado usando a opção --cert junto com a opção --oauth.

O Azurite dá suporte à autenticação básica ao especificar o parâmetro basic na opção --oauth. O Azurite faz a autenticação básica, como validar o token de portador de entrada, verificar o emissor, o público-alvo e a expiração. O Azurite não verifica a assinatura ou as permissões do token. Para saber mais sobre autorização, consulte Conectar-se ao Azurite com SDKs e ferramentas.

Ignorar verificação de versão da API

Opcional – Ao iniciar, o Azurite verifica se a versão da API solicitada é válida. O comando a seguir ignora a verificação de versão da API:

azurite --skipApiVersionCheck

Desabilitar URL de estilo de produção

Opcional. Quando você usa o nome de domínio totalmente qualificado em vez do endereço IP no host da URI da solicitação, o Azurite analisa o nome da conta de armazenamento a partir do host da URI da solicitação por padrão. Você pode forçar a análise do nome da conta de armazenamento no caminho do URI de solicitação usando --disableProductStyleUrl:

azurite --disableProductStyleUrl

Persistência na memória

Opcional. Por padrão, os metadados de blobs e filas são persistidos em disco, e o conteúdo é persistido em arquivos de extensão. O armazenamento de tabelas persiste todos os dados em disco. Você pode desabilitar a persistência de todos os dados no disco e armazenar apenas dados na memória. No cenário de persistência na memória, se o processo do Azurite for encerrado, todos os dados serão perdidos. O comportamento de persistência padrão pode ser substituído usando a seguinte opção:

azurite --inMemoryPersistence

Essa configuração é rejeitada quando a implementação de metadados baseada em SQL está habilitada (via AZURITE_DB) ou quando a opção --location é especificada.

Limite da memória de extensão

Opcional. Por padrão, o repositório de extensão na memória (para o conteúdo de blob e de fila) é limitado a 50% da memória total no computador host. O total é avaliado usando os.totalmem(). Esse limite pode ser substituído usando a seguinte opção:

azurite --extentMemoryLimit <megabytes>

Não há nenhuma restrição sobre o valor especificado para essa opção. No entanto, a memória virtual poderá ser usada se o limite exceder a quantidade de memória física disponível, conforme fornecido pelo sistema operacional. Um limite alto pode eventualmente levar a erros de memória insuficientes ou a um desempenho reduzido. Essa opção é rejeitada quando --inMemoryPersistence não é especificada.

Para saber mais, confira Usar o armazenamento na memória.

Desabilitar a coleção de telemetria

Opcional. Por padrão, o Azurite coleta dados de telemetria para ajudar a melhorar o produto. Use a opção --disableTelemetry para desabilitar a coleta de dados de telemetria para a execução atual do Azurite, como o seguinte comando:

azurite --disableTelemetry

Próximas etapas