使用PowerShell设置和部署Azure功能

问题描述 投票:0回答:2

我尝试使用基于此主题的 PowerShell 脚本来设置和部署 Azure Function:Setup Azure Function from PowerShell

我的脚本如下所示:

#=============Defining All Variables=========
$location = 'Central US'
$resourceGroupName = 'MyResourceGroup'
$subscriptionId = 'MysubscriptionId'
$functionAppName = 'MyfunctionAppName'
$appServicePlanName = 'ASP-test-8b50'
$tier = 'Dynamic'
$archivePath = 'd:\TestAzureFunc.zip'

Connect-AzAccount

#========Creating Azure Resource Group========
$resourceGroup = Get-AzResourceGroup | Where-Object { $_.ResourceGroupName -eq $resourceGroupName }
if ($resourceGroup -eq $null)
{
  New-AzResourceGroup -Name $resourceGroupName -Location $location -force
}
#selecting default azure subscription by name
Select-AzSubscription -SubscriptionID $subscriptionId
Set-AzContext $subscriptionId


#========Creating App Service Plan============
New-AzAppServicePlan -ResourceGroupName $resourceGroupName -Name $appServicePlanName -Location $location -Tier $tier
$functionAppSettings = @{
    ServerFarmId="/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Web/serverfarms/$appServicePlanName";
    alwaysOn=$True;
}

#========Creating Azure Function========
$functionAppResource = Get-AzResource | Where-Object { $_.ResourceName -eq $functionAppName -And $_.ResourceType -eq "Microsoft.Web/Sites" }
if ($functionAppResource -eq $null)
{
  New-AzResource -ResourceType 'Microsoft.Web/Sites' -ResourceName $functionAppName -kind 'functionapp' -Location $location -ResourceGroupName $resourceGroupName -Properties $functionAppSettings -force
}
#========Defining Azure Function Settings========
$AppSettings =@{}
$AppSettings =@{'FUNCTIONS_EXTENSION_VERSION' = '~2';
                'FUNCTIONS_WORKER_RUNTIME' = 'dotnet';}
Set-AzWebApp -Name $functionAppName -ResourceGroupName $resourceGroupName -AppSettings $AppSettings

#========Deploy Azure Function from zip========
Publish-AzWebapp -ResourceGroupName $resourceGroupName -Name $functionAppName -ArchivePath $archivePath

脚本运行没有错误。根据需要创建资源组和Function App。但功能App的功能列表是空的。 功能详情看这里: 我的直觉告诉我我忘记了什么。但我不知道是什么。

您能否建议我如何正确部署我的 Azure 功能?

azure powershell deployment azure-functions
2个回答
0
投票

您可以遵循的解决方法之一,

查看您的脚本,我们需要确保提供如下功能应用程序配置

cmdlts
您点击的链接:-

$AzFunctionAppSettings = @{
    APPINSIGHTS_INSTRUMENTATIONKEY = $AppInsightsKey;
    AzureWebJobsDashboard = $AzFunctionAppStorageAccountConnectionString;
    AzureWebJobsStorage = $AzFunctionAppStorageAccountConnectionString;
    FUNCTIONS_EXTENSION_VERSION = "~4";
    FUNCTIONS_WORKER_RUNTIME = "dotnet";
}

还要确保您在函数中提供的存储帐户连接字符串与此处提供的相同。

然后您可以导航到 Kudu API 来检查

wwwroot
文件夹是否存在。

欲了解更多信息,请参阅以下链接:-


0
投票

尝试获取您的设置并在其中添加新设置,然后尝试设置。 希望对你有帮助。 作为 set 命令,仅应用程序设置中的新值会被覆盖并替换为新设置。

© www.soinside.com 2019 - 2024. All rights reserved.