Как создать службу приложений Azure с помощью Azure PowerShell? - PullRequest
0 голосов
/ 25 июня 2019

Я создал приложение-функцию Azure.Ранее я публиковал его с использованием графического интерфейса в визуальной студии.Теперь я хочу сделать это, используя скрипт Powershell.

Я пытался найти в MS Docs Azure RM PowerShell 6.13.0, но ничего не получил (или я что-то пропустил)

Так что мне делать?

enter image description here

1 Ответ

1 голос
/ 25 июня 2019

Доступен в официальных документах Microsoft,

Creates an Azure Web App using RM module

New-AzureRmWebApp
   [[-ResourceGroupName] <String>]
   [-Name] <String>
   [[-Location] <String>]
   [[-AppServicePlan] <String>]
   [-ContainerImageName <String>]
   [-EnableContainerContinuousDeployment]
   [-AsJob]
   [-GitRepositoryPath <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Для создания Учетная запись хранения

New-AzureRmStorageAccount
   [-ResourceGroupName] <String>
   [-Name] <String>
   [-SkuName] <String>
   [-Location] <String>
   [-Kind <String>]
   [-AccessTier <String>]
   [-CustomDomainName <String>]
   [-UseSubDomain <Boolean>]
   [-Tag <Hashtable>]
   [-EnableHttpsTrafficOnly <Boolean>]
   [-AssignIdentity]
   [-NetworkRuleSet <PSNetworkRuleSet>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Установить учетную запись хранения для WebApp

Set-AzureRmWebApp
   [[-AppServicePlan] <String>]

Финальный код должен выглядеть так:

$location="West Europe"
# transform userid to lowercase since some Azure resource names don't like uppercase
$userid=$env:USERNAME.tolower()
$FuncAppName="$userid$(Get-Random)"
$rgname="$FuncAppName-rg"
$storageAccount="$($FuncAppName)stg"
$FunctionName="HttpTriggerCSharp3"

# ---------------------------------------------------------------------------------
# create the resource group
# ---------------------------------------------------------------------------------
New-AzureRmResourceGroup -Name "$rgname" -Location "$location" -force

# ---------------------------------------------------------------------------------
# create a storage account needed for the Function App
# ---------------------------------------------------------------------------------
New-AzureRmStorageAccount -ResourceGroupName "$rgname" -AccountName "$storageAccount" -Location "$location" -SkuName "Standard_LRS"
$keys = Get-AzureRmStorageAccountKey -ResourceGroupName "$rgname" -AccountName "$storageAccount"
$storageAccountConnectionString = 'DefaultEndpointsProtocol=https;AccountName=' + $storageAccount + ';AccountKey=' + $keys[0].Value

# ---------------------------------------------------------------------------------
# create the Function App
# ---------------------------------------------------------------------------------
New-AzureRmResource -ResourceGroupName "$rgname" -ResourceType "Microsoft.Web/Sites" -ResourceName "$FuncAppName" -kind "functionapp" -Location "$location" -Properties @{} -force

$AppSettings = @{'AzureWebJobsDashboard' = $storageAccountConnectionString;
    'AzureWebJobsStorage' = $storageAccountConnectionString;
    'FUNCTIONS_EXTENSION_VERSION' = '~1';
    'WEBSITE_CONTENTAZUREFILECONNECTIONSTRING' = $storageAccountConnectionString;
    'WEBSITE_CONTENTSHARE' = $storageAccount;
}
Set-AzureRMWebApp -Name "$FuncAppName" -ResourceGroupName "$rgname" -AppSettings $AppSettings
...