Aktivieren des Zustandsmodus für zustandslose integrierte Connectors in Azure Logic Apps

Gilt für: Azure Logic Apps (Standard)

In Standard logic app workflows, the following built-in, service provider-based connectors are stateless, by default:

  • Azure Service Bus
  • SAP
  • IBM MQ

Um diese Connectorvorgänge im Zustandsmodus auszuführen, müssen Sie diese Funktion aktivieren. In dieser Anleitung wird gezeigt, wie Sie den Zustandsmodus für diese Connectors aktivieren.

Voraussetzungen

Zustandsbehafteten Modus im Azure-Portal aktivieren

  1. Öffnen Sie im Azure-Portal die Standardlogik-App-Ressource, in der Sie den Zustandsmodus für diese Connectorvorgänge aktivieren möchten.

  2. Aktivieren Sie die Integration des virtuellen Netzwerks für Ihre Logik-App, und fügen Sie die Logik-App dem zuvor erstellten Subnetz hinzu:

    1. Wählen Sie in Ihrer Logik-App-Menüressource unter Einstellungen "Netzwerk" aus.

    2. Wählen Sie im Abschnitt "Ausgehender Datenverkehr" die Option "VNET-Integration> hinzufügen" aus.

    3. Wählen Sie im daraufhin geöffneten Bereich "VNet-Integration hinzufügen" Ihr Azure-Abonnement und Ihr virtuelles Netzwerk aus.

    4. Wählen Sie unter "Subnetz" die Option "Vorhandenes auswählen" aus. Wählen Sie in der Subnetzliste das Subnetz aus, in dem Sie Ihre Logik-App hinzufügen möchten.

    5. Wählen Sie OK, wenn Sie fertig sind.

      Auf der Seite "Netzwerk " wird die VNet-Integrationsoption jetzt auf "Ein" festgelegt, z. B.:

      Screenshot shows Azure portal, Standard logic app resource, Networking page, VNet integration set to On.

    Allgemeine Informationen zum Aktivieren der Integration virtueller Netzwerke in Ihre App finden Sie unter Aktivieren der Integration des virtuellen Netzwerks in Azure-App Service.

  3. Aktualisieren Sie als Nächstes die zugrunde liegende Websitekonfiguration Ihrer Logik-App (<logic-app-name.azurewebsites.net>), indem Sie eines der folgenden Tools verwenden:

Aktualisieren der Websitekonfiguration für die Logik-App

Nachdem Sie die Integration des virtuellen Netzwerks für Ihre Logik-App aktiviert haben, müssen Sie die zugrunde liegende Websitekonfiguration Ihrer Logik-App (<logic-app-name.azurewebsites.net>) mithilfe einer der folgenden Methoden aktualisieren:

Azure-Portal

Führen Sie die folgenden Schritte aus, um private Netzwerkports mithilfe des Azure-Portal zu konfigurieren:

  1. Suchen und öffnen Sie in der Azure-Portal Die Standardlogik-App-Ressource.
  2. Wählen Sie im Menü der Logik-App unter Einstellungen die Option Konfiguration aus.
  3. Wählen Sie auf der Seite "Konfiguration" die Option "Allgemeine Einstellungen" aus.
  4. Geben Sie unter "Plattformeinstellungen" im Feld "Private VNet-Ports" die Ports ein, die Sie verwenden möchten.

Azure-Ressourcenverwaltungs-API

Wenn Sie diese Aufgabe mit der Azure Resource Management-API – Aktualisieren nach ID ausführen möchten, überprüfen Sie die folgenden Anforderungen, Syntax und Parameterwerte.

Anforderungen

OAuth-Autorisierung und das Bearertoken sind erforderlich. Führen Sie die folgenden Schritte aus, um das Bearertoken abzurufen.

  1. Während Sie beim Azure-Portal angemeldet sind, öffnen Sie die Entwicklertools Ihres Webbrowsers (F12).

  2. Rufen Sie das Token ab, indem Sie beispielsweise eine Verwaltungsanforderung senden, indem Sie einen Workflow in Ihrer Standardlogik-App speichern.

Syntax

Aktualisiert eine Ressource mithilfe der angegebenen Ressourcen-ID:

PATCH https://management.azure.com/{resourceId}?api-version=2021-04-01

Parameterwerte

Element Wert Beschreibung
HTTP-Anforderungsmethode PATCH
<Ressourcen-ID> subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web
<yourSubscriptionId> Die ID für Ihr Azure-Abonnement
<yourResourceGroup> Die Ressourcengruppe, die Ihre Logik-App-Ressource enthält
<websiteName> Der Name für Ihre Logik-App-Ressource, die in diesem Beispiel mystandardlogicapp ist
Mit dem HTTP-Anforderungstext {"properties": {"vnetPrivatePortsCount": "2"}}

Beispiel

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

Um diese Aufgabe mit Azure PowerShell abzuschließen, überprüfen Sie die folgenden Anforderungen, Syntax und Werte. Diese Methode erfordert nicht, dass Sie das Bearertoken manuell abrufen.

Syntax

Set-AzContext -Subscription {yourSubscriptionID}
$webConfig = Get-AzResource -ResourceId {resourceId}
$webConfig.Properties.vnetPrivatePortsCount = 2
$webConfig | Set-AzResource -ResourceId {resourceId}

Weitere Informationen finden Sie in der folgenden Dokumentation:

Parameterwerte

Element Wert
<yourSubscriptionID> Die ID für Ihr Azure-Abonnement
<Ressourcen-ID> subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web
<yourResourceGroup> Die Ressourcengruppe, die Ihre Logik-App-Ressource enthält
<websiteName> Der Name für Ihre Logik-App-Ressource, die in diesem Beispiel mystandardlogicapp ist

Beispiel

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

Problembehandlung mit Azure Resource Graph

Fehler: Die Anzahl der reservierten Instanzen ist ungültig.

Wenn ein Fehler angezeigt wird, der besagt , dass die Anzahl der reservierten Instanzen ungültig ist, verwenden Sie die folgende Problemumgehung:

$webConfig.Properties.preWarmedInstanceCount = $webConfig.Properties.reservedInstanceCount
$webConfig.Properties.reservedInstanceCount = $null
$webConfig | Set-AzResource -ResourceId {resourceId}

Fehlerbeispiel:

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
}

Verhindern von Kontextverlusten bei Ressourcenskalierungsereignissen

Ressourcenskalierungsereignisse können dazu führen, dass der Kontext für integrierte Connectors mit aktivierten Zustandsmodus verloren geht. Um diesen potenziellen Verlust zu verhindern, bevor solche Ereignisse auftreten können, beheben Sie die Anzahl der Instanzen, die für Ihre Logik-App-Ressource verfügbar sind. Auf diese Weise können keine Skalierungsereignisse auftreten, um diesen potenziellen Kontextverlust zu verursachen.

  1. Wählen Sie im Ressourcenmenü Der Logik-App unter Einstellungen die Option "Skalieren" aus.

  2. Legen Sie unter "Verkleinerung der App" die Option "Skalierungslimit erzwingen" auf "Ja" fest. Dies zeigt das Maximale Skalierungslimit an.

  3. Legen Sie auf der Seite "Skalierung skalieren" unter "App-Skalierung" die Nummer für "Always Ready Instances " auf die gleiche Zahl wie " Maximum Scale Out Limit " und "Maximum Burst" fest, die unter "Plan Scale Out" angezeigt wird, z. B.:

    Screenshot shows Azure portal, Standard logic app resource, Scale out page, and Always Ready Instances number set to match Maximum Scale Out Limit and Maximum Burst.

  4. Wenn Sie fertig sind, wählen Sie auf der Symbolleiste "Skalieren" die Option "Speichern" aus.

Nächste Schritte