Skip to main content

Azure Stream Analytics

Uses an Azure Stream Analytics job to transform data in an Event Hub.

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set classic-azure-ts-stream-analytics
cd pulumi-examples/classic-azure-ts-stream-analytics

An example Pulumi program that deploys an Azure Stream Analytics job to transform data in an Event Hub.

Running the App#

  1. Create a new stack:

    Terminal window
    pulumi stack init dev
  2. Login to Azure CLI (you will be prompted to do this during deployment if you forget this step):

    Terminal window
    az login
  3. Restore NPM dependencies:

    Terminal window
    npm install
  4. Configure the Azure location and subscription to deploy the example to:

    Terminal window
    pulumi config set azure:location <location>
    pulumi config set azure:subscriptionId <YOUR_SUBSCRIPTION_ID>
  5. Run pulumi up to preview and deploy changes:

    Terminal window
    pulumi up
    Previewing update (dev):
    ...
    Updating (dev):
    ...
    Resources:
    + 15 created
    Update duration: 2m43s
  6. Use the following sample messages for testing:

    // Inputs (1 line - 1 event):
    {"Make":"Kia","Sales":2,"Time":"2019-06-26T10:22:36Z"}
    {"Make":"Kia","Sales":1,"Time":"2019-06-26T10:22:37Z"}
    {"Make":"Honda","Sales":1,"Time":"2019-06-26T10:22:38Z"}
    // Output:
    [{"Make":"Kia","Sales":3};{"Make":"Honda","Sales":1}]

    You can send a message with a curl command:

    Terminal window
    curl -X POST '$(pulumi stack output inputEndpoint)' -H 'Authorization: $(pulumi stack output sasToken)' -H 'Content-Type: application/atom+xml;type=entry;charset=utf-8' -d '{"Make":"Kia","Sales":2,"Time":"2019-06-26T10:22:36Z"}'
  7. Start the Stream Analytics job. The job will start emitting messages to the output Event Hub once per minute. The Azure Function analytics-output will start printing those events into the console (you’d have to open the function console in the Azure portal to see them).

Related

The infrastructure as code platform for any cloud.