Abilitare la modalità con stato per i connettori predefiniti senza stato in App per la logica di Azure
Si applica: App per la logica di Azure (Standard)
Nei flussi di lavoro dell'app per la logica Standard, i seguenti connettori predefiniti del provider di servizi sono senza stato, per impostazione predefinita:
- Bus di servizio di Azure
- SAP
- IBM MQ
Per eseguire queste operazioni del connettore in modalità con stato, è necessario abilitare questa funzionalità. Questa guida pratica illustra come abilitare la modalità con stato per questi connettori.
Prerequisiti
Account e sottoscrizione di Azure. Se non si ha una sottoscrizione, è possibile iscriversi per creare un account Azure gratuito.
La risorsa dell'app per la logica Standard in cui si intende creare il flusso di lavoro che usa le operazioni del connettore abilitate per la modalità con stato. Se questa risorsa non è disponibile, creare la risorsa dell'app per la logica Standard.
Una rete virtuale di Azure con una subnet da integrare con l'app per la logica. Se questi elementi non sono disponibili, vedere la seguente documentazione:
Abilitare la modalità con stato nel portale di Azure
Nota
Se si usano gruppi di sicurezza di rete nella rete virtuale, la modalità con stato richiede l'apertura delle porte da 20.000 a 30.000.
Nel portale di Azure aprire la risorsa dell'app per la logica Standard in cui si vuole abilitare la modalità con stato per queste operazioni del connettore.
Per abilitare l'integrazione della rete virtuale per l'app per la logica e aggiungere l'app per la logica alla subnet creata in precedenza, seguire questa procedura:
Nella risorsa del menu della app per la logica, in Impostazioni selezionare Rete.
Nella sezione Configurazione del traffico in uscita, accanto a Integrazione della rete virtuale selezionare Non configurata>Aggiungi integrazione rete virtuale.
Nel riquadro Aggiungi integrazione rete virtuale visualizzato selezionare la sottoscrizione di Azure e la rete virtuale.
Nell'elenco Subnet selezionare la subnet in cui si vuole aggiungere l'app per la logica.
Al termine, selezionare Connettie tornare alla pagina di rete.
La proprietà di Integrazione della rete virtuale è ora impostata sulla rete virtuale e sulla subnet selezionata, ad esempio:
Per informazioni generali sull'abilitazione dell'integrazione della rete virtuale con l'app, vedere Abilitare l'integrazione della rete virtuale nel servizio app di Azure.
Aggiornare quindi la configurazione del sito Web sottostante dell'app per la logica (<logic-app-name>.azurewebsites.net) usando uno degli strumenti seguenti:
Aggiornamento della configurazione del sito Web per l'app per la logica
Dopo aver abilitato l'integrazione della rete virtuale per l'app per la logica, è necessario aggiornare la configurazione del sito Web sottostante dell'app per la logica (<logic-app-name>.azurewebsites.net) usando uno dei metodi seguenti:
- Portale di Azure (token di connessione non necessario)
- API di Gestione risorse di Azure (necessario token di connessione)
- Azure PowerShell (token di connessione non necessario)
Azure portal
Per configurare le porte private della rete virtuale usando il portale di Azure, seguire questa procedura:
- Nel portale di Azure, individuare e aprire la risorsa app per la logica Standard.
- Nel menu dell'app per la logica, in Impostazioni, selezionare Configurazione.
- Nella pagina Configurazione selezionare Impostazioni generali.
- In Impostazioni della piattaforma, nella casella delle porte private della rete virtuale immettere le porte da usare.
API di gestione delle risorse di Azure
Per completare questa attività con l'API di Gestione risorse di Azure - Aggiornamento per ID, esaminare i requisiti, la sintassi e i valori dei parametri seguenti.
Requisiti
Sono necessarie l'autorizzazione OAuth e il token di connessione. Per ottenere il token di connessione, seguire questa procedura
Durante l'accesso al portale di Azure, aprire gli strumenti di sviluppo del Web browser (F12).
Ottenere il token inviando qualsiasi richiesta di gestione, ad esempio salvando un flusso di lavoro nell'app per la logica Standard.
Sintassi
Aggiorna una risorsa usando l'ID risorsa specificato:
PATCH https://management.azure.com/{resourceId}?api-version=2021-04-01
Valori parametro
Elemento | Valore |
---|---|
Metodo di richiesta HTTP | PATCH |
<resourceId> | subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web |
<yourSubscriptionId> | ID della sottoscrizione di Azure |
<yourResourceGroup> | Gruppo di risorse che contiene la risorsa dell'app per la logica |
<websiteName> | Il nome della risorsa dell'app per la logica, che in questo esempio è mystandardlogicapp |
Corpo della richiesta HTTP | {"properties": {"vnetPrivatePortsCount": "2"}} |
Esempio
https://management.azure.com/subscriptions/XXxXxxXX-xXXx-XxxX-xXXX-XXXXxXxXxxXX/resourcegroups/My-Standard-RG/providers/Microsoft.Web/sites/mystandardlogicapp/config/web?api-version=2021-02-01
Azure PowerShell
Per completare questa attività con Azure PowerShell, esaminare i requisiti, la sintassi e i valori seguenti. Questo metodo non richiede di ottenere manualmente il token di connessione.
Sintassi
Set-AzContext -Subscription {yourSubscriptionID}
$webConfig = Get-AzResource -ResourceId {resourceId}
$webConfig.Properties.vnetPrivatePortsCount = 2
$webConfig | Set-AzResource -ResourceId {resourceId}
Per altre informazioni, consultare la documentazione seguente:
Valori parametro
Elemento | Valore |
---|---|
<yourSubscriptionID> | ID della sottoscrizione di Azure |
<resourceId> | subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web |
<yourResourceGroup> | Gruppo di risorse che contiene la risorsa dell'app per la logica |
<websiteName> | Il nome della risorsa dell'app per la logica, che in questo esempio è mystandardlogicapp |
Esempio
https://management.azure.com/subscriptions/XXxXxxXX-xXXx-XxxX-xXXX-XXXXxXxXxxXX/resourcegroups/My-Standard-RG/providers/Microsoft.Web/sites/mystandardlogicapp/config/web?api-version=2021-02-01
Risolvere gli errori
Errore: il numero di istanze riservate non è valido
Se si verifica un errore che indica che numero di istanze riservate non è valido, usare la soluzione alternativa seguente:
$webConfig.Properties.preWarmedInstanceCount = $webConfig.Properties.reservedInstanceCount
$webConfig.Properties.reservedInstanceCount = $null
$webConfig | Set-AzResource -ResourceId {resourceId}
Esempio di errore:
Set-AzResource :
{
"Code":"BadRequest",
"Message":"siteConfig.ReservedInstanceCount is invalid. Please use the new property siteConfig.PreWarmedInstanceCount.",
"Target": null,
"Details":
[
{
"Message":"siteConfig.ReservedInstanceCount is invalid. Please use the new property siteConfig.PreWarmedInstanceCount."
},
{
"Code":"BadRequest"
},
{
"ErrorEntity":
{
"ExtendedCode":"51021",
"MessageTemplate":"{0} is invalid. {1}",
"Parameters":
[
"siteConfig.ReservedInstanceCount", "Please use the new property siteConfig.PreWarmedInstanceCount."
],
"Code":"BadRequest",
"Message":"siteConfig.ReservedInstanceCount is invalid. Please use the new property siteConfig.PreWarmedInstanceCount."
}
}
],
"Innererror": null
}
Evitare la perdita di contesto durante gli eventi di scalabilità delle risorse
Gli eventi di scalabilità delle risorse possono causare la perdita di contesto per i connettori predefiniti con modalità con stato abilitato. Per evitare questa potenziale perdita prima che questi eventi possano verificarsi, correggere il numero di istanze disponibili per la risorsa dell'app per la logica. In questo modo, non possono verificarsi eventi di scalabilità orizzontale per causare questa potenziale perdita di contesto.
Nel menu delle risorse dell’app per la logica, in Impostazioni selezionare Scale Out.
Nella pagina Scale Out nella sezione Scale out App seguire questa procedura:
Impostare Imponi limite di Scale Out su Sì, che mostra il Limite massimo di Scale Out.
Impostare Istanze sempre pronte sullo stesso numero di Limite massimo di Scale Out e Burst massimo, visualizzato nella sezione Piano di Scale Out, ad esempio:
Al termine, sulla barra degli strumenti Scale out selezionare Salva.