Azure,我正在尝试通过二头肌向我的函数应用程序添加函数,但不确定如何操作

标签 azure azure-devops azure-functions azure-pipelines azure-bicep

我有一个二头肌文件的函数应用程序,如下所示。我希望在创建函数应用程序时能够在函数应用程序中包含函数。目前我只能使用下面的文件创建一个空的函数应用程序。 到目前为止我使用的教程没有指定如何添加功能。请指教。

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-zipfunc 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/

相关文章:

git - 在 Azure DevOps 中将构建服务 'user' 添加到 'Project Collection Build Services'

Azure DevOps - 小部件大小

azure - 在 Azure 管道中;在哪里存储数组?

azure - 用于应用程序功能的基于文件的工件

Azure 函数 : deployment from Git does not work with . NET 7

sql-server - BCP SQL Server 日期格式无效

c# - 如何从 Azure KeyVault 获取连接字符串?

azure - Azure Function 运行后如何重置内存使用情况

azure - 具有多个协变量特征的时间序列的 Azure AutoML 预测示例

azure - 为什么这个简单的 Go 服务器不在 Azure 应用服务中运行?