Az Azure Stream Analytics CI/CD NuGet-csomag használata integrációhoz és fejlesztéshez
Ez a cikk azt ismerteti, hogyan állíthat be folyamatos integrációs és üzembe helyezési folyamatot az Azure Stream Analytics CI/CD NuGet-csomag használatával.
Az MSBuild támogatásához használja a Visual Studióhoz készült Stream Analytics-eszközök 2.3.0000.0-s vagy újabb verzióját.
NuGet-csomag érhető el: Microsoft.Azure.Stream Analytics.CICD. Az MSBuild, a helyi futtatás és az üzembe helyezés eszközeit biztosítja, amelyek támogatják a Stream Analytics Visual Studio-projektek folyamatos integrációját és üzembe helyezését.
Feljegyzés
A NuGet-csomag csak a Stream Analytics Tools for Visual Studio 2.3.0000.0 vagy újabb verziójával használható. Ha a Visual Studio-eszközök korábbi verzióiban hozott létre projekteket, csak nyissa meg őket a 2.3.0000.0-s vagy újabb verzióval, és mentse őket. Ezután az új képességek engedélyezve lesznek.
További információ: Stream Analytics-eszközök a Visual Studióhoz.
Msbuild
A Standard Visual Studio MSBuild felülethez hasonlóan egy projekt létrehozásához két lehetősége van. Kattintson a jobb gombbal a projektre, majd válassza a Build parancsot. Az MSBuild parancsot a NuGet-csomagban is használhatja a parancssorból.
./build/msbuild /t:build [Your Project Full Path] /p:CompilerTaskAssemblyFile=Microsoft.WindowsAzure.StreamAnalytics.Common.CompileService.dll /p:ASATargetsFilePath="[NuGet Package Local Path]\build\StreamAnalytics.targets"
Ha egy Stream Analytics Visual Studio-projekt sikeresen buildel, a következő két Azure Resource Manager-sablonfájlt hozza létre a bin/[Debug/Retail]/Deploy mappa alatt:
Resource Manager-sablonfájl
[ProjectName].JobTemplate.json
Resource Manager-paraméterek fájlja
[ProjectName].JobTemplate.parameters.json
A parameters.json fájl alapértelmezett paraméterei a Visual Studio-projekt beállításaiból származnak. Ha egy másik környezetben szeretné üzembe helyezni az üzembe helyezést, cserélje le a paramétereket ennek megfelelően.
Feljegyzés
Az összes hitelesítő adat esetében az alapértelmezett értékek null értékre vannak állítva. A felhőben való üzembe helyezés előtt be kell állítania az értékeket.
"Input_EntryStream_sharedAccessPolicyKey": {
"value": null
},
További információ a Resource Manager-sablonfájlokkal és az Azure PowerShell-lel való üzembe helyezésről. További információ az objektumok paraméterként való használatáról a Resource Manager-sablonban.
Ahhoz, hogy az Azure Data Lake Store Gen2 felügyelt identitását kimeneti fogadóként használhassa, a PowerShell használatával meg kell adnia a szolgáltatásnévhez való hozzáférést, mielőtt üzembe helyeznénk az Azure-ban. További információ az ADLS Gen2 felügyelt identitással való üzembe helyezéséről Resource Manager-sablonnal.
Parancssori eszköz
A projekt felépítése
A NuGet-csomag egy SA.exe nevű parancssori eszközzel rendelkezik. Támogatja a projektek összeállítását és a helyi tesztelést egy tetszőleges gépen, amelyet a folyamatos integrációs és folyamatos kézbesítési folyamat során használhat.
Az üzembehelyezési fájlok alapértelmezés szerint az aktuális könyvtár alá kerülnek. A kimeneti elérési utat a következő -OutputPath paraméterrel adhatja meg:
./tools/SA.exe build -Project [Your Project Full Path] [-OutputPath <outputPath>]
A szkript helyi tesztelése
Ha a projekt helyi bemeneti fájlokat adott meg a Visual Studióban, a localrun paranccsal futtathat egy automatizált szkripttesztet. A kimeneti eredmény az aktuális könyvtár alá kerül.
localrun -Project [ProjectFullPath]
Feladatdefiníciós fájl létrehozása a Stream Analytics PowerShell API-val való használatához
Az arm parancs bemenetként veszi a buildelés során létrehozott feladatsablont és feladatsablon paraméterfájljait. Ezután egy feladatdefiníciós JSON-fájlba egyesíti őket, amely a Stream Analytics PowerShell API-val használható.
arm -JobTemplate <templateFilePath> -JobParameterFile <jobParameterFilePath> [-OutputFile <asaArmFilePath>]
Példa:
./tools/SA.exe arm -JobTemplate "ProjectA.JobTemplate.json" -JobParameterFile "ProjectA.JobTemplate.parameters.json" -OutputFile "JobDefinition.json"