Azure Storage Emulator rodando no Mac / Linux

Azure Storage Emulator rodando no Mac / Linux

Ola pessoALL,

Com o dot.net core rodando em todas as plataformas tenho aproveitado para aprender novas skills, principalmente um novo sistema operacional.

Tenho usado bastante o macOS e preparando o ambiente senti falta de ter uma versão do Azure Storage Emulator para macOS e/ou linux.

Procurando na documentação descobri que eh possível usar o Storage Emulator com macOS ou mesmo para times em uma mesma rede.

Por não ser uma versão nativa vamos precisar de uma VM rodando windows (nesse exemplo usei o windows 10)

Configurando o Storage Explorer na VM

Apos instalar o storage explorer, por padrão o endereço de bind eh 127.0.0.1, para podermos utilizar no macOS vamos precisar mudar para o endereço IP de rede da VM.

  • No windows explorer acesse: C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator
  • Abra o arquivo AzureStorageEmulator.exe.config no notepad
  • Nas configurações de endereço troque os endereços 127.0.0.1 para o ip da VM.
    Emulator config
  • Reinicie o Azure Storage Explorer.

Pronto! Ja temos nosso Storage configurado para rodar no nosso macOS / linux.

Testando o acesso ao nosso Storage emulador local

Para testar que tudo esta funcionando criei um código simples usando .net core que manda uma mensagem para uma queue e lê essa mensagem de volta.
A connection string aceita especificarmos os endereços para cada endpoint, vamos utilizar isso para montarmos a connection string apontando para nossa VM. A connection ficara:

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://192.168.0.21:10000/devstoreaccount1;TableEndpoint=http://192.168.0.21:10002/devstoreaccount1;QueueEndpoint=http://192.168.0.21:10001/devstoreaccount1;"

Executando o código:

Codigo executado

O repositorio pode ser encontrado la no GitHub: https://github.com/rsantosdev/azure-storage-mac/

Espero que essa dica tenha sido útil para vocês. Ate a próxima pessoALL.