...
In the Azure portal, search for Function App. Click the Function App result.
Click Add.
Specify an App name, Subscription, and Resource Group for the Function App. Choose Linux for OS, Code for Publish, Consumption Plan for Hosting Plan, East US for Location, Pythonfor Runtime Stack, and, optionally, use an existing Storage account.
Click Create.
In the Azure Dashboard, click Refresh, then click the name of the function app that you just created.
...
Follow the instructions in Development Pipeline to create a service connection.
In the Azure DevOps portal, click Pipelines.
Click the context menu next to the most recent successful build, and click Release.
In the Select a template panel, type Function in the Search box.
Click Deploy a function app to Azure Functions.
In the Stage 1 box, click 1 job, 1 task.
Choose the target Azure service connection from the Azure subscription dropdown list.
Choose Function App on Linux from the App type dropdown list (Python Function Apps are only supported on Linux).
Choose the Function App that you created in the previous section from the App Service name dropdown list.
Click Save.
Optionally, specify a folder in which to store the pipeline, and add a comment, then click OK.
Click Create release.
Click Create. Azure DevOps will run the release pipeline, which will deploy the Python Function App.
...
Azure Python function apps are currently in Preview, and thus are not available in all regions (including Canada Central). In order for Azure Python function apps to access the eGIS environments' portal URLs, we set up the following temporary solution:
Create an app service plan in the East US region. Note that this app service plan has a fixed monthly cost regardless of usage. For production deployment, we will use a consumption plan (also in Preview) that will cost only per usage.Create the Azure function app using the app service plan.
Determine the outbound IP addresses used by the Azure function app.
Open the
1. Function App in the Azure portal, click on the2. Platform features tab, and click on 3. Resource Explorer
Find the key named
outboundIpAddresses
in the configuration, and copy the set of IP addresses there.
Configure the eGIS environment's virtual network to allow HTTPS traffic from these IP addresses. In the Azure portal, navigate to the eGIS environment's web VM, click Networking,the modify hte HTTPS rule (port 443) to allow traffic from these IP addresses.
...