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

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

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

Um pacote NuGet está disponível: Microsoft.Azure.Stream Analytics.CICD. Ele fornece o MSBuild, execução local e ferramentas de implantação que suportam a integração contínua e o processo de implantação de projetos do Stream Analytics Visual Studio.

Nota

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

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

MSBuild

Como a experiência padrão do Visual Studio MSBuild, para criar um projeto você tem duas opções. Você pode clicar com o botão direito do mouse no projeto e escolher Compilar. Você também pode usar o MSBuild no pacote NuGet a partir 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"

Quando um projeto do Visual Studio do Stream Analytics é compilado com êxito, ele gera os dois seguintes arquivos de modelo do Azure Resource Manager na pasta bin/[Debug/Retail]/Deploy :

  • Arquivo de modelo do Gerenciador de Recursos

    [ProjectName].JobTemplate.json

  • Arquivo de parâmetros do Gerenciador de Recursos

    [ProjectName].JobTemplate.parameters.json

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

Nota

Para todas as credenciais, os valores padrão são definidos como null. É necessário definir os valores antes de implantar 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 parâmetro em um modelo do Gerenciador de Recursos.

Para usar a Identidade Gerenciada para o Azure Data Lake Store Gen2 como coletor de saída, você precisa fornecer acesso à entidade de serviço usando o PowerShell antes de implantar no Azure. Saiba mais sobre como implantar o ADLS Gen2 com o modelo Managed Identity with Resource Manager.

Ferramenta de linha de comando

Compilar o projeto

O pacote NuGet tem uma ferramenta de linha de comando chamada SA.exe. Ele suporta a construção de projetos e testes locais em uma máquina arbitrária, que você pode usar em seu processo de integração contínua e entrega contínua.

Os arquivos de implantação são colocados sob o diretório atual por padrão. Você pode especificar o caminho de saída usando o seguinte parâmetro -OutputPath:

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

Teste o script localmente

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

localrun -Project [ProjectFullPath]

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

O comando arm usa o modelo de trabalho e os arquivos de parâmetros de modelo de trabalho gerados por meio da compilação como entrada. Em seguida, ele os combina em um arquivo JSON de definição de tarefa 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óximos passos