Het Azure Stream Analytics CI/CD NuGet-pakket gebruiken voor integratie en ontwikkeling
In dit artikel wordt beschreven hoe u het NuGet-pakket azure Stream Analytics CI/CD gebruikt om een doorlopend integratie- en implementatieproces in te stellen.
Gebruik versie 2.3.0000.0 of hoger van Stream Analytics-hulpprogramma's voor Visual Studio om ondersteuning te krijgen voor MSBuild.
Er is een NuGet-pakket beschikbaar: Microsoft.Azure.Stream Analytics.CICD. Het biedt de MSBuild-, lokale uitvoerings- en implementatiehulpprogramma's die ondersteuning bieden voor het continue integratie- en implementatieproces van Stream Analytics Visual Studio-projecten.
Notitie
Het NuGet-pakket kan alleen worden gebruikt met de versie 2.3.0000.0 of hoger van Stream Analytics Tools voor Visual Studio. Als u projecten hebt gemaakt in eerdere versies van Visual Studio-hulpprogramma's, opent u ze met de versie 2.3.0000.0 of hoger en slaat u deze op. Vervolgens zijn de nieuwe mogelijkheden ingeschakeld.
Zie Stream Analytics-hulpprogramma's voor Visual Studio voor meer informatie.
MSBuild
Net als de standaard Visual Studio MSBuild-ervaring hebt u twee opties om een project te bouwen. U kunt met de rechtermuisknop op het project klikken en vervolgens Build kiezen. U kunt MSBuild ook gebruiken in het NuGet-pakket vanaf de opdrachtregel.
./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"
Wanneer een Stream Analytics Visual Studio-project met succes wordt gebouwd, worden de volgende twee Azure Resource Manager-sjabloonbestanden gegenereerd onder de map Bin/[Debug/Retail]/Deploy :
Resource Manager-sjabloonbestand
[ProjectName].JobTemplate.json
Resource Manager-parametersbestand
[ProjectName].JobTemplate.parameters.json
De standaardparameters in het parameters.json-bestand zijn afkomstig van de instellingen in uw Visual Studio-project. Als u wilt implementeren in een andere omgeving, vervangt u de parameters dienovereenkomstig.
Notitie
Voor alle referenties worden de standaardwaarden ingesteld op null. U moet de waarden instellen voordat u in de cloud implementeert.
"Input_EntryStream_sharedAccessPolicyKey": {
"value": null
},
Meer informatie over het implementeren met een Resource Manager-sjabloonbestand en Azure PowerShell. Meer informatie over het gebruik van een object als parameter in een Resource Manager-sjabloon.
Als u Managed Identity voor Azure Data Lake Store Gen2 wilt gebruiken als uitvoersink, moet u Toegang tot de service-principal opgeven met behulp van PowerShell voordat u implementeert in Azure. Meer informatie over het implementeren van ADLS Gen2 met beheerde identiteit met een Resource Manager-sjabloon.
Opdrachtregelprogramma
Het project bouwen
Het NuGet-pakket heeft een opdrachtregelprogramma met de naam SA.exe. Het biedt ondersteuning voor projectbuild en lokaal testen op een willekeurige machine, die u kunt gebruiken in uw continue integratie en continue leveringsproces.
De implementatiebestanden worden standaard onder de huidige map geplaatst. U kunt het uitvoerpad opgeven met behulp van de volgende parameter -OutputPath:
./tools/SA.exe build -Project [Your Project Full Path] [-OutputPath <outputPath>]
Het script lokaal testen
Als uw project lokale invoerbestanden in Visual Studio heeft opgegeven, kunt u een geautomatiseerde scripttest uitvoeren met behulp van de localrun-opdracht . Het uitvoerresultaat wordt onder de huidige map geplaatst.
localrun -Project [ProjectFullPath]
Een taakdefinitiebestand genereren voor gebruik met de Stream Analytics PowerShell-API
Met de arm-opdracht worden de taaksjabloon- en taaksjabloonparameterbestanden gebruikt die worden gegenereerd via build als invoer. Vervolgens worden ze gecombineerd tot een JSON-bestand met taakdefinities dat kan worden gebruikt met de Stream Analytics PowerShell-API.
arm -JobTemplate <templateFilePath> -JobParameterFile <jobParameterFilePath> [-OutputFile <asaArmFilePath>]
Voorbeeld:
./tools/SA.exe arm -JobTemplate "ProjectA.JobTemplate.json" -JobParameterFile "ProjectA.JobTemplate.parameters.json" -OutputFile "JobDefinition.json"