Skip to main content

Search the Dev Center

Search tutorials, templates, examples, and more.

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.

Prerequisites#

  1. Install Pulumi
  2. Configure Azure credentials
  3. Install Node.js

Deploying the example#

  1. Create a new stack:

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

    Terminal window
    az login
  3. 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>
  4. Install dependencies:

    Terminal window
    npm install
  5. Deploy the stack:

    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).

Cleaning up#

Once you are done, you can destroy all of the resources, and the stack:

Terminal window
pulumi destroy
pulumi stack rm

Related

The infrastructure as code platform for any cloud.