我有一个二头肌文件的函数应用程序,如下所示。我希望在创建函数应用程序时能够在函数应用程序中包含函数。目前我只能使用下面的文件创建一个空的函数应用程序。 到目前为止我使用的教程没有指定如何添加功能。请指教。
param FunctionApp_Name string = 'HSLDFSCustomApiFunction'
param serverfarms_UKSouthPlan_externalid string
resource FunctionApp 'Microsoft.Web/sites@2021-02-01' = {
name: FunctionApp_Name
location: 'uksouth'
kind: 'functionapp'
identity: {
type: 'SystemAssigned'
}
properties: {
enabled: true
hostNameSslStates: [
{
name: 'hsldfsazurecustomerportalapifunctions.azurewebsites.net'
sslState: 'Disabled'
hostType: 'Standard'
}
{
name: 'hsldfsazurecustomerportalapifunctions.scm.azurewebsites.net'
sslState: 'Disabled'
hostType: 'Repository'
}
]
serverFarmId: serverfarms_UKSouthPlan_externalid
reserved: false
isXenon: false
hyperV: false
siteConfig: {
numberOfWorkers: 1
acrUseManagedIdentityCreds: false
alwaysOn: false
http20Enabled: false
functionAppScaleLimit: 200
minimumElasticInstanceCount: 1
}
scmSiteAlsoStopped: false
clientAffinityEnabled: false
clientCertEnabled: false
clientCertMode: 'Required'
hostNamesDisabled: false
customDomainVerificationId: 'A2F1C01871825D2A3075E4B0EAEC8E4E032E553613899119EBB1333B87B53B96'
containerSize: 1536
dailyMemoryTimeQuota: 0
httpsOnly: true
redundancyMode: 'None'
storageAccountRequired: false
keyVaultReferenceIdentity: 'SystemAssigned'
}
}
resource sites_HSLDFSAzureCustomerPortalApiFunctions_name_ftp 'Microsoft.Web/sites/basicPublishingCredentialsPolicies@2021-02-01' = {
parent: FunctionApp
name: 'ftp'
location: 'UK South'
properties: {
allow: true
}
}
resource sites_HSLDFSAzureCustomerPortalApiFunctions_name_scm 'Microsoft.Web/sites/basicPublishingCredentialsPolicies@2021-02-01' = {
parent: FunctionApp
name: 'scm'
location: 'UK South'
properties: {
allow: true
}
}
最佳答案
Bicep、ARM 和 Terraform 并不总是用于部署代码,因为根据您使用的语言运行时,可能有一个单独的 CI/CD 流程来构建、测试代码并将其发布到您拥有的基础设施上在您的 IaC 中声明。
但是,您可以使用:az functionapp deployment source config-zip
或 func azure functionapppublish
或者如果您使用的是 Azure DevOps、GitHub Actions,那么您可能有代码部署与 IaC 的管道完全不同。
我确实在这里看到了 Bicep 部署代码的示例:https://www.clounce.com/cloud/azure/azure-functions-with-file-contents-using-bicep
这利用了资源声明的 files 属性中的 loadTextContent('filename')
:
files: {
'index.js': loadTextContent('get.js')
}
没有对此进行测试,但我不愿意相信底层 API 来检测代码更改与基础设施更改。
关于Azure,我正在尝试通过二头肌向我的函数应用程序添加函数,但不确定如何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71870385/