Condividi tramite


Creare un hub di notifica di Azure con l'interfaccia della riga di comando di Azure

Hub di notifica di Azure offre un motore di push di facile uso e con scalabilità orizzontale che consente di inviare notifiche a qualsiasi piattaforma (iOS, Android, Windows, Kindle, Baidu e così via) da qualsiasi back-end (cloud o locale). Per altre informazioni sul servizio, vedere Informazioni su Hub di notifica.

In questo argomento di avvio rapido viene creato un hub di notifica con l'interfaccia della riga di comando di Azure. La prima sezione descrive la procedura per creare uno spazio dei nomi di Hub di notifica. La seconda sezione descrive i passaggi per creare un hub di notifica in uno spazio dei nomi esistente. Si apprenderà inoltre come creare criteri di accesso personalizzati.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Prerequisiti

Importante

Per Hub di notifica è necessaria la versione 2.0.67 o successiva dell'interfaccia della riga di comando di Azure. Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.

Creare un gruppo di risorse

L'infrastruttura Hub di notifica di Azure, analogamente a tutte le risorse di Azure, deve essere distribuita in un gruppo di risorse. I gruppi di risorse consentono di organizzare e gestire le risorse di Azure correlate. Per altre informazioni sui gruppi di risorse, vedere Informazioni su Azure Resource Manager.

Per questo argomento di avvio rapido, creare un gruppo di risorse denominato spnhubrg nell'area eastus con il comando az group create seguente.

az group create --name spnhubrg --location eastus

Creare uno spazio dei nomi per Hub di notifica

  1. Creare uno spazio dei nomi per gli hub di notifica.

    Uno spazio dei nomi contiene uno o più hub e il nome deve essere univoco in tutte le sottoscrizioni di Azure e deve contenere almeno sei caratteri. Per verificare la disponibilità di un nome, usare il comando az notification-hub namespace check-availability.

    az notification-hub namespace check-availability --name spnhubns
    

    L'interfaccia della riga di comando di Azure risponde alla richiesta di disponibilità mostrando l'output della console seguente:

    {
    "id": "/subscriptions/yourSubscriptionID/providers/Microsoft.NotificationHubs/checkNamespaceAvailability",
    "isAvailable": true,
    "location": null,
    "name": "spnhubns",
    "properties": false,
    "sku": null,
    "tags": null,
    "type": "Microsoft.NotificationHubs/namespaces/checkNamespaceAvailability"
    }
    

    Si noti la seconda riga nella risposta dell'interfaccia della riga di comando di Azure, "isAvailable": true. Questa riga corrisponde a false se il nome specificato per lo spazio dei nomi è disponibile. Dopo avere confermato la disponibilità del nome, eseguire il comando az notification-hub namespace create per creare lo spazio dei nomi.

    az notification-hub namespace create --resource-group spnhubrg --name spnhubns  --location eastus --sku Free
    

    Se il valore --name fornito al comando az notification-hub namespace create non è disponibile o non rispetta le regole di denominazione e restrizioni per le risorse di Azure, l'interfaccia della riga di comando di Azure risponde con l'output della console seguente:

    #the name is not available
    The specified name is not available. For more information visit https://aka.ms/eventhubsarmexceptions.
    
    #the name is invalid
    The specified service namespace is invalid.
    

    Se il nome specificato al primo tentativo ha esito negativo, selezionare un nome diverso per lo spazio dei nomi e ripetere l'esecuzione del comando az notification-hub namespace create.

    Nota

    A partire da questo passaggio è necessario sostituire il valore del parametro --namespace in ogni comando dell'interfaccia della riga di comando di Azure copiato da questa guida di avvio rapido.

  2. Ottenere un elenco di spazi dei nomi.

    Per visualizzare informazioni dettagliate sul nuovo spazio dei nomi, usare il comando az notification-hub namespace list. Il parametro --resource-group è facoltativo se si vogliono visualizzare tutti gli spazi dei nomi per una sottoscrizione.

    az notification-hub namespace list --resource-group spnhubrg
    

Creare gli hub di notifica

  1. Creare il primo hub di notifica.

    È ora possibile creare uno o più hub di notifica nel nuovo spazio dei nomi. Eseguire il comando az notification-hub create per creare un hub di notifica.

    az notification-hub create --resource-group spnhubrg --namespace-name spnhubns --name spfcmtutorial1nhub --location eastus
    
  2. Creare un secondo hub di notifica.

    In un singolo spazio dei nomi è possibile creare più hub di notifica. Per creare un secondo hub di notifica nello stesso spazio dei nomi, eseguire di nuovo il comando az notification-hub create usando un nome di hub diverso.

    az notification-hub create --resource-group spnhubrg --namespace-name spnhubns --name mysecondnhub --location eastus 
    
  3. Ottenere un elenco di hub di notifica.

    L'interfaccia della riga di comando di Azure restituisce un messaggio di esito positivo o di errore con ogni comando eseguito. Risulta comunque utile potere eseguire una query per ottenere un elenco di hub di notifica. Il comando az notification-hub list è stato progettato per questa finalità.

    az notification-hub list --resource-group spnhubrg --namespace-name spnhubns --output table
    

Gestire i criteri di accesso

  1. Hub di notifica di Azure usa la sicurezza basata su firma di accesso condiviso tramite i criteri di accesso. Quando si crea un hub di notifica, vengono creati automaticamente due criteri. Le stringhe di connessione da questi criteri sono necessarie per configurare le notifiche push. Il comando az notification-hub authorization-rule list fornisce un elenco di nomi di criteri e dei rispettivi gruppi di risorse.

    az notification-hub authorization-rule list --resource-group spnhubrg --namespace-name spnhubns --notification-hub-name spfcmtutorial1nhub --output table
    

    Importante

    Non usare il criterio DefaultFullSharedAccessSignature nell'applicazione. Questo criterio deve essere usato solo nel back-end. Nell'applicazione client usare solo i criteri di accesso Listen.

  2. Se si vogliono creare regole di autorizzazione aggiuntive con nomi significativi, è possibile creare e configurare criteri di accesso personalizzati usando il comando az notification-hub authorization-rule create. Il parametro --rights è un elenco delimitato da spazi delle autorizzazioni da assegnare.

    az notification-hub authorization-rule create --resource-group spnhubrg --namespace-name spnhubns --notification-hub-name spfcmtutorial1nhub --name spnhub1key --rights Listen Manage Send
    
  3. Per ogni criterio di accesso esistono due set di chiavi e stringhe di connessione. Saranno necessarie in seguito per configurare un hub di notifica. Per elencare le chiavi e le stringhe di connessione per i criteri di accesso di Hub di notifica, usare il comando az notification-hub authorization-rule list-keys.

    # query the keys and connection strings for DefaultListenSharedAccessSignature
    az notification-hub authorization-rule list-keys --resource-group spnhubrg --namespace-name spnhubns --notification-hub-name spfcmtutorial1nhub --name DefaultListenSharedAccessSignature --output table
    
    # query the keys and connection strings for a custom policy
    az notification-hub authorization-rule list-keys --resource-group spnhubrg --namespace-name spnhubns --notification-hub-name spfcmtutorial1nhub --name spnhub1key --output table
    

    Nota

    Gli spazi dei nomi per Hub di notifica e gli hub di notifica hanno criteri di accesso distinti. Quando si eseguono query per trovare chiavi e stringhe di connessione, assicurarsi di usare il riferimento corretto all'interfaccia della riga di comando di Azure.

Pulire le risorse

Quando non sono più necessari, rimuovere il gruppo di risorse e tutte le risorse correlate tramite il comando az group delete:

az group delete --name spnhubrg

Passaggi successivi