Megosztás a következőn keresztül:


Rövid útmutató: Egyéni események átirányítása Egy Azure-függvényhez az Event Grid használatával

Az Azure Event Grid egy esemény-útválasztási szolgáltatás a felhő számára. Az Azure Functions az egyik támogatott eseménykezelő.

Ebben a rövid útmutatóban az Azure Portalon hozhat létre egyéni témakört, feliratkozhat az egyéni témakörre, és aktiválhatja az eseményt az eredmény megtekintéséhez. Az eseményeket egy Azure-függvénynek küldi el.

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

Függvény létrehozása Event Grid-eseményindítóval a Visual Studio Code használatával

Ebben a szakaszban a Visual Studio Code használatával hozhat létre egy Event Grid-eseményindítóval rendelkező függvényt.

Előfeltételek

Függvény létrehozása

  1. Nyissa meg a Visual Studio Code-ot.

  2. A bal oldali sávon válassza az Azure-t.

  3. A bal oldali panel MUNKATERÜLET szakaszában válassza a parancssávOn az Azure Functions gombot, majd válassza a Függvény létrehozása lehetőséget.

    Képernyőkép a Visual Studio Code Azure-lapján a függvény létrehozásához szükséges menüparancsról.

  4. Jelölje ki azt a mappát, ahová menteni szeretné a függvénykódot.

  5. Az Új projekt létrehozása parancs nyelvhez válassza a C#, majd az Enter billentyűt.

    Az Azure-függvények fejlesztéséhez használt nyelvként a C Sharp kiválasztását bemutató képernyőkép.

  6. .NET-futtatókörnyezet esetén válassza a .NET 8.0 Izolált LTS lehetőséget, majd válassza az Enter billentyűt.

  7. A függvény sablonja esetén válassza az Azure Event Grid-eseményindítót, majd az Enter billentyűt.

  8. Függvénynévként adja meg a függvény nevét, majd válassza az Enter billentyűt.

  9. Névtér esetén adja meg a függvény névterének nevét, majd válassza az Enter billentyűt.

  10. Nyissa meg a projektet az aktuális ablakban vagy egy új ablakban, vagy vegye fel egy munkaterületre.

  11. Várja meg, amíg a függvény létrejön. A függvény létrehozásának állapota a jobb alsó sarokban jelenik meg.

    A függvénylétrehozás állapotát bemutató képernyőkép.

  12. Tekintse meg a kódot a YourFunctionName.cs fájlban, különösen a metódusban Run . Az adatokat egy naplózó használatával nyomtatja ki.

    [Function(nameof(MyEventGridTriggerFunc))]
    public void Run([EventGridTrigger] CloudEvent cloudEvent)
    {
        _logger.LogInformation("Event type: {type}, Event subject: {subject}", cloudEvent.Type, cloudEvent.Subject);
    }
    

A függvény üzembe helyezése az Azure-ban

  1. Válassza az Azure gombot a bal oldali sávon, ha az Azure-ablaktábla még nincs megnyitva.

  2. Vigye az egérmutatót a projekt fölé, és válassza az Üzembe helyezés az Azure-ban gombot.

    Képernyőkép az Azure-ban való üzembe helyezés gombról.

  3. A parancskatalógus legördülő listájában válassza az + Új függvényalkalmazás létrehozása lehetőséget, majd válassza az Enter billentyűt.

  4. A Név mezőben adjon meg egy globálisan egyedi nevet az új függvényalkalmazásnak, majd válassza az Enter billentyűt.

  5. Futtatókörnyezeti verem esetén válassza a .NET 8 Izolálva lehetőséget.

  6. Az Azure-erőforrások helyének megadásához válasszon ki egy Önhöz közeli régiót.

  7. A függvényalkalmazás létrehozásának állapota az alsó panel AZURE lapján jelenik meg. A függvényalkalmazás létrehozása után megjelenik a helyileg létrehozott függvény üzembe helyezésének állapota a függvényalkalmazásban.

  8. Miután az üzembe helyezés sikeres volt, bontsa ki a Függvényalkalmazás létrehozása sikeres üzenetet, és kattintson a Kattintás gombra az erőforrás megtekintéséhez. Győződjön meg arról, hogy a függvény ki van jelölve a bal oldali panel RESOURCES szakaszában.

  9. Kattintson a jobb gombbal a függvényre, majd válassza a Megnyitás a portálon lehetőséget.

    A függvény portálon való megnyitására szolgáló kijelöléseket bemutató képernyőkép.

  10. Szükség esetén jelentkezzen be az Azure-ba, és győződjön meg arról, hogy megjelenik a Függvényalkalmazás lap a függvényhez.

  11. Az alsó panelen válassza ki a függvényt.

    Képernyőkép egy Azure-függvény kiválasztásáról a Függvényalkalmazás lapon.

  12. Váltson a Naplók lapra. Tartsa nyitva ezt a lapot, hogy a naplózott üzenetek megjelenjenek, amikor eseményt küld egy Event Grid-témakörbe az oktatóanyag későbbi részében.

    Képernyőkép egy függvény Naplók lapjáról az Azure Portalon.

Egyéni témakör létrehozása

Az Event Grid-témakör egy felhasználó által definiált végpontot biztosít, amelybe az eseményeket közzéteheti.

  1. A böngészőablak új lapján jelentkezzen be az Azure Portalra.

  2. A témakör keresősávján keresse meg az Event Grid-témaköröket, majd válassza az Event Grid-témaköröket.

    Képernyőkép az Event Grid-témakörök kiválasztásáról.

  3. A Témakörök lapon válassza a + Létrehozás lehetőséget a parancssávon.

    Képernyőkép az Event Grid-témakör létrehozásához szükséges gombról.

  4. A Témakör létrehozása panelen kövesse az alábbi lépéseket:

    1. Előfizetés esetén válassza ki az Azure-előfizetését.

    2. Erőforráscsoport esetén válassza ki ugyanazt az erőforráscsoportot az előző lépésekből.

    3. A Név mezőbe adjon meg egy egyedi nevet az egyéni témakörhöz. A témakör nevének egyedinek kell lennie, mert egy DNS-bejegyzés jelöli.

      Ne használja a példaképben látható nevet. Ehelyett hozzon létre egy saját nevet. 3-50 karakter hosszúságúnak kell lennie, és csak az a-z, A-Z, 0-9 és kötőjelet (-) kell tartalmaznia.

    4. Régió esetén válassza ki az Event Grid-témakör helyét.

    5. Válassza az Áttekintés + létrehozás lehetőséget.

      Képernyőkép a témakör létrehozásához használt panelről.

    6. A Véleményezés + létrehozás lapon tekintse át a beállításokat, majd válassza a Létrehozás lehetőséget.

  5. Az egyéni témakör létrehozása után az Erőforrás megnyitása hivatkozásra kattintva nyissa meg a témakör Event Grid-témakör lapját.

    Egyéni Event Grid-témakör lapját bemutató képernyőkép.

Feliratkozás egyéni témakörre

Előfizethet egy Event Grid-témakörre, amelyből megtudhatja, hogy az Event Grid mely eseményeket szeretné nyomon követni, és hová szeretné elküldeni az eseményeket.

  1. Az egyéni témakör Event Grid-témakör lapján válassza az eszköztár + Esemény-előfizetés lehetőséget.

    Képernyőkép az esemény-előfizetés hozzáadásának gombról az eszköztáron.

  2. Az Esemény-előfizetés létrehozása panelen kövesse az alábbi lépéseket:

    1. A Név mezőben adja meg az esemény-előfizetés nevét.

    2. Eseményséma esetén válassza a Cloud Event Schema v1.0 lehetőséget.

    3. Végponttípus esetén válassza az Azure-függvényt.

    4. Válassza a Végpont konfigurálása lehetőséget.

      Képernyőkép az esemény-előfizetés értékeiről.

    5. Az Azure-függvény kiválasztása panelen kövesse az alábbi lépéseket:

      1. Előfizetés esetén válassza ki a függvényt tartalmazó Azure-előfizetést.

      2. Az Erőforráscsoport esetében válassza ki a függvényt tartalmazó erőforráscsoportot.

      3. Függvényalkalmazás esetén válassza ki a függvényalkalmazást.

      4. Függvény esetén válassza ki a függvényt a függvényalkalmazásban.

      5. Válassza a Kiválasztás megerősítése lehetőséget.

        A korábban létrehozott Azure-függvény kiválasztására szolgáló panel képernyőképe.

    6. Ez a lépés nem kötelező, de éles forgatókönyvekhez ajánljuk. Az Esemény-előfizetés létrehozása panelen lépjen a További szolgáltatások lapra, és állítsa be a kötegenkénti max. események és az előnyben részesített kötegméret értékeit kilobájtban.

      A kötegelés nagy átviteli sebességet biztosíthat. Kötegenkénti max. események esetén adja meg az előfizetés által a kötegbe belefoglalt események maximális számát. A kilobájtban megadott előnyben részesített kötegméret a kötegméret előnyben részesített felső határát állítja be, de túlléphető, ha egyetlen esemény nagyobb ennél a küszöbértéknél.

      Képernyőkép egy esemény-előfizetés kötegelési beállításairól.

    7. Az Esemény-előfizetés létrehozása panelen válassza a Létrehozás lehetőséget.

Esemény elküldése a témakörbe

Most aktiváljon egy eseményt, hogy lássa, az Event Grid hogyan osztja el az üzenetet a végponton. Az Azure CLI vagy az Azure PowerShell használatával teszteseményt küldhet az egyéni témakörbe. Általában egy alkalmazás vagy egy Azure-szolgáltatás küldi el az eseményadatokat.

Az első példa az Azure CLI-t használja. Lekéri az egyéni témakör URL-címét és kulcsát, valamint a mintaesemény-adatokat. A topicname helyett használja az egyéni témakör nevét. Ez mintául szolgáló eseményadatokat hoz létre.

A JSON data eleme az esemény hasznos adata. Bármilyen, megfelelően formált JSON megadható ebben a mezőben. A speciális útválasztáshoz és szűréshez használhatja a tárgy mezőt is.

A cURL eszköz HTTP-kéréseket küld. Ebben a cikkben a cURL használatával küldi el az eseményt az egyéni témakörbe.

Azure CLI

  1. Az Azure Portalon válassza a Cloud Shellt. Ha Azure PowerShell-módban van, válassza a Váltás Bashre lehetőséget.

    Az Azure Cloud Shell Bash-ablakát bemutató képernyőkép.

  2. Állítsa be a topicname parancsokban használt és resourcegroupname változókat.

    Cserélje le TOPICNAME az Event Grid-témakör nevére.

    topicname="TOPICNAME"
    

    Cserélje le RESOURCEGROUPNAME az Event Grid-témakört tartalmazó Azure-erőforráscsoport nevére.

    resourcegroupname="RESOURCEGROUPNAME"
    
  3. A témakör végpontjának lekéréséhez használja az alábbi parancsot. A parancs másolása és beillesztése után futtassa a témakör nevét és az erőforráscsoport nevét.

    endpoint=$(az eventgrid topic show --name $topicname -g $resourcegroupname --query "endpoint" --output tsv)
    
  4. Az egyéni témakör kulcsának lekéréséhez használja az alábbi parancsot. A parancs másolása és beillesztése után futtassa a témakör nevét és az erőforráscsoport nevét.

    key=$(az eventgrid topic key list --name $topicname -g $resourcegroupname --query "key1" --output tsv)
    
  5. Másolja ki az alábbi utasítást az eseménydefinícióval, majd válassza az Enter billentyűt.

    event='[ {"id": "'"$RANDOM"'", "eventType": "recordInserted", "subject": "myapp/vehicles/motorcycles", "eventTime": "'`date +%Y-%m-%dT%H:%M:%S%z`'", "data":{ "make": "Ducati", "model": "Monster"},"dataVersion": "1.0"} ]'
    
  6. Futtassa a következő cURL-parancsot az esemény közzétételéhez:

    curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
    
  7. Győződjön meg arról, hogy a függvény üzenete megjelenik a függvény Naplók lapján az Azure Portalon.

    Képernyőkép egy Azure-függvény Naplók lapján.

Azure PowerShell

A második példa az Azure PowerShell használatával végez hasonló lépéseket.

  1. Az Azure Portalon válassza a Cloud Shellt (vagy nyissa meg az Azure Cloud Shell oldalát). A Cloud Shell ablakának bal felső sarkában válassza a Váltás PowerShellre lehetőséget.

  2. Állítsa be a következő változókat. Az egyes parancsok másolása és beillesztése után futtassa a témakör nevét és az erőforráscsoport nevét.

    $resourceGroupName = "RESOURCEGROUPNAME"
    
    $topicName = "TOPICNAME"
    
  3. Futtassa a következő parancsokat a végpont és a témakör kulcsainak lekéréséhez:

    $endpoint = (Get-AzEventGridTopic -ResourceGroupName $resourceGroupName -Name $topicName).Endpoint
    $keys = Get-AzEventGridTopicKey -ResourceGroupName $resourceGroupName -Name $topicName
    
  4. Készítse elő az eseményt. Másolja és futtassa az alábbi utasításokat a Cloud Shell ablakában:

    $eventID = Get-Random 99999
    
    #Date format should be SortableDateTimePattern (ISO 8601)
    $eventDate = Get-Date -Format s
    
    #Construct the body by using a hash table
    $htbody = @{
        id= $eventID
        eventType="recordInserted"
        subject="myapp/vehicles/motorcycles"
        eventTime= $eventDate   
        data= @{
            make="Ducati"
            model="Monster"
        }
        dataVersion="1.0"
    }
    
    #Use ConvertTo-Json to convert the event body from a hash table to a JSON object
    #Append square brackets to the converted JSON payload because they're expected in the event's JSON payload syntax
    $body = "["+(ConvertTo-Json $htbody)+"]"
    
  5. Az esemény elküldéséhez használja a Invoke-WebRequest parancsmagot:

    Invoke-WebRequest -Uri $endpoint -Method POST -Body $body -Headers @{"aeg-sas-key" = $keys.Key1}
    
  6. Győződjön meg arról, hogy a függvény üzenete megjelenik a függvény Naplók lapján az Azure Portalon.

    Egy függvény Naplók lapját megjelenítő képernyőkép.

Ellenőrizze, hogy a függvény megkapta-e az eseményt

Aktiválta az eseményt, és az Event Grid elküldte az üzenetet a feliratkozáskor konfigurált végpontnak. Most ellenőrizheti, hogy a függvény megkapta-e.

  1. A függvény Monitorozás lapján keressen egy meghívást.

    Képernyőkép a Figyelés lap Meghívások lapjáról.

  2. Válassza ki a meghívást a részletek megjelenítéséhez.

    Képernyőkép a meghívás részleteiről.

    A jobb oldali ablaktáblán a Naplók lapon is megtekintheti a naplózott üzeneteket, amikor eseményeket küld a témakör végpontjára.

    Képernyőkép egy függvény monitorozási nézetéről naplóval.

Az erőforrások eltávolítása

Ha folytatni szeretné az esemény használatát, ne törölje a cikkben létrehozott erőforrásokat. Ellenkező esetben törölje a cikkben létrehozott erőforrásokat.

  1. A bal oldali menüben válassza az Erőforráscsoportok lehetőséget.

    Az erőforráscsoportok lapjának képernyőképe

    Másik lehetőségként válassza a bal oldali menü Minden szolgáltatás elemét, majd az Erőforráscsoportok lehetőséget.

  2. Válassza ki az erőforráscsoportot a panel megnyitásához.

  3. Az eszköztáron válassza az Erőforráscsoport törlése lehetőséget.

  4. Erősítse meg a törlést az erőforráscsoport nevének megadásával, majd válassza a Törlés lehetőséget.

A Cloud Shell ablak az Erőforráscsoportok lapon megjelenő másik erőforráscsoportot hozta létre és használta. Törölje ezt az erőforráscsoportot, ha később nem tervezi használni a Cloud Shell ablakot.

Most, hogy megismerkedett vele, hogyan hozhat létre témaköröket és eseményfeliratkozásokat, bővebben is tájékozódhat arról, hogy miben nyújthat segítséget az Event Grid:

Az Eseményrács eseményeinek különböző programozási nyelvek használatával történő közzétételéről és az események felhasználásáról az alábbi példákban tájékozódhat: