Usar o pacote NuGet de CI/CD do Azure Stream Analytics para integração e desenvolvimento

Este artigo descreve como usar o pacote NuGet de CI/CD do Azure Stream Analytics para configurar um processo de integração e implantação contínuas.

Use a versão 2.3.0000.0 ou superior das ferramentas de Stream Analytics para Visual Studio para obter suporte para MSBuild.

Um pacote NuGet também está disponível: Microsoft.Azure.Stream Analytics.CICD. Ele fornece as ferramentas de MSBuild, execução local e implantação que dão suporte ao processo de integração e implantação contínuas de projetos do Stream Analytics para Visual Studio.

Observação

O pacote NuGet só pode ser usado com a versão 2.3.0000.0 ou superior do Stream Analytics para Visual Studio. Se você tiver projetos criados em versões anteriores das ferramentas do Visual Studio, basta abri-los com o 2.3.0000.0 ou versão superior e salvar. Em seguida, os novos recursos são habilitados.

Para obter mais informações, veja Ferramentas do Stream Analytics para Visual Studio.

MSBuild

Assim como na experiência padrão do MSBuild do Visual Studio, há duas opções para compilar um projeto. Você pode clicar com o botão direito do mouse no projeto e, em seguida, escolher Compilar. Você também pode usar o MSBuild no pacote NuGet da linha de comando.

./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"

Após o build bem-sucedido de um projeto do Stream Analytics para Visual Studio, ele gera os dois arquivos de modelo do Azure Resource Manager a seguir na pasta bin/[Depuração/Versão Comercial]/Deploy:

  • Arquivo de modelo do Resource Manager

    [ProjectName].JobTemplate.json

  • Arquivo de parâmetros do Resource Manager

    [ProjectName].JobTemplate.parameters.json

Os parâmetros padrão no arquivo parameters.json das configurações em seu projeto do Visual Studio. Se você deseja implantar em outro ambiente, apenas substitua os parâmetros adequadamente.

Observação

Para todas as credenciais, os valores padrão são definidos como nulo. Eles precisam ser definidos antes de serem implantados na nuvem.

"Input_EntryStream_sharedAccessPolicyKey": {
      "value": null
    },

Saiba mais sobre como implantar com um arquivo de modelo do Resource Manager e o Azure PowerShell. Saiba mais sobre como usar um objeto como um parâmetro em um modelo do Resource Manager.

Para usar a Identidade Gerenciada para o Azure Data Lake Storage Gen2 como coletor de saída, você precisará fornecer acesso à entidade de serviço usando o PowerShell antes da implantação no Azure. Saiba mais sobre como implantar o ADLS Gen2 com a Identidade Gerenciada e o modelo do Resource Manager.

Ferramenta de linha de comando

Compilar o projeto

O pacote NuGet tem uma ferramenta de linha de comando chamada SA.exe. Ela dá suporte ao build do projeto e a teste local em um computador aleatório, que você pode usar em seu processo de integração contínua e de entrega contínua.

Por padrão, os arquivos de implantação são colocados no diretório atual. Você pode especificar o caminho de saída usando o parâmetro -OutputPath a seguir:

./tools/SA.exe build -Project [Your Project Full Path] [-OutputPath <outputPath>] 

Testar o script localmente

Se o projeto tiver especificado arquivos de entrada locais no Visual Studio, você poderá executar o teste de script automatizado usando o comando localrun. O resultado da saída é colocado no diretório atual.

localrun -Project [ProjectFullPath]

Gere um arquivo de definição de trabalho para usar com a API do PowerShell do Stream Analytics

O comando arm usa o modelo de trabalho e os arquivos de parâmetro de modelo do trabalho gerados por meio da compilação como entrada. Em seguida, ele os combina em um arquivo JSON de definição de trabalho que pode ser usado com a API do PowerShell do Stream Analytics.

arm -JobTemplate <templateFilePath> -JobParameterFile <jobParameterFilePath> [-OutputFile <asaArmFilePath>]

Exemplo:

./tools/SA.exe arm -JobTemplate "ProjectA.JobTemplate.json" -JobParameterFile "ProjectA.JobTemplate.parameters.json" -OutputFile "JobDefinition.json" 

Próximas etapas