Instalar e executar o emulador Azurite

O uso do emulador Azurite permite que os desenvolvedores acelerem o desenvolvimento de aplicativos e ferramentas 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 Azurite para o 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 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 de Nó (npm), o DockerHub ou clonando o repositório do Azurite GitHub.

Executar 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. Quando o executável estiver em execução, o Azurite escuta as solicitações de conexão do aplicativo. Para saber mais, consulte Executando o Azurite a partir da linha de comando.

Para projetos do Funções do Azure e projetos ASP.NET , você pode optar por configurar o projeto para iniciar o Azurite automaticamente. Essa configuração é feita durante a configuraçã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 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 Funções do Azure e ASP.NET projetos para iniciar o Azurite automaticamente, consulte as seguintes orientações:

Localização do ficheiro executável Azurite

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

Versão do Visual Studio Localização executável do Azurite
Comunidade do 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 a partir da 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 local do arquivo executável do Azurite.

Navegue até ao local adequado e inicie azurite.exe. Depois de executar o ficheiro executável, o Azurite escuta as ligações.

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

Executando o Azurite a partir de um projeto do Funções do Azure

No Visual Studio 2022, crie um projeto do Funções do Azure . Ao definir as opções do projeto, marque a caixa Usar Azurite para conta de armazenamento em tempo de execução.

Uma captura de tela mostrando como definir o Azurite como a conta de armazenamento de tempo de execução para um projeto do Funções do Azure.

Depois de criar o projeto, o Azurite é iniciado automaticamente. O local do arquivo executável do Azurite é detalhado na tabela de local 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 tempo de execução para um projeto do Funções do Azure.

Essa opção de configuração pode ser alterada posteriormente modificando as dependências do Connected Services do projeto.

Executando o Azurite a partir de um projeto ASP.NET

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

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

Na caixa de diálogo Configurar emulador de Azurite de Armazenamento , defina o campo Nome da cadeia de conexão como StorageConnectionStringe 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 será iniciado automaticamente. O local do arquivo executável do Azurite é detalhado na tabela de local 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 Azurite.

Essa opção de configuração pode ser alterada posteriormente modificando as dependências do Connected Services 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 da linha de comandos utilizando a opção -h ou --help.

azurite -h
azurite --help

Anfitrião ouvinte

Opcional - Por padrão, o Azurite escuta 127.0.0.1 como o servidor local. Use o --blobHost switch para definir o endereço de acordo com suas necessidades.

Aceite solicitações somente na máquina local:

azurite --blobHost 127.0.0.1

Permitir solicitações remotas:

azurite --blobHost 0.0.0.0

Atenção

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. Utilize o parâmetro --blobPort para especificar a porta de escuta pretendida.

Observação

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

Configure a porta de escuta do serviço Blob:

azurite --blobPort 8888

Deixe o sistema selecionar 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. Utilize a opção -l ou --location para especificar um caminho como localização da área de trabalho. Por padrão, o diretório de trabalho do processo atual é usado. Observe o 'l' minúsculo.

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

Registo de acesso

Opcional - Por padrão, o log de acesso é exibido na janela do console. Desative a apresentação do registo de acesso utilizando a opção -s ou --silent.

azurite -s
azurite --silent

Registo de depuração

Opcional - O log de depuração inclui informações detalhadas sobre cada solicitação e rastreamento de pilha de exceções. Ative o registo de depuração fornecendo um caminho de ficheiro local válido à opção -d ou --debug.

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

Modo solto

Opcional - Por padrão, o Azurite aplica o modo estrito para bloquear cabeçalhos e parâmetros de solicitação não suportados. Desative o modo estrito com a opção -L ou --loose. Assinale o «L» maiúsculo.

azurite -L
azurite --loose

Versão

Opcional - Apresente o número da versão instalada do Azurite utilizando as opções -v ou --version.

azurite -v
azurite --version

Configuração de certificado (HTTPS)

Opcional - Por padrão, o Azurite usa o protocolo HTTP. Você pode habilitar o modo HTTPS fornecendo um caminho para um arquivo de certificado Privacy Enhanced Mail (.pem) ou Personal Information Exchange (.pfx) para o --cert switch. 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 correspondente --key .

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

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

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

Configuração HTTPS

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

Configuração OAuth

Opcional - Habilite a autenticação OAuth para Azurite usando o --oauth switch.

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

Observação

O OAuth requer uma extremidade HTTPS. Certifique-se de que o HTTPS está ativado utilizando a opção --cert juntamente com a opção --oauth.

O Azurite suporta autenticação básica ao especificar o parâmetro basic no comutador --oauth. O Azurite executa a autenticação básica, como validar o token de portador de entrada, verificar o emissor, o público e a validade. 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, a 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

Desativar URL de estilo de produção

Opcional. Quando utiliza o nome de domínio totalmente qualificado em vez do IP no host do URI do pedido, o Azurite extrai, por predefinição, o nome da conta de armazenamento a partir do host do URI do pedido. Pode forçar a análise sintática do nome da conta de armazenamento a partir do caminho do URI do pedido utilizando --disableProductStyleUrl:

azurite --disableProductStyleUrl

Persistência na memória

Opcional. Por predefinição, os metadados de blobs e filas são persistidos em disco e o conteúdo é persistido em ficheiros de extensão. O armazenamento de tabelas persiste todos os dados no disco. Você pode desativar a persistência de quaisquer dados no disco e armazenar apenas os dados na memória. No cenário de persistência na memória, se o processo 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 é habilitada (via AZURITE_DB) ou quando a --location opção é especificada.

Limite de memória de extensão

Opcional. Por predefinição, o arquivo de extensões em memória (para conteúdo de blobs e filas) está limitado a 50% da memória total no computador anfitrião. O total é avaliado utilizando os.totalmem(). Esse limite pode ser substituído usando a seguinte opção:

azurite --extentMemoryLimit <megabytes>

Não há restrição quanto ao valor especificado para essa opção. No entanto, a memória virtual pode 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 falta de memória ou desempenho reduzido. Esta opção é rejeitada quando --inMemoryPersistence não é especificada.

Para saber mais, consulte Usar armazenamento na memória.

Desabilitar a coleta de telemetria

Opcional. Por predefinição, a Azurite recolhe dados de telemetria para ajudar a melhorar o produto. Utilize a opção --disableTelemetry para desativar a recolha de dados de telemetria para a execução atual do Azurite, como no comando seguinte:

azurite --disableTelemetry

Próximos passos