Parameters voor meerdere omgevingen maken voor werkstroominvoer in Azure Logic Apps
Artikel
Van toepassing op: Azure Logic Apps (Verbruik + Standard)
In Azure Logic Apps kunt u waarden abstraheren die kunnen veranderen in werkstromen in ontwikkel-, test- en productieomgevingen door parameters te definiëren. Wanneer u parameters gebruikt in plaats van omgevingsspecifieke variabelen, kunt u zich in eerste instantie meer richten op het ontwerpen van uw werkstromen en later uw omgevingsspecifieke variabelen invoegen.
In dit artikel wordt uitgelegd hoe u parameters maakt, gebruikt en bewerkt voor werkstromen voor logische apps met meerdere tenants en voor werkstromen voor logische apps met één tenant. U leert ook hoe u omgevingsvariabelen beheert.
Op dit moment kunt u alleen parameters maken voor werkstromen van logische apps voor verbruik met behulp van Azure Portal.
U kunt parameters maken voor standaardwerkstromen voor logische apps alleen met behulp van De Azure-portal of Visual Studio Code.
Parameters voor verbruik versus standaardwerkstromen voor logische apps
Voor werkstromen van zowel Verbruik als Standaard logische apps kunt u parameters definiëren met behulp van de ontwerpfunctie. Nadat u de parameter hebt gedefinieerd, kunt u naar die parameter verwijzen vanuit elke werkstroom of verbinding die zich in dezelfde logische app-resource bevindt.
Nadat u parameters in de ontwerpfunctie voor logische apps met meerdere tenants hebt gemaakt en gebruikt, definieert en stelt u de omgevingsvariabelen in uw ARM-sjabloon (Azure Resource Manager) en sjabloonparametersbestanden in. In dit scenario moet u de parameters bij de implementatie definiëren en instellen, wat betekent dat, zelfs als u slechts één variabele hoeft te wijzigen, u de ARM-sjabloon van uw logische app opnieuw moet implementeren.
In werkstromen voor logische apps met één tenant kunt u zowel tijdens runtime als implementatie met omgevingsvariabelen werken met behulp van parameters en app-instellingen. App-instellingen bevatten globale configuratieopties voor alle werkstromen in dezelfde logische app-resource. Raadpleeg host- en app-instellingen bewerken voor logische apps met één tenant voor meer informatie.
Belangrijk
Wanneer u gevoelige informatie hebt, zoals verbindingsreeks s die gebruikersnamen en wachtwoorden bevatten, moet u ervoor zorgen dat u de veiligste verificatiestroom gebruikt die beschikbaar is. In standaardwerkstromen voor logische apps worden bijvoorbeeld beveiligde gegevenstypen, zoals securestring en secureobject, niet ondersteund. Microsoft raadt u aan om de toegang tot Azure-resources te verifiëren met een beheerde identiteit , indien mogelijk, en een rol toe te wijzen met de minimale bevoegdheid die nodig is.
Als deze mogelijkheid niet beschikbaar is, moet u verbindingsreeks beveiligen via andere metingen, zoals Azure Key Vault, die u kunt gebruiken met app-instellingen.
U kunt vervolgens rechtstreeks verwijzen naar beveiligde tekenreeksen, zoals verbindingsreeks s en sleutels. Net als bij ARM-sjablonen, waar u omgevingsvariabelen tijdens de implementatie kunt definiëren, kunt u app-instellingen definiëren binnen de werkstroomdefinitie van uw logische app.
Vervolgens kunt u dynamisch gegenereerde infrastructuurwaarden vastleggen, zoals verbindingseindpunten, opslagreeksen en meer.
Zie Toepassingstypen voor het Microsoft Identity Platform voor meer informatie.
App-instellingen hebben echter groottelimieten en kunnen niet worden verwezen vanuit bepaalde gebieden in Azure Logic Apps. Parameters bieden een breder scala aan use cases dan app-instellingen, zoals ondersteuning voor grote waardegrootten en complexe objecten.
Als u Visual Studio Code bijvoorbeeld gebruikt als uw lokale ontwikkelhulpprogramma om werkstromen lokaal uit te voeren, kunt u in uw logische app-project parameters definiëren met behulp van het parameters.json-bestand . U kunt vervolgens verwijzen naar een parameter in dit parameterbestand vanuit elke werkstroom in het workflow.json-bestand van uw project of vanuit een verbindingsobject in het connections.json-bestand van uw project. In de volgende lijst worden enkele veelvoorkomende use cases beschreven:
Een testparametersbestand hebben dat alle waarden bevat die u tijdens het testen gebruikt. Bij de implementatie kunt u het testparametersbestand vervangen door het productieparametersbestand.
Verschillende onderdelen van uw connections.json-bestand parameteriseren. Vervolgens kunt u uw connections.json bestand controleren in broncodebeheer en vervolgens verbindingen beheren via uw parameters.json-bestand .
Complexe objecten, zoals het authentication JSON-object, parameteriseren. U kunt bijvoorbeeld de authentication objectwaarde vervangen door een tekenreeks die één parameterexpressie bevat, zoals @parameters('api-auth').
Controleer en bewerk de app-instellingen in het local.settings.json-bestand van uw project. U kunt vervolgens verwijzen naar deze app-instellingen in uw parameters.
Notitie
Als algemene aanbeveling kunt u overwegen parameters te gebruiken als de standaard manier om waarden te parameteriseren, niet app-instellingen. Op die manier kunt u, wanneer u beveiligde sleutels of tekenreeksen moet opslaan, de aanbeveling volgen om te verwijzen naar app-instellingen van uw parameters. Als u wilt, kunt u beide opties in uw oplossing gebruiken met behulp van parameters om te verwijzen naar app-instellingen.
Open uw werkstroom voor logische apps in Azure Portal. Selecteer en open uw werkstroom in de ontwerpfunctie onder Werkstromen.
Selecteer Parameters in de werkbalk van de ontwerpfunctie.
Selecteer parameter toevoegen in het deelvenster Parameters.
Geef de volgende informatie op over de parameter die u wilt maken:
Eigenschappen
Vereist
Description
Naam
Ja
De naam voor de parameter die moet worden gemaakt.
Type
Ja
Het gegevenstype voor de parameter, zoals Matrix, Bool, Float, Int, Object, Secure Object, Secure String en String.
Standaardwaarde
Ja
De standaardwaarde voor de parameter. U moet de standaardparameterwaarde opgeven omdat de werkstroomlogica, verbindingsinformatie en parameterwaarden niet op één locatie bestaan. De ontwerpfunctie moet de parameterwaarden kunnen oplossen voordat deze worden geladen.
Belangrijk: Voor de gegevenstypen Beveiligd object en Beveiligde tekenreeks moet u voorkomen dat u een standaardwaarde instelt omdat de waarde wordt opgeslagen als tekst zonder opmaak.
Werkelijke waarde
Nee
De werkelijke waarde voor de parameter.
In het volgende voorbeeld ziet u een definitie voor een tekenreeksparameter:
Als u meer parameters wilt toevoegen, selecteert u Parameter toevoegen. Sluit anders het deelvenster Parameters, maar zorg ervoor dat u uw werkstroom opslaat om de nieuwe parameterdefinitie op te slaan.
Als u wilt verwijzen naar de parameter vanuit een trigger of actie die zich in dezelfde werkstroom bevindt, voert u de volgende stappen uit:
Open in de ontwerpfunctie de gewenste werkstroom en vouw de trigger of actie uit.
Klik in de eigenschap waarin u de parameter wilt gebruiken in het invoervak van die eigenschap.
Selecteer in de lijst met dynamische inhoud die wordt geopend, onder Parameters, de eerder gemaakte parameter, bijvoorbeeld:
Voer de volgende stappen uit om de parameters in een werkstroom van een logische app weer te geven of te bewerken:
Open de werkstroom van de logische app in de ontwerpfunctie. Selecteer Parameters op de werkbalk van de ontwerpfunctie.
Het deelvenster Parameters wordt geopend en geeft alle parameters weer die u voor die werkstroom hebt gedefinieerd.
Breng uw wijzigingen aan, sluit het deelvenster Parameters en sla de werkstroom van uw logische app op.
Azure Portal
Open uw logische app-resource in Azure Portal. Open onder Werkstromen uw werkstroom in de ontwerpfunctie.
Selecteer Parameters in de werkbalk van de ontwerpfunctie.
Selecteer in het deelvenster Parameters de optie Parameter Maken.
Geef de volgende informatie op over de parameter die u wilt maken:
Eigenschappen
Vereist
Description
Naam
Ja
De naam voor de parameter die moet worden gemaakt.
Type
Ja
Het gegevenstype voor de parameter, zoals Matrix, Bool, Float, Int, Object en String.
Opmerking: In standaardwerkstromen voor logische apps worden beveiligde gegevenstypen, zoals securestring en secureobject, niet ondersteund.
Value
Ja
De waarde voor de parameter.
In werkstromen van standaard logische apps moet u de parameterwaarde opgeven omdat de werkstroomlogica, verbindingsinformatie en parameterwaarden niet op één locatie bestaan. De ontwerpfunctie moet de parameterwaarden kunnen oplossen voordat deze worden geladen.
In het volgende voorbeeld ziet u een definitie voor een tekenreeksparameter:
Wanneer u klaar bent, sluit u het deelvenster Parameters , maar zorg ervoor dat u de werkstroom opslaat om de nieuwe parameterdefinitie op te slaan.
Als u wilt verwijzen naar de parameter vanuit een trigger of actie die zich in een werkstroom binnen dezelfde logische app bevindt, voert u de volgende stappen uit:
Open in de ontwerpfunctie de gewenste werkstroom en vouw de trigger of actie uit.
Klik in de eigenschap waarin u de parameter wilt gebruiken in het invoervak van die eigenschap.
Selecteer in de lijst met dynamische inhoud die wordt geopend, onder Parameters, de eerder gemaakte parameter, bijvoorbeeld:
Als u parameters in dezelfde logische app wilt weergeven of bewerken, voert u een van de volgende stappen uit:
Open een werkstroom in die logische app. Selecteer Designer in het werkstroommenu. Selecteer Parameters op de werkbalk van de ontwerpfunctie.
Het deelvenster Parameters wordt geopend en geeft alle parameters weer die u hebt gedefinieerd op basis van werkstromen in die logische app.
Als u bulksgewijs JSON wilt weergeven of bewerken, selecteert u Parameters in het hoofdmenu van uw logische app.
De JSON-weergave Parameters wordt geopend en geeft alle parameters weer die u hebt gedefinieerd op basis van werkstromen in die logische app.
Visual Studio Code
Definieer in een JSON-bestand op hoofdniveau van een project met de naam parameters.json alle parameters en de bijbehorende waarden. Dit bestand heeft een object dat sleutel-waardeparen bevat. Elke sleutel is de naam voor elke parameter, terwijl elke waarde de structuur voor elke parameter is. Elke structuur moet zowel een als een typevalue declaratie bevatten.
Belangrijk
Uw parameters.json-bestand moet alle parameters en de bijbehorende waarden definiëren en opnemen die u ergens anders in uw project gebruikt, bijvoorbeeld in werkstroomdefinities of verbindingen.
In het volgende voorbeeld ziet u een basisparametersbestand:
In het bestand parameters.json@appsetting is dit het enige geldige expressietype.
Als u wilt verwijzen naar parameters in uw trigger- of actie-invoer, gebruikt u de expressie @parameters('<parameter-name>').
Verbindingsbestand parameteriseren
Als u uw connections.json-bestand wilt parameteriseren, vervangt u de waarden voor letterlijke waarden, zoals ConnectionRuntimeUrl, door één parameters() expressie, bijvoorbeeld @parameters('api-runtimeUrl'). In het bestand connections.json zijn @parameters@appsettingen zijn de enige geldige expressietypen.
Belangrijk
Als u het connections.json bestand tijdens de ontwikkeling parameteriseert, wordt de ontwerpfunctie beperkt, zowel lokaal als in Azure Portal. Als u de ontwerpfunctie voor ontwikkeling wilt gebruiken, gebruikt u in plaats daarvan een niet-geparameteriseerde connections.json-bestand . Vervang vervolgens in uw implementatiepijplijnen door het geparameteriseerde bestand.
De runtime werkt nog steeds met parameters. Verbeteringen in de ontwerpfunctie zijn in ontwikkeling.
In het volgende voorbeeld ziet u een geparameteriseerd connections.json-bestand dat zowel app-instellingen als parameters gebruikt. Hoewel u waar mogelijk parameters wilt gebruiken, is dit scenario een uitzondering of edge-geval waarbij u app-instellingen gebruikt voor parameters, omdat app-instellingen worden gegenereerd tijdens de implementatie en gemakkelijker dynamisch kunnen worden ingevuld in een ontwikkelingspijplijn. In dit voorbeeldbestand wordt een parameter gebruikt voor het complexe blob_auth verificatieobject en de app-instellingen voor de andere waarden. In dit geval kunt u een parameter voor het verificatieobject gebruiken, omdat u waarschijnlijk niet naar de parameter in uw werkstroom verwijst:
Wanneer u een expressie hebt die inline is met tekst zonder opmaak, moet u de geïnterpoleerde notatie voor die expressie gebruiken door die expressie tussen accolades ({}) te plaatsen. Met deze indeling voorkomt u parseringsproblemen.
Als u bijvoorbeeld de volgende versie hebt "<text>/@<function-name>('<parameter-name>')/<text>", gebruikt u in plaats daarvan de volgende versie: "<text>/@{<function-name>('<parameter-name>')}/<text>".
Normaal gesproken moet u meerdere versies van parametersbestanden beheren. Mogelijk hebt u gerichte waarden voor verschillende implementatieomgevingen, zoals ontwikkeling, testen en productie. Het beheren van deze parameterbestanden werkt vaak als het beheren van arm-sjabloonparametersbestanden. Wanneer u in een specifieke omgeving implementeert, promoveert u het bijbehorende parameterbestand, meestal via een pijplijn voor DevOps.
Als u parametersbestanden dynamisch wilt vervangen met behulp van de Azure CLI, voert u de volgende opdracht uit:
Als u een op NuGet gebaseerd logische app-project hebt, moet u het projectbestand (<logic-app-name.csproj>) bijwerken om het parameterbestand op te nemen in de build-uitvoer, bijvoorbeeld:
In Azure Logic Apps met één tenant bevatten app-instellingen globale configuratieopties voor alle werkstromen in dezelfde logische app. Wanneer u werkstromen lokaal uitvoert in Visual Studio Code, hebt u toegang tot deze app-instellingen als lokale omgevingsvariabelen in het local.settings.json-bestand . U kunt vervolgens verwijzen naar deze app-instellingen in uw parameters.
Als u app-instellingen wilt toevoegen, bijwerken of verwijderen, selecteert en bekijkt u de volgende secties voor visual Studio Code, Azure Portal, Azure CLI of ARM-sjabloon (Bicep).
Azure Portal
Voer de volgende stappen uit om de app-instellingen voor uw logische app-resource in Azure Portal te controleren:
Selecteer Configuratie in het menu van uw logische app onder Instellingen.
Controleer op de pagina Configuratie op het tabblad Toepassingsinstellingen de app-instellingen voor uw logische app.
Als u alle waarden wilt weergeven, selecteert u Waarden weergeven. Als u één waarde wilt weergeven, selecteert u die waarde.
Voer de volgende stappen uit om een nieuwe instelling toe te voegen:
Selecteer op het tabblad Toepassingsinstellingen onder Toepassingsinstellingen de optie Nieuwe toepassingsinstelling.
Voer bij Naam de sleutel of naam voor de nieuwe instelling in.
Voer voor Waarde de waarde in voor uw nieuwe instelling.
Wanneer u klaar bent om uw nieuwe sleutel-waardepaar te maken, selecteert u OK.
Wanneer u klaar bent, selecteert u Opslaan op de werkbalk Configuratie.
Azure-CLI
Als u de huidige app-instellingen wilt controleren met behulp van de Azure CLI, voert u de opdracht uit. az logicapp config appsettings list Zorg ervoor dat uw opdracht de --name -n en --resource-group -g parameters bevat, bijvoorbeeld:
Azure CLI
az logicapp config appsettings list --name MyLogicApp --resource-group MyResourceGroup
Voer de opdracht az logicapp config appsettings setuit om een app-instelling toe te voegen of bij te werken met behulp van de Azure CLI. Zorg ervoor dat de opdracht de --name n en --resource-group -g parameters bevat. Met de volgende opdracht maakt u bijvoorbeeld een instelling met een sleutel met de naam CUSTOM_LOGIC_APP_SETTING met de waarde :12345
Azure CLI
az logicapp config appsettings set --name MyLogicApp --resource-group MyResourceGroup --settings CUSTOM_LOGIC_APP_SETTING=12345
Resource Manager- of Bicep-sjabloon
Als u uw app-instellingen in een ARM-sjabloon of Bicep-sjabloon wilt controleren en definiëren, zoekt u de resourcedefinitie van uw logische app en werkt u het appSettings JSON-object bij. Zie de arm-sjabloonreferentie voor de volledige resourcedefinitie.
In dit voorbeeld ziet u bestandsinstellingen voor ARM-sjablonen of Bicep-sjablonen: