1. Packages
  2. Azure Native v2
  3. How-to Guides
  4. Azure Cosmos DB, an API Connection, and a Logic App
These are the docs for Azure Native v2. We recommenend using the latest version, Azure Native v3.
Azure Native v2 v2.90.0 published on Thursday, Mar 27, 2025 by Pulumi

Azure Cosmos DB, an API Connection, and a Logic App

These are the docs for Azure Native v2. We recommenend using the latest version, Azure Native v3.
Azure Native v2 v2.90.0 published on Thursday, Mar 27, 2025 by Pulumi

View Code Deploy this example with Pulumi

With the native Azure provider we can directly use the Azure resource manager API to define API connections and linking it to a logic app. The resulting experience is much faster in comparison to performing the same operation through ARM templates.

Prerequisites

  1. Install Pulumi
  2. Install .NET Core 3.1+

Running the App

  1. Create a new stack:

    $ pulumi stack init dev
    
    Copy
  2. Set the required configuration variables for this program, and log into Azure:

    $ pulumi config set azure-native:location westeurope
    $ az login
    
    Copy
  3. Perform the deployment:

    $ pulumi up
    
         Type                                                Name                         Status
     +   pulumi:pulumi:Stack                                 azure-cosmosdb-logicapp-dev  created
     +   ├─ azure-native:resources:ResourceGroup             logicappdemo-rg              created
     +   ├─ azure-native:storage:StorageAccount              logicappdemosa               created
     +   ├─ azure-native:documentdb:DatabaseAccount          logicappdemo-cdb             created
     +   ├─ azure-native:documentdb:SqlResourceSqlDatabase   db                           created
     +   ├─ azure-native:web:Connection                      cosmosdbConnection           created
     +   ├─ azure-native:documentdb:SqlResourceSqlContainer  container                    created
     +   └─ azure-native:logic:Workflow                      workflow                     created
    
    Resources:
        + 8 created
    
    Duration: 3m16s
    
    Copy
  4. At this point, you have a Cosmos DB collection and a Logic App listening to HTTP requests. You can trigger the Logic App with a curl command:

    $ curl -X POST "$(pulumi stack output endpoint)" -d '"Hello World"' -H 'Content-Type: application/json'
    

    The POST body will be saved into a new document in the Cosmos DB collection.

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

    $ pulumi destroy
    $ pulumi stack rm
    
    Copy
These are the docs for Azure Native v2. We recommenend using the latest version, Azure Native v3.
Azure Native v2 v2.90.0 published on Thursday, Mar 27, 2025 by Pulumi