We recommend using Azure Native.
Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi
Globally Distributed Serverless URL Shortener Using Azure Functions and Cosmos DB
Multi-region deployment of Azure Functions and Cosmos DB with Traffic Manager
Running the App
Create a new stack:
pulumi stack init dev
Login to Azure CLI (you will be prompted to do this during deployment if you forget this step):
az login
Restore NPM dependencies:
npm install
Specify the Azure subscription and regions to deploy the application:
pulumi config set locations westus,westeurope pulumi config set azure:subscriptionId <YOUR_SUBSCRIPTION_ID>
Run
pulumi up
to preview and deploy changes:$ pulumi up Previewing changes: ... Performing changes: ... info: 23 changes performed: + 23 resources created Update duration: 21m33.3252322s
Add a short URL:
$ pulumi stack output addEndpoint https://urlshort-add94ac80f8.azurewebsites.net/api/urlshort-add $ curl -H "Content-Type: application/json" \ --request POST \ -d '{"id":"pulumi","url":"https://pulumi.com"}' \ "$(pulumi stack output addEndpoint)" Short URL saved
Query a short URL:
$ pulumi stack output endpoint http://urlshort-tm.trafficmanager.net/api/ $ curl -L $(pulumi stack output endpoint)pulumi <!doctype html> <html lang="en-US" prefix="og: http://ogp.me/ns#"> <head> <title> Pulumi </title> ...