Connettersi a un server IBM MQ da un flusso di lavoro in App per la logica di Azure

Il connettore MQ consente di connettere i flussi di lavoro delle app per la logica a un server IBM MQ locale o in Azure. È quindi possibile fare in modo che i flussi di lavoro ricevano e inviino messaggi archiviati nel server MQ. Questo articolo fornisce una guida introduttiva all'uso del connettore MQ illustrando come connettersi al server MQ e aggiungere un'azione MQ al flusso di lavoro. Ad esempio, è possibile iniziare esplorando un singolo messaggio in una coda e quindi provare altre azioni.

Questo connettore include un client Microsoft MQ che comunica con un server MQ remoto attraverso una rete TCP/IP. È possibile connettersi alle seguenti versioni di IBM WebSphere MQ:

  • MQ 7.5
  • MQ 8.0
  • MQ 9.0, 9.1 e 9.2

Operazioni disponibili

Il connettore IBM MQ fornisce azioni ma nessun trigger.

  • Multi-tenant App per la logica di Azure: quando si crea un flusso di lavoro di app per la logica basato sul consumo, è possibile connettersi a un server MQ usando il connettore MQ gestito.

  • Single-tenant App per la logica di Azure (anteprima): quando si crea un flusso di lavoro dell'app per la logica di anteprima, è possibile connettersi a un server MQ usando il connettore MQ gestito o le operazioni MQ incorporate (anteprima).

Per altre informazioni sulla differenza tra un connettore gestito e le operazioni predefinite, vedere i termini chiave in App per la logica.

L'elenco seguente descrive solo alcune delle operazioni gestite disponibili per MQ:

  • Esplorare un singolo messaggio o una matrice di messaggi senza eliminarli dal server MQ. Per più messaggi, è possibile specificare il numero massimo di messaggi da restituire per ogni batch. In caso contrario, vengono restituiti tutti i messaggi.
  • Eliminare una singola o una matrice di messaggi dal server MQ.
  • Ricevere un singolo messaggio o una matrice di messaggi e quindi eliminarli dal server MQ.
  • Inviare un singolo messaggio al server MQ.

Per tutte le operazioni del connettore gestito e altre informazioni tecniche, ad esempio proprietà, limiti e così via, vedere la pagina di riferimento del connettore MQ.

Limitazioni

Il connettore MQ non usa il campo Formato del messaggio e non effettua alcuna conversione del set di caratteri. Il connettore inserisce solo i dati visualizzati nel campo del messaggio in un messaggio JSON e invia il messaggio.

Prerequisiti

  • Un account e una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, iscriversi per creare un account Azure gratuito.

  • Se si usa un server MQ locale, installare il gateway dati locale in un server all'interno della rete. Per il funzionamento del connettore MQ, nel server con il gateway dati locale deve essere installato .NET Framework 4.6.

    Dopo aver installato il gateway, è necessario creare anche una risorsa gateway dati in Azure. Il connettore MQ usa questa risorsa per accedere al server MQ. Per altre informazioni, vedere Configurare la connessione al gateway dati.

    Nota

    Il gateway non è necessario negli scenari seguenti:

    • Si useranno le operazioni incorporate, non il connettore gestito.
    • Il server MQ è disponibile pubblicamente o in Azure.
  • Flusso di lavoro dell'app per la logica in cui si vuole accedere al server MQ. La risorsa dell'app per la logica deve avere la stessa posizione della risorsa gateway in Azure.

    Il connettore MQ non dispone di trigger, quindi il flusso di lavoro deve già iniziare con un trigger oppure è prima necessario aggiungere un trigger al flusso di lavoro. Ad esempio, è possibile usare il trigger Ricorrenza.

    Se non si ha la App per la logica di Azure, provare questa guida introduttiva per creare un flusso di lavoro dell'appper la logica di esempio, che viene eseguito nel servizio App per la logica multi-tenant.

Creare una connessione MQ

Quando si aggiunge un'azione MQ per la prima volta, viene richiesto di creare una connessione al server MQ.

Nota

Il connettore MQ attualmente supporta solo l'autenticazione server e non l'autenticazione client. Per altre informazioni, vedere Problemi di connessione e autenticazione.

  1. Se ci si connette a un server MQ locale, selezionare Connetti tramite gateway dati locale.

  2. Specificare le informazioni di connessione per il server MQ.

    Proprietà Locale o Azure Descrizione
    Gateway Solo locale Selezionare Connect via on-premises data gateway (Connetti tramite gateway dati locale).
    Nome connessione Entrambi Nome da usare per la connessione
    Server Entrambi Uno dei valori seguenti:

    - Nome host del server MQ
    - Indirizzo IP seguito da due punti e dal numero di porta

    Nome di Gestione code Entrambi Gestione code che si vuole usare
    Nome del canale Entrambi Canale per la connessione a Gestione code
    Nome coda predefinito Entrambi Nome predefinito per la coda
    Connetti come Entrambi Nome utente per la connessione al server MQ
    Nome utente Entrambi Credenziali del nome utente
    Password Entrambi Credenziali della password
    Abilitare SSL? Solo locale Usare Transport Layer Security (TLS) o Secure Sockets Layer (SSL)
    Gateway - Sottoscrizione Solo locale Sottoscrizione di Azure associata alla risorsa gateway in Azure
    Gateway - Gateway di connessione Solo locale Risorsa del gateway da usare

    Ad esempio:

    Screenshot che mostra i dettagli della connessione MQ gestita.

  3. Al termine, selezionare Crea.

Aggiungere un'azione MQ

In App per la logica di Azure un'azione segue il trigger o un'altra azione ed esegue un'operazione nel flusso di lavoro. La procedura seguente descrive il modo generale per aggiungere un'azione, ad esempio Sfoglia un singolo messaggio.

  1. In Progettazione app per la logica aprire il flusso di lavoro, se non è già aperto.

  2. Sotto il trigger o un'altra azione aggiungere un nuovo passaggio.

    Per aggiungere un passaggio tra i passaggi esistenti, spostare il mouse sulla freccia. Selezionare il segno più (+) visualizzato e quindi selezionare Aggiungi un'azione.

  3. Nella casella di ricerca dell'operazione immettere mq . Nell'elenco delle azioni selezionare l'azione denominata Sfoglia messaggio.

  4. Se viene richiesto di creare una connessione al server MQ, specificare le informazioni di connessione richieste.

  5. Nell'azione specificare i valori delle proprietà necessarie per l'azione.

    Per altre proprietà, aprire l'elenco Aggiungi nuovo parametro e selezionare le proprietà da aggiungere.

  6. Al termine, sulla barra degli strumenti della finestra di progettazione selezionare Salva.

  7. Per testare il flusso di lavoro, sulla barra degli strumenti della finestra di progettazione selezionare Esegui.

    Al termine dell'esecuzione, la finestra di progettazione mostra la cronologia di esecuzione del flusso di lavoro insieme allo stato per il passaggio.

  8. Per esaminare gli input e gli output per ogni passaggio eseguito (non ignorato), espandere o selezionare il passaggio.

    • Per esaminare altri dettagli di input, selezionare Mostra input non elaborati.
    • Per esaminare altri dettagli dell'output, selezionare Mostra output non elaborati. Se si imposta IncludeInfo su true, viene incluso più output.

Risolvere i problemi

Errori con azioni di esplorazione o ricezione

Se si esegue un'azione di esplorazione o ricezione in una coda vuota, l'azione ha esito negativo con gli output di intestazione seguenti:

Errore "nessun messaggio" di MQ

Problemi di connessione e autenticazione

Quando il flusso di lavoro tenta di connettersi al server MQ locale, è possibile che venga visualizzato questo errore:

"MQ: Could not Connect the Queue Manager '<queue-manager-name>': The Server was expecting an SSL connection."

  • Se si usa il connettore MQ direttamente in Azure, il server MQ deve usare un certificato emesso da una autorità di certificazione attendibile.

  • Il server MQ richiede di definire la specifica di crittografia da usare con le connessioni TLS. Tuttavia, per motivi di sicurezza e per includere i pacchetti di sicurezza migliori, il sistema operativo Windows invia un set di specifiche di crittografia supportate.

    Il sistema operativo in cui viene eseguito il server MQ sceglie le suite da usare. Per fare in modo che la configurazione corrisponda, è necessario modificare la configurazione del server MQ in modo che la specifica di crittografia corrisponda all'opzione scelta nella negoziazione TLS.

    Quando si tenta di connettersi, il server MQ registra un messaggio di evento che indica che il tentativo di connessione non è riuscito perché il server MQ ha scelto la specifica di crittografia non corretta. Il messaggio dell'evento contiene la specifica di crittografia scelta dal server MQ dall'elenco. Nella configurazione del canale aggiornare la specifica di crittografia in modo che corrisponda alla specifica di crittografia nel messaggio dell'evento.

Informazioni di riferimento sui connettori

Per tutte le operazioni nel connettore gestito e altre informazioni tecniche, ad esempio proprietà, limiti e così via, vedere la pagina di riferimento del connettore MQ.

Passaggi successivi