Delen via


Een door Azure Cosmos DB geactiveerde functie maken

Meer informatie over het maken van een functie in Azure Portal die wordt geactiveerd wanneer gegevens worden toegevoegd aan of gewijzigd in Azure Cosmos DB. Zie Azure Cosmos DB: Serverless database computing using Azure Functions (Azure Cosmos DB: database berekenen zonder server met Azure Functions) voor meer informatie over Azure Cosmos DB.

Notitie

Bewerken in de portal wordt alleen ondersteund voor JavaScript-, PowerShell- en C#-scriptfuncties. Bewerken in De Python-portal wordt alleen ondersteund wanneer deze wordt uitgevoerd in het verbruiksabonnement. Als u een C#-script-app wilt maken die ondersteuning biedt voor het bewerken in de portal, moet u een runtimeversie kiezen die ondersteuning biedt voor het in-procesmodel.

Indien mogelijk moet u uw functies lokaal ontwikkelen.

Zie Ontwikkelingsbeperkingen in Azure Portal voor meer informatie over de beperkingen voor het bewerken van functiecode in Azure Portal.

Vereisten

Vereisten om deze zelfstudie te voltooien:

  • Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Notitie

Azure Cosmos DB-bindingen worden alleen ondersteund voor gebruik met Azure Cosmos DB voor NoSQL. Ondersteuning voor Azure Cosmos DB voor Table wordt geleverd met behulp van de Table Storage-bindingen, te beginnen met extensie 5.x. Voor alle andere Azure Cosmos DB-API's hebt u toegang tot de database vanuit uw functie met behulp van de statische client voor uw API, waaronder Azure Cosmos DB voor MongoDB, Azure Cosmos DB voor Cassandra en Azure Cosmos DB voor Apache Gremlin.

Aanmelden bij Azure

Meld u met uw Azure-account aan bij Azure Portal.

Een Azure Cosmos DB-account maken

U moet een Azure Cosmos DB-account hebben dat gebruikmaakt van de SQL-API voordat u de trigger maakt.

  1. Selecteer vanuit het menu van Azure Portal of op de startpagina de optie Een resource maken.

  2. Zoek naar Azure Cosmos DB. Selecteer Azure Cosmos DB maken>.

  3. Selecteer op de pagina Een Azure Cosmos DB-account maken de optie Maken in de sectie Azure Cosmos DB for NoSQL .

    Azure Cosmos DB biedt verschillende API's:

    • NoSQL, voor documentgegevens
    • PostgreSQL
    • MongoDB voor documentgegevens
    • Apache Cassandra
    • Tabel
    • Apache Gremlin voor grafiekgegevens

    Zie Welkom bij Azure Cosmos DB voor meer informatie over de API voor NoSQL.

  4. Voer op de pagina Azure Cosmos DB-account maken de basisinstellingen voor het nieuwe Azure Cosmos DB-account in.

    Instelling Weergegeven als Beschrijving
    Abonnement Abonnementsnaam Selecteer het Azure-abonnement dat u wilt gebruiken voor dit Azure Cosmos DB-account.
    Resourcegroep Naam van de resourcegroep Selecteer een resourcegroep of selecteer Nieuwe maken en voer vervolgens een unieke naam in voor de nieuwe resourcegroep.
    Accountnaam Een unieke naam Voer een naam in om uw Azure Cosmos DB-account te identificeren. Gebruik een unieke naam omdat documents.azure.com is toegevoegd aan de naam die u hebt opgegeven om uw URI te maken. De naam mag alleen kleine letters, cijfers en het afbreekstreepje (-) bevatten. Het moet 3-44 tekens zijn.
    Locatie De regio het dichtst bij uw gebruikers Selecteer een geografische locatie waar u het Azure Cosmos DB-account wilt hosten. Gebruik de locatie die zich het dichtst bij uw gebruikers bevindt, zodat ze de snelst mogelijke toegang tot de gegevens hebben.
    Capaciteitsmodus Ingerichte doorvoer of serverloos Selecteer Ingerichte doorvoer om een account te maken in de modus Ingerichte doorvoer. Selecteer Serverloos om een account te maken in de modus serverloos.
    Niveaukorting op gratis laag van Azure Cosmos DB toepassen Toepassen of niet toepassen Met de gratis laag van Azure Cosmos DB krijgt u de eerste 1000 RU/s en 25 GB opslagruimte gratis in een account. Meer informatie over de gratis laag.
    Totale accountdoorvoer beperken Geselecteerd of niet Beperk de totale hoeveelheid doorvoer die voor dit account kan worden ingericht. Deze limiet voorkomt onverwachte kosten met betrekking tot ingerichte doorvoer. U kunt deze limiet bijwerken of verwijderen nadat uw account is gemaakt.

    U kunt maximaal één gratis Azure Cosmos DB-account per Azure-abonnement hebben en u moet zich aanmelden bij het maken van het account. Als u de optie voor het toepassen van de korting op de gratis laag niet ziet, is er al een ander account in het abonnement ingeschakeld met de gratis laag.

    Schermopname van de pagina Azure Cosmos DB-account maken.

    Notitie

    De volgende opties zijn niet beschikbaar als u Serverloos als Capaciteitsmodus selecteert:

    • Korting voor gratis laag toepassen
    • Totale accountdoorvoer beperken
  5. Configureer op het tabblad Globale distributie de volgende details. U kunt de standaardwaarden voor deze quickstart behouden:

    Instelling Weergegeven als Beschrijving
    Georedundantie Uitschakelen Schakel globale distributie voor uw account in of uit door uw regio te koppelen met een koppelingsregio. U kunt later meer regio's aan uw account toevoegen.
    Schrijven voor meerdere regio's Uitschakelen Dankzij de mogelijkheid voor schrijfbewerkingen in meerdere regio's kunt over de hele wereld profiteren van de ingerichte doorvoer voor uw databases en containers.
    Beschikbaarheidszones Uitschakelen Met beschikbaarheidszones kunt u de beschikbaarheid en tolerantie van uw toepassing verder verbeteren.

    Notitie

    De volgende opties zijn niet beschikbaar als u Serverloos selecteert als capaciteitsmodus op de vorige pagina Basisbeginselen:

    • Geografische redundantie
    • Schrijven voor meerdere regio's
  6. U kunt desgewenst meer details configureren op de volgende tabbladen:

    • Netwerken. Toegang configureren vanuit een virtueel netwerk.
    • Back-upbeleid. Configureer periodiek of doorlopend back-upbeleid.
    • Versleuteling. Gebruik een door de service beheerde sleutel of een door de klant beheerde sleutel.
    • Tags. Tags zijn naam/waarde-paren waarmee u resources kunt categoriseren en een geconsolideerde facturering kunt weergeven. Hiervoor past u dezelfde tag toe op meerdere resources en resourcegroepen.
  7. Selecteer Controleren + maken.

  8. Controleer de accountinstellingen en selecteer vervolgens Maken. Het duurt een paar minuten om het account te maken. Wacht tot de portal-pagina Uw implementatie is voltooid weergeeft.

    Schermopname die laat zien dat uw implementatie is voltooid.

  9. Selecteer Ga naar resource om naar de Azure Cosmos DB-accountpagina te gaan.

    Schermopname van de azure Cosmos DB-accountpagina.

Een functie-app maken in Azure

  1. Selecteer vanuit het menu van Azure Portal of op de startpagina de optie Een resource maken.

  2. Selecteer op de pagina Nieuw Reken>functie-app.

  3. Selecteer onder Selecteer een hostingoptie De optie Verbruik> selecteren om uw app te maken in het standaardverbruiksabonnement. In deze serverloze hostingoptie betaalt u alleen voor de tijd dat uw functies worden uitgevoerd. Premium-abonnement biedt ook dynamisch schalen. Wanneer u in een App Service-plan uitvoert, moet u het Schalen van uw functie-app beheren.

  4. Op de pagina Basics gebruikt u de instellingen voor de functie-app zoals in de volgende tabel wordt vermeld:

    Instelling Voorgestelde waarde Beschrijving
    Abonnement Uw abonnement Het abonnement waaronder u uw nieuwe functie-app maakt.
    Resourcegroep myResourceGroup Naam voor de nieuwe resourcegroep waarin u uw functie-app maakt. U moet een nieuwe resourcegroep maken omdat er bekende beperkingen zijn bij het maken van nieuwe functie-apps in een bestaande resourcegroep.
    Naam van de functie-app Wereldwijd unieke naam Naam waarmee uw nieuwe functie-app wordt aangeduid. Geldige tekens zijn a-z (niet hoofdlettergevoelig), 0-9 en -.
    Runtimestack Voorkeurstaal Kies een runtime die uw favoriete functieprogrammeertaal ondersteunt. Bewerken in de portal is alleen beschikbaar voor JavaScript-, PowerShell-, Python-, TypeScript- en C#-script.
    Als u een C#-script-app wilt maken die ondersteuning biedt voor het bewerken in de portal, moet u een runtimeversie kiezen die ondersteuning biedt voor het in-procesmodel.
    C#-klassebibliotheek en Java-functies moeten lokaal worden ontwikkeld.
    Versie Versienummer Kies de versie van uw geïnstalleerde runtime.
    Regio Voorkeursregio Selecteer een regio in de buurt of in de buurt van andere services waartoe uw functies toegang hebben.
    Besturingssysteem Windows Een besturingssysteem is vooraf geselecteerd op basis van de selectie van uw runtimestack, maar u kunt de instelling indien nodig wijzigen. Bewerken in de portal wordt momenteel alleen ondersteund in Windows.
  5. Accepteer de standaardopties op de resterende tabbladen, waaronder het standaardgedrag van het maken van een nieuw opslagaccount op het tabblad Storage en een nieuw Application Insight-exemplaar op het tabblad Bewaking . U kunt er ook voor kiezen om een bestaand opslagaccount of Application Insights-exemplaar te gebruiken.

  6. Selecteer Beoordelen en maken om de gekozen app-configuratie te controleren en selecteer vervolgens Maken om de functie-app in te richten en te implementeren.

  7. Selecteer het Meldingspictogram in de rechterbovenhoek van de portal en zoek het bericht Implementatie voltooid.

  8. Selecteer Naar de resource gaan om uw nieuwe functie-app te bekijken. U kunt ook Vastmaken aan dashboard selecteren. Vastmaken maakt het gemakkelijker om terug te gaan naar deze functie-app-resource vanuit uw dashboard.

    Schermopname van de implementatiemelding.

Vervolgens maakt u een functie in de nieuwe functie-app.

Een Azure Cosmos DB-trigger maken

  1. Selecteer Overzicht in uw functie-app en selecteer vervolgens + Maken onder Functions.

  2. Schuif onder Selecteer een sjabloon omlaag en kies de Azure Cosmos DB-triggersjabloon .

  3. Configureer in sjabloondetails de nieuwe trigger met de instellingen die in deze tabel zijn opgegeven en selecteer vervolgens Maken:

    Instelling Voorgestelde waarde Beschrijving
    Nieuwe functie Accepteer de standaardnaam De naam van de functie.
    Verbinding met het Azure Cosmos DB-account Accepteer de standaard nieuwe naam Selecteer Nieuw, het databaseaccount dat u eerder hebt gemaakt en klik vervolgens op OK. Met deze actie maakt u een toepassingsinstelling voor uw accountverbinding. Deze instelling wordt gebruikt door de binding om verbinding te maken met de database.
    Databasenaam Opdrachten De naam van de database die de verzameling bevat die moet worden bewaakt.
    Naam van verzameling Artikelen De naam van de verzameling die moet worden bewaakt.
    Verzamelingsnaam voor leases leases De naam van de verzameling voor het opslaan van de leases.
    Leaseverzameling maken als deze niet bestaat Ja Controleert of de leaseverzameling bestaat en maakt deze automatisch.

    Azure maakt de door Azure Cosmos DB geactiveerde functie op basis van de opgegeven waarden.

  4. Als u de functiecode op basis van sjablonen wilt weergeven, selecteert u Code + Test.

    Azure Cosmos DB-functiesjabloon in C#

    Met deze functiesjabloon worden het aantal documenten en de eerste document-id naar de logboeken geschreven.

Vervolgens maakt u verbinding met uw Azure Cosmos DB-account en maakt u de Items container in de Tasks database.

De container Items maken

  1. Open een tweede exemplaar van Azure Portal op een nieuw tabblad in de browser.

  2. Vouw aan de linkerkant van de portal de pictogrammenbalk uit, typ cosmos in het zoekveld en selecteer Azure Cosmos DB.

    Zoek naar de Azure Cosmos DB-service

  3. Kies uw Azure Cosmos DB-account en selecteer vervolgens Data Explorer.

  4. Kies onder SQL-API de optie Takendatabase en selecteer Nieuwe container.

    Een container maken

  5. Gebruik in Container toevoegen de instellingen die worden weergegeven in de tabel onder de afbeelding.

    De container Taken definiëren

    Instelling Voorgestelde waarde Beschrijving
    Database-id Opdrachten De naam voor de nieuwe database. Dit moet overeenkomen met de naam die is gedefinieerd in de functiebinding.
    Container-id Artikelen De naam voor de nieuwe container. Dit moet overeenkomen met de naam die is gedefinieerd in de functiebinding.
    Partitiesleutel /category Een partitiesleutel waarmee gegevens gelijkmatig worden gedistribueerd naar elke partitie. Het selecteren van de juiste partitiesleutel is belangrijk bij het maken van een krachtige container.
    Doorvoer 400 RU Gebruik de standaardwaarde. U kunt de doorvoer later opschalen als u de latentie wilt beperken.
  6. Klik op OK om de container Items te maken. Het kan even duren voordat de container is gemaakt.

Nadat de container die is opgegeven in de functiebinding bestaat, kunt u de functie testen door items toe te voegen aan deze nieuwe container.

De functie testen

  1. Vouw de container Nieuwe items in Data Explorer uit, kies Items en selecteer Vervolgens Nieuw item.

    Een item maken in de container Items

  2. Vervang de inhoud van het nieuwe item door de volgende inhoud en kies Opslaan.

    {
        "id": "task1",
        "category": "general",
        "description": "some task"
    }
    
  3. Schakel over naar het eerste browsertabblad dat de functie in de portal bevat. Vouw de functielogboeken uit en controleer of de functie is geactiveerd met behulp van het nieuwe document. U ziet nu dat de waarde voor de task1-document-id naar de logboeken is geschreven.

    Bekijk het bericht in de logboeken.

  4. (Optioneel) Ga terug naar het document, breng een wijziging aan en klik op Bijwerken. Ga vervolgens terug naar de functielogboeken en controleer of met de update ook de functie is geactiveerd.

Resources opschonen

Andere Quick Starts in deze verzameling zijn op deze Quick Start gebaseerd. Als u van plan bent om te werken met volgende quickstarts, zelfstudies of met een van de services die u in deze quickstart hebt gemaakt, moet u de resources niet opschonen.

Resources verwijst in Azure naar functie-apps, functies, opslagaccounts,enzovoort. Deze zijn gegroepeerd in resourcegroepen. U kunt alle resources in een groep verwijderen door de groep zelf te verwijderen.

U hebt resources gemaakt om deze quickstarts te voltooien. Mogelijk wordt u gefactureerd voor deze resources, afhankelijk van uw accountstatus en serviceprijzen. Als u de resources niet meer nodig hebt, kunt u ze als volgt verwijderen:

  1. Ga in Azure Portal naar de pagina Resourcegroep.

    Als u naar die pagina wilt gaan op de pagina van de functie-app, selecteert u het tabblad Overzicht en selecteert u vervolgens de koppeling onder Resourcegroep.

    Schermopname van het selecteren van de resourcegroep die u wilt verwijderen van de pagina van de functie-app.

    Selecteer Resourcegroepen en selecteer vervolgens de resourcegroep die u voor dit artikel hebt gebruikt om naar die pagina te gaan.

  2. Bekijk op de pagina Resourcegroep de lijst met opgenomen resources, en controleer of dit de resources zijn die u wilt verwijderen.

  3. Selecteer Resourcegroep verwijderen en volg de instructies.

    Het verwijderen kan enkele minuten duren. Wanneer dit is voltooid, verschijnt een aantal seconden een melding in beeld. U kunt ook het belpictogram bovenaan de pagina selecteren om de melding te bekijken.

Volgende stappen

U hebt een functie gemaakt die wordt uitgevoerd wanneer een document wordt toegevoegd of gewijzigd in uw Azure Cosmos DB-account. Zie Azure Cosmos DB bindings for Azure Functions (Azure Cosmos DB-bindingen voor Azure Functions) voor meer informatie over Azure Cosmos DB-triggers.

Nu u uw eerste functie hebt gemaakt, gaan we een uitvoerbinding aan de functie toevoegen die een bericht naar een opslagwachtrij schrijft.