|
| 1 | +#!/bin/bash |
| 2 | +set -e |
| 3 | + |
| 4 | +# Get subscription ID |
| 5 | +SUBSCRIPTION_ID=$(az account show --query id -o tsv) |
| 6 | + |
| 7 | +# Get tenant ID |
| 8 | +TENANT_ID=$(az account show --query tenantId -o tsv) |
| 9 | + |
| 10 | +# Get environment name from azd |
| 11 | +ENV_NAME=$(azd env get-value AZURE_ENV_NAME 2>/dev/null) |
| 12 | +if [ -z "$ENV_NAME" ]; then |
| 13 | + echo "Error: AZURE_ENV_NAME not found in azd environment" >&2 |
| 14 | + exit 1 |
| 15 | +fi |
| 16 | + |
| 17 | +# Construct resource group name (follows azd naming convention) |
| 18 | +RESOURCE_GROUP="rg-${ENV_NAME}" |
| 19 | + |
| 20 | +# Get function app name from azd |
| 21 | +FUNCTION_NAME=$(azd env get-value AZURE_FUNCTION_NAME 2>/dev/null) |
| 22 | +if [ -z "$FUNCTION_NAME" ]; then |
| 23 | + echo "Error: AZURE_FUNCTION_NAME not found in azd environment" >&2 |
| 24 | + exit 1 |
| 25 | +fi |
| 26 | + |
| 27 | +# Get DTS scheduler name |
| 28 | +DTS_NAME=$(az resource list --resource-group "$RESOURCE_GROUP" --resource-type "Microsoft.DurableTask/schedulers" --query "[0].name" -o tsv) |
| 29 | +if [ -z "$DTS_NAME" ]; then |
| 30 | + echo "Error: No DTS scheduler found in resource group $RESOURCE_GROUP" >&2 |
| 31 | + exit 1 |
| 32 | +fi |
| 33 | + |
| 34 | +# Get DTS endpoint |
| 35 | +DTS_ENDPOINT=$(az resource show --resource-group "$RESOURCE_GROUP" --name "$DTS_NAME" --resource-type "Microsoft.DurableTask/schedulers" --query "properties.endpoint" -o tsv) |
| 36 | + |
| 37 | +# Get task hub name from function app settings |
| 38 | +TASKHUB_NAME=$(az functionapp config appsettings list --name "$FUNCTION_NAME" --resource-group "$RESOURCE_GROUP" --query "[?name=='TASKHUB_NAME'].value" -o tsv) |
| 39 | +if [ -z "$TASKHUB_NAME" ]; then |
| 40 | + echo "Error: TASKHUB_NAME not found in function app settings" >&2 |
| 41 | + exit 1 |
| 42 | +fi |
| 43 | + |
| 44 | +# URL encode the endpoint (remove any trailing newlines first) |
| 45 | +ENCODED_ENDPOINT=$(echo -n $DTS_ENDPOINT | jq -sRr @uri) |
| 46 | + |
| 47 | +# Construct the full dashboard URL |
| 48 | +DASHBOARD_URL="https://dashboard.durabletask.io/subscriptions/${SUBSCRIPTION_ID}/schedulers/${DTS_NAME}/taskhubs/${TASKHUB_NAME}?endpoint=${ENCODED_ENDPOINT}&tenantId=${TENANT_ID}" |
| 49 | + |
| 50 | +echo $DASHBOARD_URL |
0 commit comments