Condividi tramite


Eseguire il test in locale usando l'emulatore di bus di servizio di Azure

Questo articolo riepiloga i passaggi per sviluppare e testare localmente usando l'emulatore bus di servizio di Azure.

Prerequisiti

Nota

Prima di continuare con i passaggi descritti in questo articolo, assicurarsi che Docker Desktop sia operativo in background.

Eseguire l'emulatore

Per eseguire l'emulatore di bus di servizio, è possibile usare uno script automatizzato o un contenitore Linux:

Prima di eseguire uno script automatizzato, clonare il repository del programma di installazione GitHub dell'emulatore in locale.

Finestre

Per eseguire l'emulatore di bus di servizio in locale in Windows, seguire questa procedura:

  1. Consentire l'esecuzione di script non firmati eseguendo questo comando nella finestra di PowerShell:

    $>Start-Process powershell -Verb RunAs -ArgumentList 'Set-ExecutionPolicy Bypass –Scope CurrentUser'

  2. Eseguire lo script di installazione LaunchEmulator.ps1. L'esecuzione dello script genera due contenitori: l'emulatore bus di servizio e Sql Edge (una dipendenza per l'emulatore).

Linux e macOS

Per eseguire l'emulatore bus di servizio in locale in Linux o macOS:

  • Eseguire lo script di installazione LaunchEmulator.sh. L'esecuzione dello script genera due contenitori: l'emulatore bus di servizio e Sql Edge (una dipendenza per l'emulatore).

Dopo aver completato i passaggi, è possibile trovare i contenitori in esecuzione in Docker.

Screenshot che mostra l'emulatore bus di servizio in esecuzione in un contenitore.

Interagire con l'emulatore

Per impostazione predefinita, l'emulatore usa config.json file di configurazione. È possibile configurare le entità apportando modifiche al file di configurazione. Per altre informazioni, vedere Apportare modifiche alla configurazione

È possibile usare i stringa di connessione seguenti per connettersi all'emulatore di bus di servizio:

  • Quando il contenitore dell'emulatore e l'applicazione di interazione vengono eseguiti in modo nativo nel computer locale, usare i stringa di connessione seguenti:
"Endpoint=sb://localhost;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Le applicazioni (in contenitori o non in contenitori) nel computer diverso e nella stessa rete locale possono interagire con l'emulatore usando l'indirizzo IPv4 del computer. Usare i stringa di connessione seguenti:
"Endpoint=sb://192.168.y.z;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • I contenitori di applicazioni nella stessa rete bridge possono interagire con l'emulatore usando il relativo alias o IP. Di seguito stringa di connessione si presuppone che il nome del contenitore dell'emulatore sia "servicebus-emulator":
"Endpoint=sb://servicebus-emulator;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • I contenitori di applicazioni nella rete bridge diversa possono interagire con l'emulatore usando "host.docker.internal" come host. Usare i stringa di connessione seguenti:
"Endpoint=sb://host.docker.internal;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"

È possibile usare gli SDK client più recenti per interagire con l'emulatore di bus di servizio in vari linguaggi di programmazione. Per iniziare, vedere gli esempi di emulatori di bus di servizio in GitHub.

Panoramica dell'emulatore bus di servizio di Azure