Creating Azure Function App with .NET 8 - Bicep Example
Code description
.NET 8 preview 7 is now supported for Azure Functions Linux consumption plan when creating dotnet-isolated function app. This code snippet shows you how to create a Function App using .NET 8. The key part is to change linuxFxVersion
to 'DOTNET-ISOLATED|8.0'
.
Code snippet
@description('The name of the Azure Function app.') param functionAppName string = 'func-${uniqueString(resourceGroup().id)}-dotnet8' @description('Storage Account type') @allowed([ 'Standard_LRS' 'Standard_GRS' 'Standard_RAGRS' ]) param storageAccountType string = 'Standard_LRS' @description('Location for all resources.') param location string = resourceGroup().location @description('Location for Application Insights') param appInsightsLocation string = resourceGroup().location @description('Required for Linux app to represent runtime stack in the format of \'runtime|runtimeVersion\'. For example: \'python|3.10\'') param linuxFxVersion string = 'DOTNET-ISOLATED|8.0' @description('The zip content url.') param packageUri string var hostingPlanName = functionAppName var applicationInsightsName = functionAppName var storageAccountName = '${uniqueString(resourceGroup().id)}azfunctionsdotnet8' // Storage account for function package resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01-01' = { name: storageAccountName location: location sku: { name: storageAccountType } kind: 'Storage' } resource hostingPlan 'Microsoft.Web/serverfarms@2022-09-01' = { name: hostingPlanName location: location sku: { name: 'Y1' tier: 'Dynamic' size: 'Y1' family: 'Y' } properties: { // For creating Linux plans, the reserved property must be set to true. reserved: true } } // application insights resource applicationInsight 'Microsoft.Insights/components@2020-02-02' = { name: applicationInsightsName location: appInsightsLocation properties: { Application_Type: 'web' } kind: 'web' } resource functionApp 'Microsoft.Web/sites@2022-09-01' = { name: functionAppName location: location kind: 'functionapp,linux' properties: { reserved: true serverFarmId: hostingPlan.id siteConfig: { linuxFxVersion: linuxFxVersion appSettings: [ { name: 'FUNCTIONS_EXTENSION_VERSION' value: '~4' } { name: 'FUNCTIONS_WORKER_RUNTIME' value: 'dotnet-isolated' } { name: 'APPINSIGHTS_INSTRUMENTATIONKEY' value: reference(resourceId('Microsoft.Insights/components', functionAppName), '2020-02-02').InstrumentationKey } { name: 'AzureWebJobsStorage' value: 'DefaultEndpointsProtocol=https;AccountName=${storageAccountName};EndpointSuffix=${environment().suffixes.storage};AccountKey=${storageAccount.listKeys().keys[0].value}' } { name: 'WEBSITE_CONTENTAZUREFILECONNECTIONSTRING' value: 'DefaultEndpointsProtocol=https;AccountName=${storageAccountName};EndpointSuffix=${environment().suffixes.storage};AccountKey=${storageAccount.listKeys().keys[0].value}' } { name: 'WEBSITE_CONTENTSHARE' value: toLower(functionAppName) } { name: 'WEBSITE_RUN_FROM_PACKAGE' value: packageUri } ] } } dependsOn: [ applicationInsight ] }
info Last modified by Kontext 2 years ago
copyright
This page is subject to Site terms.
comment Comments
No comments yet.