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:
A következő lépések a megoldás magas szintű lépéseit ismertetik:
Amikor egy új blobot egy adott tárfiókban hoz létre, egy fájl által létrehozott esemény aktiválódik.
A rendszer elküldi az eseményt az Event Gridnek az összes előfizető számára történő feldolgozáshoz.
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.
A logikai alkalmazás munkafolyamata aktiválódik, és a következő műveleteket hajtja végre:
Lekéri az engedélyezési jogkivonatot a batch-végpontok meghívásához egy szolgáltatásnév hitelesítő adataival.
Aktiválja a kötegvégpontot (alapértelmezett üzembe helyezés) az újonnan létrehozott fájl bemenetként való használatával.
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-cluster
fut.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.
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.
Hozzon létre egy titkos kulcsot a hitelesítéshez a következő 3. lehetőséggel: Új ügyfélkód létrehozása.
Mindenképpen mentse a létrehozott titkos ügyfélkód értékét, amely csak egyszer jelenik meg.
Ügyeljen arra, hogy az
client ID
alkalmazás Áttekintés paneljén mentse aztenant id
és azokat.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:
Felügyelt identitáserőforrás létrehozása:
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 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
Az Azure Portal azure-kezdőlapján válassza az Erőforrás létrehozása lehetőséget.
Az Azure Marketplace menüjében válassza az Integrációs>logikai alkalmazás lehetőséget.
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.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. 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. 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. 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.
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.
A munkafolyamat-tervező eszköztárán válassza a Paraméterek lehetőséget.
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:
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.
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.
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.
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. 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:
A műveletek konfigurálása
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.
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ékapplication/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:
Az Engedélyezés művelet alatt adjon hozzá egy másik HTTP-műveletet, és nevezze át a címet meghívásra.
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ékapplication/json
Fejlécek Authorization
értékconcat('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). 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:
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.
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.
Annak ellenőrzéséhez, hogy az alkalmazás sikeresen kapott-e eseményt, ellenőrizze az alkalmazás Futtatás előzményeit: