Rychlý start: Vytvoření a nasazení Azure Functions prostředků pomocí Bicep
V tomto článku použijete Azure Functions s Bicep k vytvoření aplikace funkcí a souvisejících prostředků v Azure. Aplikace funkcí poskytuje kontext spuštění kódu funkce.
Dokončením tohoto rychlého startu se na vašem účtu Azure účtují malé náklady ve výši několika centů nebo méně.
Bicep je jazyk specifický pro doménu (DSL), který k nasazení prostředků Azure používá deklarativní syntaxi. Poskytuje stručnou syntaxi, spolehlivou bezpečnost typů a podporu opětovného použití kódu. Bicep nabízí nejlepší prostředí pro vytváření obsahu pro vaše řešení infrastruktury jako kódu v Azure.
Po vytvoření aplikace funkcí můžete do této aplikace nasadit Azure Functions kód projektu.
Požadavky
Účet Azure
Než začnete, musíte mít účet Azure s aktivním předplatným. Vytvořte si zdarma účet.
Kontrola souboru Bicep
Soubor Bicep použitý v tomto rychlém startu je ze šablon Azure pro rychlý start.
@description('The name of the function app that you wish to create.')
param appName string = 'fnapp${uniqueString(resourceGroup().id)}'
@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
@description('The language worker runtime to load in the function app.')
@allowed([
'node'
'dotnet'
'java'
])
param runtime string = 'node'
var functionAppName = appName
var hostingPlanName = appName
var applicationInsightsName = appName
var storageAccountName = '${uniqueString(resourceGroup().id)}azfunctions'
var functionWorkerRuntime = runtime
resource storageAccount 'Microsoft.Storage/storageAccounts@2022-05-01' = {
name: storageAccountName
location: location
sku: {
name: storageAccountType
}
kind: 'Storage'
properties: {
supportsHttpsTrafficOnly: true
defaultToOAuthAuthentication: true
}
}
resource hostingPlan 'Microsoft.Web/serverfarms@2021-03-01' = {
name: hostingPlanName
location: location
sku: {
name: 'Y1'
tier: 'Dynamic'
}
properties: {}
}
resource functionApp 'Microsoft.Web/sites@2021-03-01' = {
name: functionAppName
location: location
kind: 'functionapp'
identity: {
type: 'SystemAssigned'
}
properties: {
serverFarmId: hostingPlan.id
siteConfig: {
appSettings: [
{
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: 'FUNCTIONS_EXTENSION_VERSION'
value: '~4'
}
{
name: 'WEBSITE_NODE_DEFAULT_VERSION'
value: '~14'
}
{
name: 'APPINSIGHTS_INSTRUMENTATIONKEY'
value: applicationInsights.properties.InstrumentationKey
}
{
name: 'FUNCTIONS_WORKER_RUNTIME'
value: functionWorkerRuntime
}
]
ftpsState: 'FtpsOnly'
minTlsVersion: '1.2'
}
httpsOnly: true
}
}
resource applicationInsights 'Microsoft.Insights/components@2020-02-02' = {
name: applicationInsightsName
location: appInsightsLocation
kind: 'web'
properties: {
Application_Type: 'web'
Request_Source: 'rest'
}
}
Tento soubor Bicep vytvoří následující čtyři prostředky Azure:
- Microsoft.Storage/storageAccounts: Vytvořte účet Azure Storage, který služba Functions vyžaduje.
- Microsoft.Web/serverfarms: Vytvořte plán hostování Consumption bez serveru pro aplikaci funkcí.
- Microsoft.Web/sites: Vytvořte aplikaci funkcí.
- microsoft.insights/components: Vytvořte instanci Application Insights pro monitorování.
Důležité
Účet úložiště se používá k ukládání důležitých dat aplikace, někdy včetně samotného kódu aplikace. Přístup k účtu úložiště byste měli omezit z jiných aplikací a uživatelů.
Nasazení souboru Bicep
Uložte soubor Bicep jako main.bicep do místního počítače.
Nasaďte soubor Bicep pomocí Azure CLI nebo Azure PowerShell.
az group create --name exampleRG --location eastus az deployment group create --resource-group exampleRG --template-file main.bicep --parameters appInsightsLocation=<app-location>
Poznámka
Nahraďte <app-location> oblastí pro Application Insights, která je obvykle stejná jako skupina prostředků.
Po dokončení nasazení by se měla zobrazit zpráva oznamující, že nasazení bylo úspěšné.
Ověření nasazení
K ověření nasazení použijte Azure CLI nebo Azure PowerShell.
az resource list --resource-group exampleRG
Navštívit úvodní stránku aplikace funkcí
Pomocí výstupu z předchozího kroku ověření načtěte jedinečný název vytvořený pro vaši aplikaci funkcí.
Otevřete prohlížeč a zadejte následující adresu URL: <https://< appName.azurewebsites.net>. Nezapomeňte nahradit <\appName> jedinečným názvem vytvořeným pro vaši aplikaci funkcí.
Když navštívíte adresu URL, měla by se zobrazit stránka podobná této:
Vyčištění prostředků
Pokud budete pokračovat dalším krokem a přidáte výstupní vazbu fronty Azure Storage, zachovejte všechny prostředky na svém místě, protože budete stavět na tom, co jste už udělali.
Pokud už prostředky nepotřebujete, použijte k odstranění skupiny prostředků a jejích prostředků Azure CLI, PowerShellu nebo Azure Portal.
az group delete --name exampleRG
Další kroky
Teď, když jste vytvořili prostředky aplikace funkcí v Azure, můžete nasadit kód do existující aplikace pomocí jednoho z následujících nástrojů: