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


Batch-végpontok futtatása Event Grid-eseményekből a tárolóban

ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)

Az Event Grid egy teljes körűen felügyelt szolgáltatás, amellyel egyszerűen kezelheti az eseményeket számos különböző Azure-szolgáltatásban és alkalmazásban. A szolgáltatás leegyszerűsíti az eseményvezérelt és kiszolgáló nélküli alkalmazások létrehozását. Ez az oktatóanyag bemutatja, hogyan aktiválhatja a batch-végpont feladatát a fájlok feldolgozásához, amint létrehozták őket egy tárfiókban. Az architektúra egy logikai alkalmazás munkafolyamatával előfizet ezekre az eseményekre, és aktiválja a végpontot.

Az alábbi ábra a megoldás architektúrájának szemlélteti:

Az elméleti diagram az architektúra összetevőit mutatja be.

A következő lépések a megoldás magas szintű lépéseit ismertetik:

  1. Amikor egy új blobot egy adott tárfiókban hoz létre, egy fájl által létrehozott esemény aktiválódik.

  2. A rendszer elküldi az eseményt az Event Gridnek az összes előfizető számára történő feldolgozáshoz.

  3. A logikai alkalmazás munkafolyamata feliratkozik és figyeli ezeket az eseményeket.

    A tárfiók több adategységet is tartalmazhat, ezért az eseményszűrés csak a tárfiók egy adott mappájában zajló eseményekre reagál. Szükség esetén további szűrés is elvégezhető, például fájlkiterjesztések alapján.

  4. A logikai alkalmazás munkafolyamata aktiválódik, és a következő műveleteket hajtja végre:

    1. Lekéri az engedélyezési jogkivonatot a batch-végpontok meghívásához egy szolgáltatásnév hitelesítő adataival.

    2. Aktiválja a kötegvégpontot (alapértelmezett üzembe helyezés) az újonnan létrehozott fájl bemenetként való használatával.

  5. A kötegvégpont a fájl feldolgozásához létrehozott feladat nevét adja vissza.

Fontos

Amikor olyan logikai alkalmazás-munkafolyamatot használ, amely az Event Griddel csatlakozik a kötegvégpont meghívásához, a tárfiókban létrehozott blobfájlonként egy-egy feladatot hoz létre. Ne feledje, hogy a kötegelt végpontok fájlszinten terjesztik a munkát, így nem történik párhuzamosítás. Ehelyett a kötegvégpontok képességével több feladatot is végrehajthat ugyanazon a számítási fürtön. Ha a feladatokat teljes mappákon kell automatikusan futtatnia, javasoljuk, hogy váltson a kötegvégpontok meghívására az Azure Data Factoryből.

Előfeltételek

  • A modell megfelelően van üzembe helyezve kötegelt végpontként. Ezt az architektúrát szükség esetén kibővítheti a folyamatösszetevők üzembe helyezésével.

  • A kötegelt üzembe helyezés egy úgynevezett számítási fürtben batch-clusterfut.

  • A létrehozott logikai alkalmazás REST használatával kommunikál az Azure Machine Learning kötegelt végpontjaival.

    A REST API kötegelt végpontokhoz való használatával kapcsolatos további információkért lásd : Feladatok és bemeneti adatok létrehozása kötegelt végpontokhoz.

Hitelesítés kötegelt végpontokon

Az Azure Logic Apps a HTTP-művelettel meghívhatja a kötegelt végpontok REST API-jait. A Batch-végpontok támogatják a Microsoft Entra-azonosítót az engedélyezéshez, ezért az API-knak küldött kérések megfelelő hitelesítést igényelnek.

Ez az oktatóanyag szolgáltatásnevet használ a batch-végpontokkal való hitelesítéshez és interakcióhoz ebben a forgatókönyvben.

  1. Hozzon létre egy egyszerű szolgáltatást az alkalmazás Regisztrálása a Microsoft Entra-azonosítóval és egy szolgáltatásnév létrehozásával.

  2. Hozzon létre egy titkos kulcsot a hitelesítéshez a következő 3. lehetőséggel: Új ügyfélkód létrehozása.

  3. Mindenképpen mentse a létrehozott titkos ügyfélkód értékét, amely csak egyszer jelenik meg.

  4. Ügyeljen arra, hogy az client ID alkalmazás Áttekintés paneljén mentse az tenant id és azokat.

  5. Adjon hozzáférést a szolgáltatásnévnek a munkaterülethez a Hozzáférés engedélyezése parancsot követve. Ebben a példában a szolgáltatásnévnek a következőkre van szüksége:

    • A munkaterület engedélye kötegtelepítések olvasására és műveletek végrehajtására.
    • Olvasási/írási engedélyek az adattárakban.

Adathozzáférés engedélyezése

Az üzembe helyezési feladatnak küldeni kívánt bemeneti adatok jelzéséhez ez az oktatóanyag az Event Grid által biztosított felhőalapú URI-kat használja. A Batch-végpontok a számítás identitását használják az adatok csatlakoztatásához, miközben a feladat identitása megmarad a csatlakoztatott adatok olvasásához. Ezért hozzá kell rendelnie egy felhasználó által hozzárendelt felügyelt identitást a számítási fürthöz, és gondoskodnia kell arról, hogy a fürt hozzáférhessen a mögöttes adatok csatlakoztatásához. Az adathozzáférés biztosításához kövesse az alábbi lépéseket:

  1. Felügyelt identitáserőforrás létrehozása:

    IDENTITY=$(az identity create  -n azureml-cpu-cluster-idn  --query id -o tsv)
    
  2. Frissítse a számítási fürtöt a létrehozott felügyelt identitás használatára:

    Feljegyzés

    Ez a példa feltételezi, hogy létrehozott egy számítási fürtöt cpu-cluster , amelyet a végpont alapértelmezett üzembe helyezéséhez használnak.

    az ml compute update --name cpu-cluster --identity-type user_assigned --user-assigned-identities $IDENTITY
    
  3. Az Azure Portalon győződjön meg arról, hogy a felügyelt identitás megfelelő engedélyekkel rendelkezik az adatok olvasásához.

    A tárolási szolgáltatások eléréséhez legalább Storage Blob Data Reader-hozzáféréssel kell rendelkeznie a tárfiókhoz. Csak a tárfiókok tulajdonosai módosíthatják a hozzáférési szintet az Azure Portalon keresztül.

Logikai alkalmazás létrehozása

  1. Az Azure Portal azure-kezdőlapján válassza az Erőforrás létrehozása lehetőséget.

  2. Az Azure Marketplace menüjében válassza az Integrációs>logikai alkalmazás lehetőséget.

    Képernyőkép az Azure Marketplace menüjéről, amelyen az integráció és a logikai alkalmazás kiválasztott beállításai láthatók.

  3. A Logikai alkalmazás létrehozása panel Alapszintű beállítások lapján adja meg a következő információkat a logikai alkalmazás erőforrásáról.

    Tulajdonság Kötelező Érték Leírás
    Előfizetés Igen <Azure-előfizetés-neve> Az Azure-előfizetés neve. Ez a példa használatalapú fizetést használ.
    Erőforráscsoport Igen LA-TravelTime-RG Az Azure-erőforráscsoport , amelyben a logikai alkalmazás erőforrását és a kapcsolódó erőforrásokat hozza létre. Ennek a névnek régiókon belül egyedinek kell lennie, és csak betűket, számokat, kötőjeleket (-), aláhúzásjeleket (_), zárójeleket ((, )) és pontokat (.) tartalmazhat.
    Név Igen LA-TravelTime A logikai alkalmazás erőforrásának neve, amelynek régiókon belül egyedinek kell lennie, és csak betűket, számokat, kötőjeleket (-), aláhúzásjeleket (_), zárójeleket ((, )) és pontokat (.) tartalmazhat.

    Képernyőkép az Azure Portalról, a logikaialkalmazás-létrehozási panelről és az új logikaialkalmazás-erőforrás adatairól.

  4. A kijelölés folytatása előtt lépjen a Terv szakaszra. A Csomag típusa beállításnál válassza a Használat lehetőséget, hogy csak a több-bérlős Azure Logic Appsben futó Használat logikai alkalmazás munkafolyamatának beállításait jelenítse meg.

    Fontos

    A privát kapcsolattal kompatibilis munkaterületek esetében az Azure Logic Apps standard csomagját kell használnia a privát hálózatkezelés konfigurálásának engedélyezésével.

    A Plan type tulajdonság a használni kívánt számlázási modellt is meghatározza.

    Konstrukció típusa Leírás
    Standard Ez a logikai alkalmazástípus az alapértelmezett kijelölés, amely egybérlős Azure Logic Appsben fut, és a Standard díjszabási modellt használja.
    Fogyasztás Ez a logikai alkalmazástípus globális, több-bérlős Azure Logic Apps-alkalmazásokban fut, és a használatalapú díjszabási modellt használja.
  5. Most folytassa a következő kijelölésekkel:

    Tulajdonság Kötelező Érték Leírás
    Régió Igen USA nyugati régiója Az azure-adatközpont régiója az alkalmazás adatainak tárolásához. Ez a példa üzembe helyezi a minta logikai alkalmazást az USA nyugati régiójában az Azure-ban.

    Megjegyzés: Ha az előfizetése egy integrációs szolgáltatási környezethez van társítva, ez a lista tartalmazza ezeket a környezeteket.
    Naplóelemzés engedélyezése Igen Nem Ez a beállítás csak akkor jelenik meg és alkalmazható, ha a Használat logikai alkalmazás típusát választja. Ezt a beállítást csak akkor módosítsa, ha engedélyezni szeretné a diagnosztikai naplózást. Ebben az oktatóanyagban tartsa meg az alapértelmezett kijelölést.
  6. Ha elkészült, válassza a Véleményezés + létrehozás lehetőséget. Miután az Azure érvényesítette a logikai alkalmazás erőforrásával kapcsolatos információkat, válassza a Létrehozás lehetőséget.

  7. Miután az Azure üzembe helyezi az alkalmazást, válassza az Ugrás az erőforráshoz lehetőséget.

    Az Azure megnyitja a logikai alkalmazás munkafolyamat-tervezőját.

A munkafolyamat paramétereinek konfigurálása

Ez a logikai alkalmazás-munkafolyamat paraméterekkel tárolja a kötegelt üzembe helyezés futtatásához szükséges bizonyos információkat.

  1. A munkafolyamat-tervező eszköztárán válassza a Paraméterek lehetőséget.

    Képernyőkép a munkafolyamathoz szükséges paraméterek definiálásához szükséges Paraméterek panelről.

  2. A Paraméterek panelen válassza a Paraméter létrehozása lehetőséget, és adja meg a következő információkat az egyes létrehozandó paraméterekről:

    Tipp.

    Használja a kötegelt végpontok hitelesítésénél konfigurált értékeket.

    Paraméter neve Leírás Mintaérték
    tenant_id A végpont üzembe helyezésének bérlőazonosítója. 00000000-0000-0000-00000000
    client_id A végpont meghívásához használt szolgáltatásnév ügyfélazonosítója. 00000000-0000-0000-00000000
    client_secret A végpont meghívásához használt szolgáltatásnév ügyféltitkára. ABCDEFGhijkLMNOPQRstUVwz
    endpoint_uri A végpont URI-pontozása.

    Fontos: Ez az URI a végrehajtani kívánt végponthoz tartozik. A végpontnak konfigurálva kell lennie egy alapértelmezett üzembe helyezéssel.
    https://<endpoint_name>.<region>.inference.ml.azure.com/jobs

    Az alábbi példa egy mintaparamétert mutat be:

    Képernyőkép egy paraméter tervezőben való hozzáadásáról.

    További információ: Környezetközi paraméterek létrehozása munkafolyamat-bemenetekhez az Azure Logic Appsben.

Az eseményindító hozzáadása

Minden alkalommal aktiválni szeretnénk a logikai alkalmazás munkafolyamatát, amikor új fájl jön létre egy tárfiók adott mappájában (adategységében). A logikai alkalmazás az esemény információi alapján hívja meg a kötegvégpontot, és adja át az adott fájlt a feldolgozáshoz.

  1. A munkafolyamat-tervezőben kövesse az alábbi általános lépéseket egy Erőforrásesemény bekövetkeztekor nevű Event Grid-eseményindító hozzáadásához.

  2. A kapcsolati adatok mezőben válassza ki a használni kívánt hitelesítési típust, majd válassza a Bejelentkezés lehetőséget.

  3. Az eseményindító mezőben adja meg a következő információkat:

    Tulajdonság Érték Leírás
    Erőforrás típusa Microsoft.Storage.StorageAccounts Az eseményeket kibocsátó erőforrástípus.
    Előfizetés Az Ön előfizetésének a neve A tárfiók előfizetése.
    Erőforrás neve A tárfiók neve Annak a tárfióknak a neve, amelyben a fájlok létre vannak hozva.
    Eseménytípus-elem Microsoft.Storage.BlobCreated Az esemény típusa.
  4. A Speciális paraméterek listájában válassza az Előtagszűrő lehetőséget, és adja meg a következő értéket:

    /blobServices/default/containers/<container-name>/blobs/<path-to-data-folder>

    Fontos

    Az Előtagszűrő tulajdonság lehetővé teszi, hogy az Event Grid csak akkor értesítse a munkafolyamatot, ha egy blob a megadott elérési úton jön létre. Ebben az esetben feltételezzük, hogy a fájlokat valamilyen külső folyamat hozza létre a kiválasztott tárfiókban található tárolónévben>< található elérési út az adatokhoz mappa által< megadott mappában.> Konfigurálja ezt a paramétert az adatok helyének megfelelően. Ellenkező esetben az esemény a tárfiók bármely pontján létrehozott fájl esetében aktiválódik. További információ: Event Grid eseményszűrése.

    Az alábbi példa az eseményindító megjelenését mutatja be:

    Képernyőkép a logikai alkalmazás eseményindító tevékenységéről.

A műveletek konfigurálása

  1. Az erőforrásesemény eseményindítója alatt kövesse az alábbi általános lépéseket a HTTP-művelet hozzáadásához. Nevezze át a műveletet engedélyezésre.

  2. Az Engedélyezés műveletben adja meg a következő információkat:

    Tulajdonság Érték Jegyzetek
    Módszer POST A HTTP-metódus
    URI concat('https://login.microsoftonline.com/', parameters('tenant_id'), '/oauth2/token') A kifejezés megadásához válassza ki az URI mezőben. A megjelenő beállítások közül válassza a kifejezésszerkesztőt (képletikon).
    Fejlécek Content-Type érték application/x-www-form-urlencoded
    Törzs concat('grant_type=client_credentials&client_id=', parameters('client_id'), '&client_secret=', parameters('client_secret'), '&resource=https://ml.azure.com') A kifejezés megadásához válassza ki a Törzs mezőben. A megjelenő beállítások közül válassza a kifejezésszerkesztőt (képletikon).

    Az alábbi példa egy minta engedélyezési műveletet mutat be:

    Képernyőkép a logikai alkalmazás munkafolyamatában található Engedélyezés mintaműveletről.

  3. Az Engedélyezés művelet alatt adjon hozzá egy másik HTTP-műveletet, és nevezze át a címet meghívásra.

  4. A Meghívás műveletben adja meg a következő információkat:

    Tulajdonság Érték Jegyzetek
    Módszer POST A HTTP-metódus
    URI endpoint_uri Válassza az URI mezőben, majd a Paraméterek területen válassza a endpoint_uri.
    Fejlécek Content-Type érték application/json
    Fejlécek Authorization érték concat('Bearer ', body('Authorize')['access_token']) A kifejezés megadásához válassza az Élőfejek mezőben. A megjelenő beállítások közül válassza a kifejezésszerkesztőt (képletikon).
  5. Válassza ki a Törzs mezőben, és a megjelenő beállítások közül válassza a kifejezésszerkesztőt (képletikon) a következő kifejezés megadásához:

    replace('{
     "properties": {
       "InputData": {
         "mnistinput": {
            "JobInputType" : "UriFile",
            "Uri" : "<JOB_INPUT_URI>"
         }
       }
      }
    }', '<JOB_INPUT_URI>', triggerBody()?[0]['data']['url'])
    

    Tipp.

    Az előző hasznos adat egy modelltelepítésnek felel meg. Ha egy folyamatösszetevő üzembe helyezésével dolgozik, módosítsa a formátumot a folyamat bemeneteinek elvárásainak megfelelően. A REST-hívások bemenetének strukturálásáról további információt a Batch-végpontok (REST) feladat- és bemeneti adatainak létrehozása című témakörben talál.

    Az alábbi példa egy meghívási mintaműveletet mutat be:

    Képernyőkép a példahívási műveletről a logikai alkalmazás munkafolyamatában.

    Feljegyzés

    A meghívási művelet aktiválja a kötegelt feladatot, de a művelet nem várja meg a befejezését. Alapértelmezés szerint az Azure Logic Apps nincs beállítva hosszú ideig futó alkalmazásokhoz. Ha meg kell várnia a feladat befejezését, javasoljuk, hogy váltson kötegelt végpontok futtatására az Azure Data Factoryből.

  6. Ha végzett, mentse a munkafolyamatot.

    A logikai alkalmazás munkafolyamata készen áll a végrehajtásra, és automatikusan aktiválódik minden alkalommal, amikor új fájl jön létre a megadott elérési út alatt.

  7. Annak ellenőrzéséhez, hogy az alkalmazás sikeresen kapott-e eseményt, ellenőrizze az alkalmazás Futtatás előzményeit:

    Képernyőkép a logikai alkalmazás munkafolyamatának futtatási előzményeiről.

Következő lépések