你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.网站/槽 2022-09-01

Bicep 资源定义

可以使用目标操作部署站点/槽资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Web/sites/slots 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.Web/sites/slots@2022-09-01' = {
  extendedLocation: {
    name: 'string'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  kind: 'string'
  location: 'string'
  name: 'string'
  properties: {
    clientAffinityEnabled: bool
    clientCertEnabled: bool
    clientCertExclusionPaths: 'string'
    clientCertMode: 'string'
    cloningInfo: {
      appSettingsOverrides: {
        {customized property}: 'string'
      }
      cloneCustomHostNames: bool
      cloneSourceControl: bool
      configureLoadBalancing: bool
      correlationId: 'string'
      hostingEnvironment: 'string'
      overwrite: bool
      sourceWebAppId: 'string'
      sourceWebAppLocation: 'string'
      trafficManagerProfileId: 'string'
      trafficManagerProfileName: 'string'
    }
    containerSize: int
    customDomainVerificationId: 'string'
    dailyMemoryTimeQuota: int
    enabled: bool
    hostingEnvironmentProfile: {
      id: 'string'
    }
    hostNamesDisabled: bool
    hostNameSslStates: [
      {
        hostType: 'string'
        name: 'string'
        sslState: 'string'
        thumbprint: 'string'
        toUpdate: bool
        virtualIP: 'string'
      }
    ]
    httpsOnly: bool
    hyperV: bool
    isXenon: bool
    keyVaultReferenceIdentity: 'string'
    managedEnvironmentId: 'string'
    publicNetworkAccess: 'string'
    redundancyMode: 'string'
    reserved: bool
    scmSiteAlsoStopped: bool
    serverFarmId: 'string'
    siteConfig: {
      acrUseManagedIdentityCreds: bool
      acrUserManagedIdentityID: 'string'
      alwaysOn: bool
      apiDefinition: {
        url: 'string'
      }
      apiManagementConfig: {
        id: 'string'
      }
      appCommandLine: 'string'
      appSettings: [
        {
          name: 'string'
          value: 'string'
        }
      ]
      autoHealEnabled: bool
      autoHealRules: {
        actions: {
          actionType: 'string'
          customAction: {
            exe: 'string'
            parameters: 'string'
          }
          minProcessExecutionTime: 'string'
        }
        triggers: {
          privateBytesInKB: int
          requests: {
            count: int
            timeInterval: 'string'
          }
          slowRequests: {
            count: int
            path: 'string'
            timeInterval: 'string'
            timeTaken: 'string'
          }
          slowRequestsWithPath: [
            {
              count: int
              path: 'string'
              timeInterval: 'string'
              timeTaken: 'string'
            }
          ]
          statusCodes: [
            {
              count: int
              path: 'string'
              status: int
              subStatus: int
              timeInterval: 'string'
              win32Status: int
            }
          ]
          statusCodesRange: [
            {
              count: int
              path: 'string'
              statusCodes: 'string'
              timeInterval: 'string'
            }
          ]
        }
      }
      autoSwapSlotName: 'string'
      azureStorageAccounts: {
        {customized property}: {
          accessKey: 'string'
          accountName: 'string'
          mountPath: 'string'
          shareName: 'string'
          type: 'string'
        }
      }
      connectionStrings: [
        {
          connectionString: 'string'
          name: 'string'
          type: 'string'
        }
      ]
      cors: {
        allowedOrigins: [
          'string'
        ]
        supportCredentials: bool
      }
      defaultDocuments: [
        'string'
      ]
      detailedErrorLoggingEnabled: bool
      documentRoot: 'string'
      elasticWebAppScaleLimit: int
      experiments: {
        rampUpRules: [
          {
            actionHostName: 'string'
            changeDecisionCallbackUrl: 'string'
            changeIntervalInMinutes: int
            changeStep: int
            maxReroutePercentage: int
            minReroutePercentage: int
            name: 'string'
            reroutePercentage: int
          }
        ]
      }
      ftpsState: 'string'
      functionAppScaleLimit: int
      functionsRuntimeScaleMonitoringEnabled: bool
      handlerMappings: [
        {
          arguments: 'string'
          extension: 'string'
          scriptProcessor: 'string'
        }
      ]
      healthCheckPath: 'string'
      http20Enabled: bool
      httpLoggingEnabled: bool
      ipSecurityRestrictions: [
        {
          action: 'string'
          description: 'string'
          headers: {
            {customized property}: [
              'string'
            ]
          }
          ipAddress: 'string'
          name: 'string'
          priority: int
          subnetMask: 'string'
          subnetTrafficTag: int
          tag: 'string'
          vnetSubnetResourceId: 'string'
          vnetTrafficTag: int
        }
      ]
      ipSecurityRestrictionsDefaultAction: 'string'
      javaContainer: 'string'
      javaContainerVersion: 'string'
      javaVersion: 'string'
      keyVaultReferenceIdentity: 'string'
      limits: {
        maxDiskSizeInMb: int
        maxMemoryInMb: int
        maxPercentageCpu: int
      }
      linuxFxVersion: 'string'
      loadBalancing: 'string'
      localMySqlEnabled: bool
      logsDirectorySizeLimit: int
      managedPipelineMode: 'string'
      managedServiceIdentityId: int
      metadata: [
        {
          name: 'string'
          value: 'string'
        }
      ]
      minimumElasticInstanceCount: int
      minTlsVersion: 'string'
      netFrameworkVersion: 'string'
      nodeVersion: 'string'
      numberOfWorkers: int
      phpVersion: 'string'
      powerShellVersion: 'string'
      preWarmedInstanceCount: int
      publicNetworkAccess: 'string'
      publishingUsername: 'string'
      push: {
        kind: 'string'
        properties: {
          dynamicTagsJson: 'string'
          isPushEnabled: bool
          tagsRequiringAuth: 'string'
          tagWhitelistJson: 'string'
        }
      }
      pythonVersion: 'string'
      remoteDebuggingEnabled: bool
      remoteDebuggingVersion: 'string'
      requestTracingEnabled: bool
      requestTracingExpirationTime: 'string'
      scmIpSecurityRestrictions: [
        {
          action: 'string'
          description: 'string'
          headers: {
            {customized property}: [
              'string'
            ]
          }
          ipAddress: 'string'
          name: 'string'
          priority: int
          subnetMask: 'string'
          subnetTrafficTag: int
          tag: 'string'
          vnetSubnetResourceId: 'string'
          vnetTrafficTag: int
        }
      ]
      scmIpSecurityRestrictionsDefaultAction: 'string'
      scmIpSecurityRestrictionsUseMain: bool
      scmMinTlsVersion: 'string'
      scmType: 'string'
      tracingOptions: 'string'
      use32BitWorkerProcess: bool
      virtualApplications: [
        {
          physicalPath: 'string'
          preloadEnabled: bool
          virtualDirectories: [
            {
              physicalPath: 'string'
              virtualPath: 'string'
            }
          ]
          virtualPath: 'string'
        }
      ]
      vnetName: 'string'
      vnetPrivatePortsCount: int
      vnetRouteAllEnabled: bool
      websiteTimeZone: 'string'
      webSocketsEnabled: bool
      windowsFxVersion: 'string'
      xManagedServiceIdentityId: int
    }
    storageAccountRequired: bool
    virtualNetworkSubnetId: 'string'
    vnetContentShareEnabled: bool
    vnetImagePullEnabled: bool
    vnetRouteAllEnabled: bool
  }
  tags: {
    {customized property}: 'string'
  }
}

属性值

ApiDefinitionInfo

名字 描述 价值
url API 定义的 URL。 字符串

ApiManagementConfig

名字 描述 价值
id APIM-Api 标识符。 字符串

AutoHealActions

名字 描述 价值
actionType 要执行的预定义操作。 “CustomAction”
“LogEvent”
“回收”
customAction 要执行的自定义操作。 AutoHealCustomAction
minProcessExecutionTime 必须执行进程的最短时间
执行操作之前
字符串

AutoHealCustomAction

名字 描述 价值
exe 要运行的可执行文件。 字符串
参数 可执行文件的参数。 字符串

AutoHealRules

名字 描述 价值
行动 触发规则时要执行的操作。 AutoHealActions
触发器 描述何时执行自动修复操作的条件。 AutoHealTriggers

AutoHealTriggers

名字 描述 价值
privateBytesInKB 基于专用字节的规则。 int
请求 基于请求总数的规则。 RequestsBasedTrigger
slowRequests 基于请求执行时间的规则。 SlowRequestsBasedTrigger
slowRequestsWithPath 基于具有路径的多个慢请求规则的规则 SlowRequestsBasedTrigger[]
statusCodes 基于状态代码的规则。 StatusCodesBasedTrigger[]
statusCodesRange 基于状态代码范围的规则。 StatusCodesRangeBasedTrigger[]

AzureStorageInfoValue

名字 描述 价值
accessKey 存储帐户的访问密钥。 字符串

约束:
敏感值。 以安全参数的形式传入。
accountName 存储帐户的名称。 字符串
mountPath 在站点的运行时环境中装载存储的路径。 字符串
shareName 文件共享的名称(容器名称,Blob 存储)。 字符串
类型 存储的类型。 “AzureBlob”
“AzureFiles”

CloningInfo

名字 描述 价值
appSettingsOverrides 克隆应用的应用程序设置替代。 如果指定,这些设置将覆盖克隆的设置
来自源应用。 否则,源应用的应用程序设置将保留。
CloningInfoAppSettingsOverrides
cloneCustomHostNames <代码>true</code> 从源应用克隆自定义主机名;否则,<代码>false</code>。 bool
cloneSourceControl <代码>true</code> 从源应用克隆源代码管理;否则,<代码>false</code>。 bool
configureLoadBalancing <代码>true</code> 为源应用和目标应用配置负载均衡。 bool
correlationId 克隆操作的相关 ID。 此 ID 将多个克隆操作关联
一起使用同一快照。
字符串

约束:
最小长度 = 36
最大长度 = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
hostingEnvironment 应用服务环境。 字符串
改写 <代码>true</code> 覆盖目标应用;否则,<代码>false</code>。 bool
sourceWebAppId 源应用的 ARM 资源 ID。 应用资源 ID 为窗体
/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} 用于生产槽和
/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} 用于其他槽。
string (必需)
sourceWebAppLocation 源应用的位置,例如:美国西部或北欧 字符串
trafficManagerProfileId 要使用的流量管理器配置文件的 ARM 资源 ID(如果存在)。 流量管理器资源 ID 格式
/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}。
字符串
trafficManagerProfileName 要创建的流量管理器配置文件的名称。 仅当流量管理器配置文件尚不存在时,才需要这样做。 字符串

CloningInfoAppSettingsOverrides

名字 描述 价值

ConnStringInfo

名字 描述 价值
connectionString 连接字符串值。 字符串
名字 连接字符串的名称。 字符串
类型 数据库的类型。 “ApiHub”
“Custom”
“DocDb”
“EventHub”
“MySql”
“NotificationHub”
“PostgreSQL”
“RedisCache”
“ServiceBus”
“SQLAzure”
“SQLServer”

CorsSettings

名字 描述 价值
allowedOrigins 获取或设置应允许进行跨源的源列表
调用(例如:http://example.com:12345)。 使用“*”允许所有。
string[]
supportCredentials 获取或设置是否允许使用凭据的 CORS 请求。 看
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials
有关详细信息。
bool

实验

名字 描述 价值
rampUpRules 提升规则的列表。 RampUpRule[]

ExtendedLocation

名字 描述 价值
名字 扩展位置的名称。 字符串

HandlerMapping

名字 描述 价值
参数 要传递给脚本处理器的命令行参数。 字符串
外延 使用此扩展的请求将使用指定的 FastCGI 应用程序进行处理。 字符串
scriptProcessor FastCGI 应用程序的绝对路径。 字符串

HostingEnvironmentProfile

名字 描述 价值
id 应用服务环境的资源 ID。 字符串

HostNameSslState

名字 描述 价值
hostType 指示主机名是标准主机名还是存储库主机名。 “存储库”
“Standard”
名字 主机名。 字符串
sslState SSL 类型。 “Disabled”
“IpBasedEnabled”
'SniEnabled'
指纹 SSL 证书指纹。 字符串
toUpdate 设置为 <代码>true</code> 以更新现有主机名。 bool
virtualIP 如果启用了基于 IP 的 SSL,则分配给主机名的虚拟 IP 地址。 字符串

IpSecurityRestriction

名字 描述 价值
行动 允许或拒绝对此 IP 范围的访问。 字符串
描述 IP 限制规则说明。 字符串
IP 限制规则标头。
X-Forwarded-Host(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples)。
匹配的逻辑为 .。
- 如果属性为 null 或空(默认值),则允许所有主机(或缺少主机)。
- 使用序号-ignore-case(不包括端口号)比较值。
- 允许子域通配符,但与根域不匹配。 例如,*.contoso.com 匹配子域 foo.contoso.com
但不是根域 contoso.com 或多级 foo.bar.contoso.com
- 允许 Unicode 主机名,但会转换为 Punycode 进行匹配。

X-Forwarded-For(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples)。
匹配的逻辑为 .。
- 如果属性为 null 或空(默认值),则允许任何转发链(或缺少) 。
- 如果链(逗号分隔)中的任何地址(不包括端口号)与属性定义的 CIDR 匹配。

X-Azure-FDID 和 X-FD-HealthProbe。
匹配逻辑完全匹配。
IpSecurityRestrictionHeaders
ipAddress 安全限制有效的 IP 地址。
它可以采用纯 ipv4 地址(所需的 SubnetMask 属性)或
CIDR 表示法,如 ipv4/mask(前导位匹配)。 对于 CIDR,
不得指定 SubnetMask 属性。
字符串
名字 IP 限制规则名称。 字符串
优先权 IP 限制规则的优先级。 int
subnetMask 限制有效的 IP 地址范围的子网掩码。 字符串
subnetTrafficTag (内部)子网流量标记 int
标记 定义此 IP 筛选器将用于什么。 这是为了支持对代理进行 IP 筛选。 “Default”
“ServiceTag”
“XffProxy”
vnetSubnetResourceId 虚拟网络资源 ID 字符串
vnetTrafficTag (内部)Vnet 流量标记 int

IpSecurityRestrictionHeaders

名字 描述 价值

ManagedServiceIdentity

名字 描述 价值
类型 托管服务标识的类型。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”
userAssignedIdentities 与资源关联的用户分配标识的列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

名字 描述 价值

Microsoft.Web/sites/slots

名字 描述 价值
extendedLocation 扩展位置。 ExtendedLocation
身份 托管服务标识。 ManagedServiceIdentity
资源类型。 字符串
位置 资源位置。 string (必需)
名字 资源名称 string (必需)
父母 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。

有关详细信息,请参阅 父资源外部的子资源
类型资源的符号名称:站点
性能 站点资源特定的属性 SiteProperties
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记

NameValuePair

名字 描述 价值
名字 配对名称。 字符串
价值 对值。 字符串

PushSettings

名字 描述 价值
资源类型。 字符串
性能 PushSettings 资源特定属性 PushSettingsProperties

PushSettingsProperties

名字 描述 价值
dynamicTagsJson 获取或设置一个 JSON 字符串,其中包含将从推送注册终结点中的用户声明评估的动态标记列表。 字符串
isPushEnabled 获取或设置一个标志,该值指示是否启用推送终结点。 bool (必需)
tagsRequiringAuth 获取或设置一个 JSON 字符串,其中包含要求在推送注册终结点中使用用户身份验证的标记列表。
标记可以包含字母数字字符和以下内容:
'_', '@', '#', '.', ':', '-'.
应在 PushRequestHandler 中执行验证。
字符串
tagWhitelistJson 获取或设置一个 JSON 字符串,其中包含允许列表供推送注册终结点使用的标记列表。 字符串

RampUpRule

名字 描述 价值
actionHostName 如果决定将流量重定向到的槽的主机名。 例如 myapp-stage.azurewebsites.net。 字符串
changeDecisionCallbackUrl 可以在 TiPCallback 站点扩展中提供自定义决策算法,可以指定 URL。 有关基架和合同,请参阅 TiPCallback 站点扩展。
https://www.siteextensions.net/packages/TiPCallback/
字符串
changeIntervalInMinutes 指定重新评估 ReroutePercentage 的间隔(以分钟为单位)。 int
changeStep 在自动增加方案中,这是从 <代码>ReroutePercentage</code> 中添加/删除的步骤,直到它到达 \n<代码>MinReroutePercentage</code> 或
<代码>MaxReroutePercentage</code>。 站点指标每 N 分钟检查一次,<代码>ChangeIntervalInMinutes</code>。\n自定义决策算法
可以在 TiPCallback 站点扩展中提供,可以在 <代码>ChangeDecisionCallbackUrl</code>中指定 URL。
int
maxReroutePercentage 指定 ReroutePercentage 将保留的上限。 int
minReroutePercentage 指定重新路由Percentage 将保留的下边界。 int
名字 路由规则的名称。 建议的名称是指向将接收试验中的流量的槽。 字符串
reroutePercentage 将重定向到 <代码>ActionHostName</code>的流量的百分比。 int

RequestsBasedTrigger

名字 描述 价值
计数 请求计数。 int
timeInterval 时间间隔。 字符串

ResourceTags

名字 描述 价值

SiteConfig

名字 描述 价值
acrUseManagedIdentityCreds 将托管标识 Creds 用于 ACR 拉取的标志 bool
acrUserManagedIdentityID 如果使用用户托管标识,则用户托管标识 ClientId 字符串
alwaysOn 如果启用了 Always On,<代码>true</code>;否则,<代码>false</code>。 bool
apiDefinition 有关应用的正式 API 定义的信息。 ApiDefinitionInfo
apiManagementConfig 链接到应用的 Azure API 管理设置。 ApiManagementConfig
appCommandLine 要启动的应用命令行。 字符串
appSettings 应用程序设置。 NameValuePair[]
autoHealEnabled 如果启用了自动愈合,则 <代码>true</code>;否则,<代码>false</code>。 bool
autoHealRules 自动治愈规则。 AutoHealRules
autoSwapSlotName 自动交换槽名称。 字符串
azureStorageAccounts Azure 存储帐户列表。 SiteConfigAzureStorageAccounts
connectionStrings 连接字符串。 ConnStringInfo[]
cors 跨域资源共享 (CORS) 设置。 CorsSettings
defaultDocuments 默认文档。 string[]
detailedErrorLoggingEnabled 如果启用了详细的错误日志记录,<代码>true</code>;否则,<代码>false</code>。 bool
documentRoot 文档根目录。 字符串
elasticWebAppScaleLimit 站点可横向扩展到的最大辅助角色数。
此设置仅适用于 ElasticScaleEnabled <代码>true</code>
int

约束:
最小值 = 0
实验 这适用于多态类型。 试验
ftpsState FTP/FTPS 服务的状态 “AllAllowed”
“Disabled”
“FtpsOnly”
functionAppScaleLimit 站点可横向扩展到的最大辅助角色数。
此设置仅适用于消耗计划和弹性高级计划
int

约束:
最小值 = 0
functionsRuntimeScaleMonitoringEnabled 获取或设置一个值,该值指示是否启用函数运行时缩放监视。 启用时,
ScaleController 不会直接监视事件源,而是调用
运行时以获取缩放状态。
bool
handlerMappings 处理程序映射。 HandlerMapping[]
healthCheckPath 运行状况检查路径 字符串
http20Enabled Http20Enabled:配置网站以允许客户端通过 http2.0 进行连接 bool
httpLoggingEnabled 如果启用 HTTP 日志记录,则 <代码>true</code>;否则,<代码>false</code>。 bool
ipSecurityRestrictions 主要 IP 安全限制。 IpSecurityRestriction[]
ipSecurityRestrictionsDefaultAction 如果未匹配任何规则,则主要访问限制的默认操作。 “允许”
“拒绝”
javaContainer Java 容器。 字符串
javaContainerVersion Java 容器版本。 字符串
javaVersion Java 版本。 字符串
keyVaultReferenceIdentity 用于 Key Vault 参考身份验证的标识。 字符串
限制 网站限制。 SiteLimits
linuxFxVersion Linux 应用框架和版本 字符串
负载均衡 站点负载均衡。 “LeastRequests”
“LeastResponseTime”
“PerSiteRoundRobin”
“RequestHash”
“WeightedRoundRobin”
“WeightedTotalTraffic”
localMySqlEnabled <代码>true</code> 启用本地 MySQL;否则,<代码>false</code>。 bool
logsDirectorySizeLimit HTTP 日志目录大小限制。 int
managedPipelineMode 托管管道模式。 “经典”
“Integrated”
managedServiceIdentityId 托管服务标识 ID int
元数据 应用程序元数据。 无法检索此属性,因为它可能包含机密。 NameValuePair[]
minimumElasticInstanceCount 站点的最小实例计数数
此设置仅适用于弹性计划
int

约束:
最小值 = 0
最大值 = 20
minTlsVersion MinTlsVersion:配置 SSL 请求所需的最低 TLS 版本 '1.0'
'1.1'
'1.2'
netFrameworkVersion .NET Framework 版本。 字符串
nodeVersion Node.js的版本。 字符串
numberOfWorkers 辅助角色数。 int
phpVersion PHP 的版本。 字符串
powerShellVersion PowerShell 的版本。 字符串
preWarmedInstanceCount 预瓦数实例数。
此设置仅适用于消耗计划和弹性计划
int

约束:
最小值 = 0
最大值 = 10
publicNetworkAccess 允许或阻止所有公共流量的属性。 字符串
publishingUsername 发布用户名。 字符串
推送终结点设置。 PushSettings
pythonVersion Python 版本。 字符串
remoteDebuggingEnabled 如果启用了远程调试,<代码>true</code>;否则,<代码>false</code>。 bool
remoteDebuggingVersion 远程调试版本。 字符串
requestTracingEnabled 如果启用了请求跟踪,<代码>true</code>;否则,<代码>false</code>。 bool
requestTracingExpirationTime 请求跟踪过期时间。 字符串
scmIpSecurityRestrictions scm 的 IP 安全限制。 IpSecurityRestriction[]
scmIpSecurityRestrictionsDefaultAction 如果未匹配任何规则,则 scm 访问限制的默认操作。 “允许”
“拒绝”
scmIpSecurityRestrictionsUseMain scm 使用 main 的 IP 安全限制。 bool
scmMinTlsVersion ScmMinTlsVersion:配置 SCM 站点 SSL 请求所需的最低 TLS 版本 '1.0'
'1.1'
'1.2'
scmType SCM 类型。 “BitbucketGit”
“BitbucketHg”
“CodePlexGit”
“CodePlexHg”
“Dropbox”
“ExternalGit”
“ExternalHg”
“GitHub”
“LocalGit”
“None”
“OneDrive”
“Tfs”
“VSO”
“VSTSRM”
tracingOptions 跟踪选项。 字符串
use32BitWorkerProcess <代码>true</code> 使用 32 位工作进程;否则,<代码>false</code>。 bool
virtualApplications 虚拟应用程序。 VirtualApplication[]
vnetName 虚拟网络名称。 字符串
vnetPrivatePortsCount 分配给此应用的专用端口数。 这些将在运行时动态分配。 int
vnetRouteAllEnabled 已启用“全部虚拟网络路由”。 这会导致所有出站流量都应用了虚拟网络安全组和用户定义的路由。 bool
websiteTimeZone 设置站点用于生成时间戳的时区。 与 Linux 和 Windows 应用服务兼容。 设置WEBSITE_TIME_ZONE应用设置优先于此配置。对于 Linux,需要 tz 数据库值 https://www.iana.org/time-zones(有关快速参考,请参阅 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)。 对于 Windows,需要 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones 下列出的时区之一 字符串
webSocketsEnabled 如果启用了 WebSocket,则 <代码>true</code>;否则,<代码>false</code>。 bool
windowsFxVersion Xenon App Framework 和版本 字符串
xManagedServiceIdentityId 显式托管服务标识 ID int

SiteConfigAzureStorageAccounts

名字 描述 价值

SiteLimits

名字 描述 价值
maxDiskSizeInMb 允许的最大磁盘大小使用量(以 MB 为单位)。 int
maxMemoryInMb 允许的最大内存使用量(以 MB 为单位)。 int
maxPercentageCpu 允许的最大 CPU 使用率百分比。 int

SiteProperties

名字 描述 价值
clientAffinityEnabled <代码>true</code> 启用客户端相关性;<代码>false</code> 停止发送会话相关性 Cookie,这会将同一会话中的客户端请求路由到同一实例。 默认值为 <代码>true</code>。 bool
clientCertEnabled <代码>true</code> 启用客户端证书身份验证(TLS 相互身份验证):否则,<代码>false</code>。 默认值为 <代码>false</code>。 bool
clientCertExclusionPaths 客户端证书身份验证逗号分隔排除路径 字符串
clientCertMode 此组合使用 ClientCertEnabled 设置。
- ClientCertEnabled:false 表示忽略 ClientCert。
- ClientCertEnabled:true 和 ClientCertMode:必需意味着需要 ClientCert。
- ClientCertEnabled:true 和 ClientCertMode:可选意味着 ClientCert 是可选的或接受的。
“可选”
“OptionalInteractiveUser”
“必需”
cloningInfo 如果在创建应用期间指定,则会从源应用克隆应用。 克隆Info
containerSize 函数容器的大小。 int
customDomainVerificationId 验证分配给应用的自定义域的唯一标识符。 客户会将此 ID 添加到 txt 记录进行验证。 字符串
dailyMemoryTimeQuota 每日允许的最大内存时间配额(仅适用于动态应用)。 int
启用 如果启用应用,<代码>true</code>;否则,<代码>false</code>。 将此值设置为 false 会禁用应用(使应用脱机)。 bool
hostingEnvironmentProfile 要用于应用的应用服务环境。 HostingEnvironmentProfile
hostNamesDisabled <代码>true</code> 禁用应用的公共主机名;否则,<代码>false</code>。
如果 <代码>true</code>,则只能通过 API 管理过程访问应用。
bool
hostNameSslStates 主机名 SSL 状态用于管理应用的主机名的 SSL 绑定。 HostNameSslState[]
httpsOnly HttpsOnly:将网站配置为仅接受 https 请求。 问题重定向
http 请求
bool
hyperV Hyper-V 沙盒。 bool
isXenon 已过时:Hyper-V 沙盒。 bool
keyVaultReferenceIdentity 用于 Key Vault 参考身份验证的标识。 字符串
managedEnvironmentId 要托管此应用的客户的所选托管环境的 Azure 资源管理器 ID。 这必须采用 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName} 的形式 字符串
publicNetworkAccess 允许或阻止所有公共流量的属性。 允许的值:“Enabled”、“Disabled”或空字符串。 字符串
redundancyMode 站点冗余模式 “ActiveActive”
“故障转移”
“GeoRedundant”
“Manual”
“None”
保留 如果保留,<代码>true</code>;否则,<代码>false</code>。 bool
scmSiteAlsoStopped <代码>true</code> 停止应用时停止 SCM (KUDU) 站点;否则,<代码>false</code>。 默认值为 <代码>false</code>。 bool
serverFarmId 关联的应用服务计划的资源 ID,格式为:“/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}”。 字符串
siteConfig 应用的配置。 SiteConfig
storageAccountRequired 检查客户提供的存储帐户是否是必需的 bool
virtualNetworkSubnetId 要通过区域 VNET 集成加入的虚拟网络和子网的 Azure 资源管理器 ID。
这必须采用 /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}
字符串
vnetContentShareEnabled 启用通过虚拟网络访问内容 bool
vnetImagePullEnabled 启用通过虚拟网络拉取映像 bool
vnetRouteAllEnabled 已启用“全部虚拟网络路由”。 这会导致所有出站流量都应用了虚拟网络安全组和用户定义的路由。 bool

SlowRequestsBasedTrigger

名字 描述 价值
计数 请求计数。 int
路径 请求路径。 字符串
timeInterval 时间间隔。 字符串
timeTaken 花费的时间。 字符串

StatusCodesBasedTrigger

名字 描述 价值
计数 请求计数。 int
路径 请求路径 字符串
地位 HTTP 状态代码。 int
subStatus 请求子状态。 int
timeInterval 时间间隔。 字符串
win32Status Win32 错误代码。 int

StatusCodesRangeBasedTrigger

名字 描述 价值
计数 请求计数。 int
路径 字符串
statusCodes HTTP 状态代码。 字符串
timeInterval 时间间隔。 字符串

UserAssignedIdentity

名字 描述 价值

VirtualApplication

名字 描述 价值
physicalPath 物理路径。 字符串
preloadEnabled 如果启用了预加载,<代码>true</code>;否则,<代码>false</code>。 bool
virtualDirectories 虚拟应用程序的虚拟目录。 VirtualDirectory[]
virtualPath 虚拟路径。 字符串

VirtualDirectory

名字 描述 价值
physicalPath 物理路径。 字符串
virtualPath 虚拟应用程序的路径。 字符串

快速入门示例

以下快速入门示例部署此资源类型。

Bicep 文件 描述
使用部署槽位 Azure Function App 此模板使用生产槽和其他部署槽在高级计划上预配函数应用。
高可用性多区域 Web 应用 使用此模板,可以在 Azure Front Door 后面的不同区域中创建一个安全、高度可用的多区域端到端解决方案
使用部署槽位 预配消耗计划函数 此模板在消耗计划(动态托管计划)上预配函数应用。 应用按需运行,并且按执行计费,且没有持续的资源承诺。 还有其他模板可用于在专用托管计划中进行预配。
安全 N 层 Web 应用 使用此模板,可以使用具有过渡槽、前端和后端的两个 Web 应用创建安全的端到端解决方案,前端将通过 VNet 注入和专用终结点安全地使用后端

ARM 模板资源定义

可以使用目标操作部署站点/槽资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Web/sites/slots 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.Web/sites/slots",
  "apiVersion": "2022-09-01",
  "name": "string",
  "extendedLocation": {
    "name": "string"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "kind": "string",
  "location": "string",
  "properties": {
    "clientAffinityEnabled": "bool",
    "clientCertEnabled": "bool",
    "clientCertExclusionPaths": "string",
    "clientCertMode": "string",
    "cloningInfo": {
      "appSettingsOverrides": {
        "{customized property}": "string"
      },
      "cloneCustomHostNames": "bool",
      "cloneSourceControl": "bool",
      "configureLoadBalancing": "bool",
      "correlationId": "string",
      "hostingEnvironment": "string",
      "overwrite": "bool",
      "sourceWebAppId": "string",
      "sourceWebAppLocation": "string",
      "trafficManagerProfileId": "string",
      "trafficManagerProfileName": "string"
    },
    "containerSize": "int",
    "customDomainVerificationId": "string",
    "dailyMemoryTimeQuota": "int",
    "enabled": "bool",
    "hostingEnvironmentProfile": {
      "id": "string"
    },
    "hostNamesDisabled": "bool",
    "hostNameSslStates": [
      {
        "hostType": "string",
        "name": "string",
        "sslState": "string",
        "thumbprint": "string",
        "toUpdate": "bool",
        "virtualIP": "string"
      }
    ],
    "httpsOnly": "bool",
    "hyperV": "bool",
    "isXenon": "bool",
    "keyVaultReferenceIdentity": "string",
    "managedEnvironmentId": "string",
    "publicNetworkAccess": "string",
    "redundancyMode": "string",
    "reserved": "bool",
    "scmSiteAlsoStopped": "bool",
    "serverFarmId": "string",
    "siteConfig": {
      "acrUseManagedIdentityCreds": "bool",
      "acrUserManagedIdentityID": "string",
      "alwaysOn": "bool",
      "apiDefinition": {
        "url": "string"
      },
      "apiManagementConfig": {
        "id": "string"
      },
      "appCommandLine": "string",
      "appSettings": [
        {
          "name": "string",
          "value": "string"
        }
      ],
      "autoHealEnabled": "bool",
      "autoHealRules": {
        "actions": {
          "actionType": "string",
          "customAction": {
            "exe": "string",
            "parameters": "string"
          },
          "minProcessExecutionTime": "string"
        },
        "triggers": {
          "privateBytesInKB": "int",
          "requests": {
            "count": "int",
            "timeInterval": "string"
          },
          "slowRequests": {
            "count": "int",
            "path": "string",
            "timeInterval": "string",
            "timeTaken": "string"
          },
          "slowRequestsWithPath": [
            {
              "count": "int",
              "path": "string",
              "timeInterval": "string",
              "timeTaken": "string"
            }
          ],
          "statusCodes": [
            {
              "count": "int",
              "path": "string",
              "status": "int",
              "subStatus": "int",
              "timeInterval": "string",
              "win32Status": "int"
            }
          ],
          "statusCodesRange": [
            {
              "count": "int",
              "path": "string",
              "statusCodes": "string",
              "timeInterval": "string"
            }
          ]
        }
      },
      "autoSwapSlotName": "string",
      "azureStorageAccounts": {
        "{customized property}": {
          "accessKey": "string",
          "accountName": "string",
          "mountPath": "string",
          "shareName": "string",
          "type": "string"
        }
      },
      "connectionStrings": [
        {
          "connectionString": "string",
          "name": "string",
          "type": "string"
        }
      ],
      "cors": {
        "allowedOrigins": [ "string" ],
        "supportCredentials": "bool"
      },
      "defaultDocuments": [ "string" ],
      "detailedErrorLoggingEnabled": "bool",
      "documentRoot": "string",
      "elasticWebAppScaleLimit": "int",
      "experiments": {
        "rampUpRules": [
          {
            "actionHostName": "string",
            "changeDecisionCallbackUrl": "string",
            "changeIntervalInMinutes": "int",
            "changeStep": "int",
            "maxReroutePercentage": "int",
            "minReroutePercentage": "int",
            "name": "string",
            "reroutePercentage": "int"
          }
        ]
      },
      "ftpsState": "string",
      "functionAppScaleLimit": "int",
      "functionsRuntimeScaleMonitoringEnabled": "bool",
      "handlerMappings": [
        {
          "arguments": "string",
          "extension": "string",
          "scriptProcessor": "string"
        }
      ],
      "healthCheckPath": "string",
      "http20Enabled": "bool",
      "httpLoggingEnabled": "bool",
      "ipSecurityRestrictions": [
        {
          "action": "string",
          "description": "string",
          "headers": {
            "{customized property}": [ "string" ]
          },
          "ipAddress": "string",
          "name": "string",
          "priority": "int",
          "subnetMask": "string",
          "subnetTrafficTag": "int",
          "tag": "string",
          "vnetSubnetResourceId": "string",
          "vnetTrafficTag": "int"
        }
      ],
      "ipSecurityRestrictionsDefaultAction": "string",
      "javaContainer": "string",
      "javaContainerVersion": "string",
      "javaVersion": "string",
      "keyVaultReferenceIdentity": "string",
      "limits": {
        "maxDiskSizeInMb": "int",
        "maxMemoryInMb": "int",
        "maxPercentageCpu": "int"
      },
      "linuxFxVersion": "string",
      "loadBalancing": "string",
      "localMySqlEnabled": "bool",
      "logsDirectorySizeLimit": "int",
      "managedPipelineMode": "string",
      "managedServiceIdentityId": "int",
      "metadata": [
        {
          "name": "string",
          "value": "string"
        }
      ],
      "minimumElasticInstanceCount": "int",
      "minTlsVersion": "string",
      "netFrameworkVersion": "string",
      "nodeVersion": "string",
      "numberOfWorkers": "int",
      "phpVersion": "string",
      "powerShellVersion": "string",
      "preWarmedInstanceCount": "int",
      "publicNetworkAccess": "string",
      "publishingUsername": "string",
      "push": {
        "kind": "string",
        "properties": {
          "dynamicTagsJson": "string",
          "isPushEnabled": "bool",
          "tagsRequiringAuth": "string",
          "tagWhitelistJson": "string"
        }
      },
      "pythonVersion": "string",
      "remoteDebuggingEnabled": "bool",
      "remoteDebuggingVersion": "string",
      "requestTracingEnabled": "bool",
      "requestTracingExpirationTime": "string",
      "scmIpSecurityRestrictions": [
        {
          "action": "string",
          "description": "string",
          "headers": {
            "{customized property}": [ "string" ]
          },
          "ipAddress": "string",
          "name": "string",
          "priority": "int",
          "subnetMask": "string",
          "subnetTrafficTag": "int",
          "tag": "string",
          "vnetSubnetResourceId": "string",
          "vnetTrafficTag": "int"
        }
      ],
      "scmIpSecurityRestrictionsDefaultAction": "string",
      "scmIpSecurityRestrictionsUseMain": "bool",
      "scmMinTlsVersion": "string",
      "scmType": "string",
      "tracingOptions": "string",
      "use32BitWorkerProcess": "bool",
      "virtualApplications": [
        {
          "physicalPath": "string",
          "preloadEnabled": "bool",
          "virtualDirectories": [
            {
              "physicalPath": "string",
              "virtualPath": "string"
            }
          ],
          "virtualPath": "string"
        }
      ],
      "vnetName": "string",
      "vnetPrivatePortsCount": "int",
      "vnetRouteAllEnabled": "bool",
      "websiteTimeZone": "string",
      "webSocketsEnabled": "bool",
      "windowsFxVersion": "string",
      "xManagedServiceIdentityId": "int"
    },
    "storageAccountRequired": "bool",
    "virtualNetworkSubnetId": "string",
    "vnetContentShareEnabled": "bool",
    "vnetImagePullEnabled": "bool",
    "vnetRouteAllEnabled": "bool"
  },
  "tags": {
    "{customized property}": "string"
  }
}

属性值

ApiDefinitionInfo

名字 描述 价值
url API 定义的 URL。 字符串

ApiManagementConfig

名字 描述 价值
id APIM-Api 标识符。 字符串

AutoHealActions

名字 描述 价值
actionType 要执行的预定义操作。 “CustomAction”
“LogEvent”
“回收”
customAction 要执行的自定义操作。 AutoHealCustomAction
minProcessExecutionTime 必须执行进程的最短时间
执行操作之前
字符串

AutoHealCustomAction

名字 描述 价值
exe 要运行的可执行文件。 字符串
参数 可执行文件的参数。 字符串

AutoHealRules

名字 描述 价值
行动 触发规则时要执行的操作。 AutoHealActions
触发器 描述何时执行自动修复操作的条件。 AutoHealTriggers

AutoHealTriggers

名字 描述 价值
privateBytesInKB 基于专用字节的规则。 int
请求 基于请求总数的规则。 RequestsBasedTrigger
slowRequests 基于请求执行时间的规则。 SlowRequestsBasedTrigger
slowRequestsWithPath 基于具有路径的多个慢请求规则的规则 SlowRequestsBasedTrigger[]
statusCodes 基于状态代码的规则。 StatusCodesBasedTrigger[]
statusCodesRange 基于状态代码范围的规则。 StatusCodesRangeBasedTrigger[]

AzureStorageInfoValue

名字 描述 价值
accessKey 存储帐户的访问密钥。 字符串

约束:
敏感值。 以安全参数的形式传入。
accountName 存储帐户的名称。 字符串
mountPath 在站点的运行时环境中装载存储的路径。 字符串
shareName 文件共享的名称(容器名称,Blob 存储)。 字符串
类型 存储的类型。 “AzureBlob”
“AzureFiles”

CloningInfo

名字 描述 价值
appSettingsOverrides 克隆应用的应用程序设置替代。 如果指定,这些设置将覆盖克隆的设置
来自源应用。 否则,源应用的应用程序设置将保留。
CloningInfoAppSettingsOverrides
cloneCustomHostNames <代码>true</code> 从源应用克隆自定义主机名;否则,<代码>false</code>。 bool
cloneSourceControl <代码>true</code> 从源应用克隆源代码管理;否则,<代码>false</code>。 bool
configureLoadBalancing <代码>true</code> 为源应用和目标应用配置负载均衡。 bool
correlationId 克隆操作的相关 ID。 此 ID 将多个克隆操作关联
一起使用同一快照。
字符串

约束:
最小长度 = 36
最大长度 = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
hostingEnvironment 应用服务环境。 字符串
改写 <代码>true</code> 覆盖目标应用;否则,<代码>false</code>。 bool
sourceWebAppId 源应用的 ARM 资源 ID。 应用资源 ID 为窗体
/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} 用于生产槽和
/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} 用于其他槽。
string (必需)
sourceWebAppLocation 源应用的位置,例如:美国西部或北欧 字符串
trafficManagerProfileId 要使用的流量管理器配置文件的 ARM 资源 ID(如果存在)。 流量管理器资源 ID 格式
/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}。
字符串
trafficManagerProfileName 要创建的流量管理器配置文件的名称。 仅当流量管理器配置文件尚不存在时,才需要这样做。 字符串

CloningInfoAppSettingsOverrides

名字 描述 价值

ConnStringInfo

名字 描述 价值
connectionString 连接字符串值。 字符串
名字 连接字符串的名称。 字符串
类型 数据库的类型。 “ApiHub”
“Custom”
“DocDb”
“EventHub”
“MySql”
“NotificationHub”
“PostgreSQL”
“RedisCache”
“ServiceBus”
“SQLAzure”
“SQLServer”

CorsSettings

名字 描述 价值
allowedOrigins 获取或设置应允许进行跨源的源列表
调用(例如:http://example.com:12345)。 使用“*”允许所有。
string[]
supportCredentials 获取或设置是否允许使用凭据的 CORS 请求。 看
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials
有关详细信息。
bool

实验

名字 描述 价值
rampUpRules 提升规则的列表。 RampUpRule[]

ExtendedLocation

名字 描述 价值
名字 扩展位置的名称。 字符串

HandlerMapping

名字 描述 价值
参数 要传递给脚本处理器的命令行参数。 字符串
外延 使用此扩展的请求将使用指定的 FastCGI 应用程序进行处理。 字符串
scriptProcessor FastCGI 应用程序的绝对路径。 字符串

HostingEnvironmentProfile

名字 描述 价值
id 应用服务环境的资源 ID。 字符串

HostNameSslState

名字 描述 价值
hostType 指示主机名是标准主机名还是存储库主机名。 “存储库”
“Standard”
名字 主机名。 字符串
sslState SSL 类型。 “Disabled”
“IpBasedEnabled”
'SniEnabled'
指纹 SSL 证书指纹。 字符串
toUpdate 设置为 <代码>true</code> 以更新现有主机名。 bool
virtualIP 如果启用了基于 IP 的 SSL,则分配给主机名的虚拟 IP 地址。 字符串

IpSecurityRestriction

名字 描述 价值
行动 允许或拒绝对此 IP 范围的访问。 字符串
描述 IP 限制规则说明。 字符串
IP 限制规则标头。
X-Forwarded-Host(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples)。
匹配的逻辑为 .。
- 如果属性为 null 或空(默认值),则允许所有主机(或缺少主机)。
- 使用序号-ignore-case(不包括端口号)比较值。
- 允许子域通配符,但与根域不匹配。 例如,*.contoso.com 匹配子域 foo.contoso.com
但不是根域 contoso.com 或多级 foo.bar.contoso.com
- 允许 Unicode 主机名,但会转换为 Punycode 进行匹配。

X-Forwarded-For(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples)。
匹配的逻辑为 .。
- 如果属性为 null 或空(默认值),则允许任何转发链(或缺少) 。
- 如果链(逗号分隔)中的任何地址(不包括端口号)与属性定义的 CIDR 匹配。

X-Azure-FDID 和 X-FD-HealthProbe。
匹配逻辑完全匹配。
IpSecurityRestrictionHeaders
ipAddress 安全限制有效的 IP 地址。
它可以采用纯 ipv4 地址(所需的 SubnetMask 属性)或
CIDR 表示法,如 ipv4/mask(前导位匹配)。 对于 CIDR,
不得指定 SubnetMask 属性。
字符串
名字 IP 限制规则名称。 字符串
优先权 IP 限制规则的优先级。 int
subnetMask 限制有效的 IP 地址范围的子网掩码。 字符串
subnetTrafficTag (内部)子网流量标记 int
标记 定义此 IP 筛选器将用于什么。 这是为了支持对代理进行 IP 筛选。 “Default”
“ServiceTag”
“XffProxy”
vnetSubnetResourceId 虚拟网络资源 ID 字符串
vnetTrafficTag (内部)Vnet 流量标记 int

IpSecurityRestrictionHeaders

名字 描述 价值

ManagedServiceIdentity

名字 描述 价值
类型 托管服务标识的类型。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”
userAssignedIdentities 与资源关联的用户分配标识的列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

名字 描述 价值

Microsoft.Web/sites/slots

名字 描述 价值
apiVersion API 版本 '2022-09-01'
extendedLocation 扩展位置。 ExtendedLocation
身份 托管服务标识。 ManagedServiceIdentity
资源类型。 字符串
位置 资源位置。 string (必需)
名字 资源名称 string (必需)
性能 站点资源特定的属性 SiteProperties
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
类型 资源类型 “Microsoft.Web/sites/slots”

NameValuePair

名字 描述 价值
名字 配对名称。 字符串
价值 对值。 字符串

PushSettings

名字 描述 价值
资源类型。 字符串
性能 PushSettings 资源特定属性 PushSettingsProperties

PushSettingsProperties

名字 描述 价值
dynamicTagsJson 获取或设置一个 JSON 字符串,其中包含将从推送注册终结点中的用户声明评估的动态标记列表。 字符串
isPushEnabled 获取或设置一个标志,该值指示是否启用推送终结点。 bool (必需)
tagsRequiringAuth 获取或设置一个 JSON 字符串,其中包含要求在推送注册终结点中使用用户身份验证的标记列表。
标记可以包含字母数字字符和以下内容:
'_', '@', '#', '.', ':', '-'.
应在 PushRequestHandler 中执行验证。
字符串
tagWhitelistJson 获取或设置一个 JSON 字符串,其中包含允许列表供推送注册终结点使用的标记列表。 字符串

RampUpRule

名字 描述 价值
actionHostName 如果决定将流量重定向到的槽的主机名。 例如 myapp-stage.azurewebsites.net。 字符串
changeDecisionCallbackUrl 可以在 TiPCallback 站点扩展中提供自定义决策算法,可以指定 URL。 有关基架和合同,请参阅 TiPCallback 站点扩展。
https://www.siteextensions.net/packages/TiPCallback/
字符串
changeIntervalInMinutes 指定重新评估 ReroutePercentage 的间隔(以分钟为单位)。 int
changeStep 在自动增加方案中,这是从 <代码>ReroutePercentage</code> 中添加/删除的步骤,直到它到达 \n<代码>MinReroutePercentage</code> 或
<代码>MaxReroutePercentage</code>。 站点指标每 N 分钟检查一次,<代码>ChangeIntervalInMinutes</code>。\n自定义决策算法
可以在 TiPCallback 站点扩展中提供,可以在 <代码>ChangeDecisionCallbackUrl</code>中指定 URL。
int
maxReroutePercentage 指定 ReroutePercentage 将保留的上限。 int
minReroutePercentage 指定重新路由Percentage 将保留的下边界。 int
名字 路由规则的名称。 建议的名称是指向将接收试验中的流量的槽。 字符串
reroutePercentage 将重定向到 <代码>ActionHostName</code>的流量的百分比。 int

RequestsBasedTrigger

名字 描述 价值
计数 请求计数。 int
timeInterval 时间间隔。 字符串

ResourceTags

名字 描述 价值

SiteConfig

名字 描述 价值
acrUseManagedIdentityCreds 将托管标识 Creds 用于 ACR 拉取的标志 bool
acrUserManagedIdentityID 如果使用用户托管标识,则用户托管标识 ClientId 字符串
alwaysOn 如果启用了 Always On,<代码>true</code>;否则,<代码>false</code>。 bool
apiDefinition 有关应用的正式 API 定义的信息。 ApiDefinitionInfo
apiManagementConfig 链接到应用的 Azure API 管理设置。 ApiManagementConfig
appCommandLine 要启动的应用命令行。 字符串
appSettings 应用程序设置。 NameValuePair[]
autoHealEnabled 如果启用了自动愈合,则 <代码>true</code>;否则,<代码>false</code>。 bool
autoHealRules 自动治愈规则。 AutoHealRules
autoSwapSlotName 自动交换槽名称。 字符串
azureStorageAccounts Azure 存储帐户列表。 SiteConfigAzureStorageAccounts
connectionStrings 连接字符串。 ConnStringInfo[]
cors 跨域资源共享 (CORS) 设置。 CorsSettings
defaultDocuments 默认文档。 string[]
detailedErrorLoggingEnabled 如果启用了详细的错误日志记录,<代码>true</code>;否则,<代码>false</code>。 bool
documentRoot 文档根目录。 字符串
elasticWebAppScaleLimit 站点可横向扩展到的最大辅助角色数。
此设置仅适用于 ElasticScaleEnabled <代码>true</code>
int

约束:
最小值 = 0
实验 这适用于多态类型。 试验
ftpsState FTP/FTPS 服务的状态 “AllAllowed”
“Disabled”
“FtpsOnly”
functionAppScaleLimit 站点可横向扩展到的最大辅助角色数。
此设置仅适用于消耗计划和弹性高级计划
int

约束:
最小值 = 0
functionsRuntimeScaleMonitoringEnabled 获取或设置一个值,该值指示是否启用函数运行时缩放监视。 启用时,
ScaleController 不会直接监视事件源,而是调用
运行时以获取缩放状态。
bool
handlerMappings 处理程序映射。 HandlerMapping[]
healthCheckPath 运行状况检查路径 字符串
http20Enabled Http20Enabled:配置网站以允许客户端通过 http2.0 进行连接 bool
httpLoggingEnabled 如果启用 HTTP 日志记录,则 <代码>true</code>;否则,<代码>false</code>。 bool
ipSecurityRestrictions 主要 IP 安全限制。 IpSecurityRestriction[]
ipSecurityRestrictionsDefaultAction 如果未匹配任何规则,则主要访问限制的默认操作。 “允许”
“拒绝”
javaContainer Java 容器。 字符串
javaContainerVersion Java 容器版本。 字符串
javaVersion Java 版本。 字符串
keyVaultReferenceIdentity 用于 Key Vault 参考身份验证的标识。 字符串
限制 网站限制。 SiteLimits
linuxFxVersion Linux 应用框架和版本 字符串
负载均衡 站点负载均衡。 “LeastRequests”
“LeastResponseTime”
“PerSiteRoundRobin”
“RequestHash”
“WeightedRoundRobin”
“WeightedTotalTraffic”
localMySqlEnabled <代码>true</code> 启用本地 MySQL;否则,<代码>false</code>。 bool
logsDirectorySizeLimit HTTP 日志目录大小限制。 int
managedPipelineMode 托管管道模式。 “经典”
“Integrated”
managedServiceIdentityId 托管服务标识 ID int
元数据 应用程序元数据。 无法检索此属性,因为它可能包含机密。 NameValuePair[]
minimumElasticInstanceCount 站点的最小实例计数数
此设置仅适用于弹性计划
int

约束:
最小值 = 0
最大值 = 20
minTlsVersion MinTlsVersion:配置 SSL 请求所需的最低 TLS 版本 '1.0'
'1.1'
'1.2'
netFrameworkVersion .NET Framework 版本。 字符串
nodeVersion Node.js的版本。 字符串
numberOfWorkers 辅助角色数。 int
phpVersion PHP 的版本。 字符串
powerShellVersion PowerShell 的版本。 字符串
preWarmedInstanceCount 预瓦数实例数。
此设置仅适用于消耗计划和弹性计划
int

约束:
最小值 = 0
最大值 = 10
publicNetworkAccess 允许或阻止所有公共流量的属性。 字符串
publishingUsername 发布用户名。 字符串
推送终结点设置。 PushSettings
pythonVersion Python 版本。 字符串
remoteDebuggingEnabled 如果启用了远程调试,<代码>true</code>;否则,<代码>false</code>。 bool
remoteDebuggingVersion 远程调试版本。 字符串
requestTracingEnabled 如果启用了请求跟踪,<代码>true</code>;否则,<代码>false</code>。 bool
requestTracingExpirationTime 请求跟踪过期时间。 字符串
scmIpSecurityRestrictions scm 的 IP 安全限制。 IpSecurityRestriction[]
scmIpSecurityRestrictionsDefaultAction 如果未匹配任何规则,则 scm 访问限制的默认操作。 “允许”
“拒绝”
scmIpSecurityRestrictionsUseMain scm 使用 main 的 IP 安全限制。 bool
scmMinTlsVersion ScmMinTlsVersion:配置 SCM 站点 SSL 请求所需的最低 TLS 版本 '1.0'
'1.1'
'1.2'
scmType SCM 类型。 “BitbucketGit”
“BitbucketHg”
“CodePlexGit”
“CodePlexHg”
“Dropbox”
“ExternalGit”
“ExternalHg”
“GitHub”
“LocalGit”
“None”
“OneDrive”
“Tfs”
“VSO”
“VSTSRM”
tracingOptions 跟踪选项。 字符串
use32BitWorkerProcess <代码>true</code> 使用 32 位工作进程;否则,<代码>false</code>。 bool
virtualApplications 虚拟应用程序。 VirtualApplication[]
vnetName 虚拟网络名称。 字符串
vnetPrivatePortsCount 分配给此应用的专用端口数。 这些将在运行时动态分配。 int
vnetRouteAllEnabled 已启用“全部虚拟网络路由”。 这会导致所有出站流量都应用了虚拟网络安全组和用户定义的路由。 bool
websiteTimeZone 设置站点用于生成时间戳的时区。 与 Linux 和 Windows 应用服务兼容。 设置WEBSITE_TIME_ZONE应用设置优先于此配置。对于 Linux,需要 tz 数据库值 https://www.iana.org/time-zones(有关快速参考,请参阅 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)。 对于 Windows,需要 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones 下列出的时区之一 字符串
webSocketsEnabled 如果启用了 WebSocket,则 <代码>true</code>;否则,<代码>false</code>。 bool
windowsFxVersion Xenon App Framework 和版本 字符串
xManagedServiceIdentityId 显式托管服务标识 ID int

SiteConfigAzureStorageAccounts

名字 描述 价值

SiteLimits

名字 描述 价值
maxDiskSizeInMb 允许的最大磁盘大小使用量(以 MB 为单位)。 int
maxMemoryInMb 允许的最大内存使用量(以 MB 为单位)。 int
maxPercentageCpu 允许的最大 CPU 使用率百分比。 int

SiteProperties

名字 描述 价值
clientAffinityEnabled <代码>true</code> 启用客户端相关性;<代码>false</code> 停止发送会话相关性 Cookie,这会将同一会话中的客户端请求路由到同一实例。 默认值为 <代码>true</code>。 bool
clientCertEnabled <代码>true</code> 启用客户端证书身份验证(TLS 相互身份验证):否则,<代码>false</code>。 默认值为 <代码>false</code>。 bool
clientCertExclusionPaths 客户端证书身份验证逗号分隔排除路径 字符串
clientCertMode 此组合使用 ClientCertEnabled 设置。
- ClientCertEnabled:false 表示忽略 ClientCert。
- ClientCertEnabled:true 和 ClientCertMode:必需意味着需要 ClientCert。
- ClientCertEnabled:true 和 ClientCertMode:可选意味着 ClientCert 是可选的或接受的。
“可选”
“OptionalInteractiveUser”
“必需”
cloningInfo 如果在创建应用期间指定,则会从源应用克隆应用。 克隆Info
containerSize 函数容器的大小。 int
customDomainVerificationId 验证分配给应用的自定义域的唯一标识符。 客户会将此 ID 添加到 txt 记录进行验证。 字符串
dailyMemoryTimeQuota 每日允许的最大内存时间配额(仅适用于动态应用)。 int
启用 如果启用应用,<代码>true</code>;否则,<代码>false</code>。 将此值设置为 false 会禁用应用(使应用脱机)。 bool
hostingEnvironmentProfile 要用于应用的应用服务环境。 HostingEnvironmentProfile
hostNamesDisabled <代码>true</code> 禁用应用的公共主机名;否则,<代码>false</code>。
如果 <代码>true</code>,则只能通过 API 管理过程访问应用。
bool
hostNameSslStates 主机名 SSL 状态用于管理应用的主机名的 SSL 绑定。 HostNameSslState[]
httpsOnly HttpsOnly:将网站配置为仅接受 https 请求。 问题重定向
http 请求
bool
hyperV Hyper-V 沙盒。 bool
isXenon 已过时:Hyper-V 沙盒。 bool
keyVaultReferenceIdentity 用于 Key Vault 参考身份验证的标识。 字符串
managedEnvironmentId 要托管此应用的客户的所选托管环境的 Azure 资源管理器 ID。 这必须采用 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName} 的形式 字符串
publicNetworkAccess 允许或阻止所有公共流量的属性。 允许的值:“Enabled”、“Disabled”或空字符串。 字符串
redundancyMode 站点冗余模式 “ActiveActive”
“故障转移”
“GeoRedundant”
“Manual”
“None”
保留 如果保留,<代码>true</code>;否则,<代码>false</code>。 bool
scmSiteAlsoStopped <代码>true</code> 停止应用时停止 SCM (KUDU) 站点;否则,<代码>false</code>。 默认值为 <代码>false</code>。 bool
serverFarmId 关联的应用服务计划的资源 ID,格式为:“/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}”。 字符串
siteConfig 应用的配置。 SiteConfig
storageAccountRequired 检查客户提供的存储帐户是否是必需的 bool
virtualNetworkSubnetId 要通过区域 VNET 集成加入的虚拟网络和子网的 Azure 资源管理器 ID。
这必须采用 /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}
字符串
vnetContentShareEnabled 启用通过虚拟网络访问内容 bool
vnetImagePullEnabled 启用通过虚拟网络拉取映像 bool
vnetRouteAllEnabled 已启用“全部虚拟网络路由”。 这会导致所有出站流量都应用了虚拟网络安全组和用户定义的路由。 bool

SlowRequestsBasedTrigger

名字 描述 价值
计数 请求计数。 int
路径 请求路径。 字符串
timeInterval 时间间隔。 字符串
timeTaken 花费的时间。 字符串

StatusCodesBasedTrigger

名字 描述 价值
计数 请求计数。 int
路径 请求路径 字符串
地位 HTTP 状态代码。 int
subStatus 请求子状态。 int
timeInterval 时间间隔。 字符串
win32Status Win32 错误代码。 int

StatusCodesRangeBasedTrigger

名字 描述 价值
计数 请求计数。 int
路径 字符串
statusCodes HTTP 状态代码。 字符串
timeInterval 时间间隔。 字符串

UserAssignedIdentity

名字 描述 价值

VirtualApplication

名字 描述 价值
physicalPath 物理路径。 字符串
preloadEnabled 如果启用了预加载,<代码>true</code>;否则,<代码>false</code>。 bool
virtualDirectories 虚拟应用程序的虚拟目录。 VirtualDirectory[]
virtualPath 虚拟路径。 字符串

VirtualDirectory

名字 描述 价值
physicalPath 物理路径。 字符串
virtualPath 虚拟应用程序的路径。 字符串

快速入门模板

以下快速入门模板部署此资源类型。

模板 描述
使用部署槽位 Azure Function App

部署到 Azure
此模板使用生产槽和其他部署槽在高级计划上预配函数应用。
高可用性多区域 Web 应用

部署到 Azure
使用此模板,可以在 Azure Front Door 后面的不同区域中创建一个安全、高度可用的多区域端到端解决方案
使用部署槽位 预配消耗计划函数

部署到 Azure
此模板在消耗计划(动态托管计划)上预配函数应用。 应用按需运行,并且按执行计费,且没有持续的资源承诺。 还有其他模板可用于在专用托管计划中进行预配。
安全 N 层 Web 应用

部署到 Azure
使用此模板,可以使用具有过渡槽、前端和后端的两个 Web 应用创建安全的端到端解决方案,前端将通过 VNet 注入和专用终结点安全地使用后端
使用自定义部署槽位 Web 应用

部署到 Azure
此模板提供了在 Azure Web 应用上使用自定义部署槽位部署 Web 应用的简单方法。

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署站点/槽资源类型:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Web/sites/slots 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Web/sites/slots@2022-09-01"
  name = "string"
  extendedLocation = {
    name = "string"
  }
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  kind = "string"
  location = "string"
  body = jsonencode({
    properties = {
      clientAffinityEnabled = bool
      clientCertEnabled = bool
      clientCertExclusionPaths = "string"
      clientCertMode = "string"
      cloningInfo = {
        appSettingsOverrides = {
          {customized property} = "string"
        }
        cloneCustomHostNames = bool
        cloneSourceControl = bool
        configureLoadBalancing = bool
        correlationId = "string"
        hostingEnvironment = "string"
        overwrite = bool
        sourceWebAppId = "string"
        sourceWebAppLocation = "string"
        trafficManagerProfileId = "string"
        trafficManagerProfileName = "string"
      }
      containerSize = int
      customDomainVerificationId = "string"
      dailyMemoryTimeQuota = int
      enabled = bool
      hostingEnvironmentProfile = {
        id = "string"
      }
      hostNamesDisabled = bool
      hostNameSslStates = [
        {
          hostType = "string"
          name = "string"
          sslState = "string"
          thumbprint = "string"
          toUpdate = bool
          virtualIP = "string"
        }
      ]
      httpsOnly = bool
      hyperV = bool
      isXenon = bool
      keyVaultReferenceIdentity = "string"
      managedEnvironmentId = "string"
      publicNetworkAccess = "string"
      redundancyMode = "string"
      reserved = bool
      scmSiteAlsoStopped = bool
      serverFarmId = "string"
      siteConfig = {
        acrUseManagedIdentityCreds = bool
        acrUserManagedIdentityID = "string"
        alwaysOn = bool
        apiDefinition = {
          url = "string"
        }
        apiManagementConfig = {
          id = "string"
        }
        appCommandLine = "string"
        appSettings = [
          {
            name = "string"
            value = "string"
          }
        ]
        autoHealEnabled = bool
        autoHealRules = {
          actions = {
            actionType = "string"
            customAction = {
              exe = "string"
              parameters = "string"
            }
            minProcessExecutionTime = "string"
          }
          triggers = {
            privateBytesInKB = int
            requests = {
              count = int
              timeInterval = "string"
            }
            slowRequests = {
              count = int
              path = "string"
              timeInterval = "string"
              timeTaken = "string"
            }
            slowRequestsWithPath = [
              {
                count = int
                path = "string"
                timeInterval = "string"
                timeTaken = "string"
              }
            ]
            statusCodes = [
              {
                count = int
                path = "string"
                status = int
                subStatus = int
                timeInterval = "string"
                win32Status = int
              }
            ]
            statusCodesRange = [
              {
                count = int
                path = "string"
                statusCodes = "string"
                timeInterval = "string"
              }
            ]
          }
        }
        autoSwapSlotName = "string"
        azureStorageAccounts = {
          {customized property} = {
            accessKey = "string"
            accountName = "string"
            mountPath = "string"
            shareName = "string"
            type = "string"
          }
        }
        connectionStrings = [
          {
            connectionString = "string"
            name = "string"
            type = "string"
          }
        ]
        cors = {
          allowedOrigins = [
            "string"
          ]
          supportCredentials = bool
        }
        defaultDocuments = [
          "string"
        ]
        detailedErrorLoggingEnabled = bool
        documentRoot = "string"
        elasticWebAppScaleLimit = int
        experiments = {
          rampUpRules = [
            {
              actionHostName = "string"
              changeDecisionCallbackUrl = "string"
              changeIntervalInMinutes = int
              changeStep = int
              maxReroutePercentage = int
              minReroutePercentage = int
              name = "string"
              reroutePercentage = int
            }
          ]
        }
        ftpsState = "string"
        functionAppScaleLimit = int
        functionsRuntimeScaleMonitoringEnabled = bool
        handlerMappings = [
          {
            arguments = "string"
            extension = "string"
            scriptProcessor = "string"
          }
        ]
        healthCheckPath = "string"
        http20Enabled = bool
        httpLoggingEnabled = bool
        ipSecurityRestrictions = [
          {
            action = "string"
            description = "string"
            headers = {
              {customized property} = [
                "string"
              ]
            }
            ipAddress = "string"
            name = "string"
            priority = int
            subnetMask = "string"
            subnetTrafficTag = int
            tag = "string"
            vnetSubnetResourceId = "string"
            vnetTrafficTag = int
          }
        ]
        ipSecurityRestrictionsDefaultAction = "string"
        javaContainer = "string"
        javaContainerVersion = "string"
        javaVersion = "string"
        keyVaultReferenceIdentity = "string"
        limits = {
          maxDiskSizeInMb = int
          maxMemoryInMb = int
          maxPercentageCpu = int
        }
        linuxFxVersion = "string"
        loadBalancing = "string"
        localMySqlEnabled = bool
        logsDirectorySizeLimit = int
        managedPipelineMode = "string"
        managedServiceIdentityId = int
        metadata = [
          {
            name = "string"
            value = "string"
          }
        ]
        minimumElasticInstanceCount = int
        minTlsVersion = "string"
        netFrameworkVersion = "string"
        nodeVersion = "string"
        numberOfWorkers = int
        phpVersion = "string"
        powerShellVersion = "string"
        preWarmedInstanceCount = int
        publicNetworkAccess = "string"
        publishingUsername = "string"
        push = {
          kind = "string"
          properties = {
            dynamicTagsJson = "string"
            isPushEnabled = bool
            tagsRequiringAuth = "string"
            tagWhitelistJson = "string"
          }
        }
        pythonVersion = "string"
        remoteDebuggingEnabled = bool
        remoteDebuggingVersion = "string"
        requestTracingEnabled = bool
        requestTracingExpirationTime = "string"
        scmIpSecurityRestrictions = [
          {
            action = "string"
            description = "string"
            headers = {
              {customized property} = [
                "string"
              ]
            }
            ipAddress = "string"
            name = "string"
            priority = int
            subnetMask = "string"
            subnetTrafficTag = int
            tag = "string"
            vnetSubnetResourceId = "string"
            vnetTrafficTag = int
          }
        ]
        scmIpSecurityRestrictionsDefaultAction = "string"
        scmIpSecurityRestrictionsUseMain = bool
        scmMinTlsVersion = "string"
        scmType = "string"
        tracingOptions = "string"
        use32BitWorkerProcess = bool
        virtualApplications = [
          {
            physicalPath = "string"
            preloadEnabled = bool
            virtualDirectories = [
              {
                physicalPath = "string"
                virtualPath = "string"
              }
            ]
            virtualPath = "string"
          }
        ]
        vnetName = "string"
        vnetPrivatePortsCount = int
        vnetRouteAllEnabled = bool
        websiteTimeZone = "string"
        webSocketsEnabled = bool
        windowsFxVersion = "string"
        xManagedServiceIdentityId = int
      }
      storageAccountRequired = bool
      virtualNetworkSubnetId = "string"
      vnetContentShareEnabled = bool
      vnetImagePullEnabled = bool
      vnetRouteAllEnabled = bool
    }
  })
  tags = {
    {customized property} = "string"
  }
}

属性值

ApiDefinitionInfo

名字 描述 价值
url API 定义的 URL。 字符串

ApiManagementConfig

名字 描述 价值
id APIM-Api 标识符。 字符串

AutoHealActions

名字 描述 价值
actionType 要执行的预定义操作。 “CustomAction”
“LogEvent”
“回收”
customAction 要执行的自定义操作。 AutoHealCustomAction
minProcessExecutionTime 必须执行进程的最短时间
执行操作之前
字符串

AutoHealCustomAction

名字 描述 价值
exe 要运行的可执行文件。 字符串
参数 可执行文件的参数。 字符串

AutoHealRules

名字 描述 价值
行动 触发规则时要执行的操作。 AutoHealActions
触发器 描述何时执行自动修复操作的条件。 AutoHealTriggers

AutoHealTriggers

名字 描述 价值
privateBytesInKB 基于专用字节的规则。 int
请求 基于请求总数的规则。 RequestsBasedTrigger
slowRequests 基于请求执行时间的规则。 SlowRequestsBasedTrigger
slowRequestsWithPath 基于具有路径的多个慢请求规则的规则 SlowRequestsBasedTrigger[]
statusCodes 基于状态代码的规则。 StatusCodesBasedTrigger[]
statusCodesRange 基于状态代码范围的规则。 StatusCodesRangeBasedTrigger[]

AzureStorageInfoValue

名字 描述 价值
accessKey 存储帐户的访问密钥。 字符串

约束:
敏感值。 以安全参数的形式传入。
accountName 存储帐户的名称。 字符串
mountPath 在站点的运行时环境中装载存储的路径。 字符串
shareName 文件共享的名称(容器名称,Blob 存储)。 字符串
类型 存储的类型。 “AzureBlob”
“AzureFiles”

CloningInfo

名字 描述 价值
appSettingsOverrides 克隆应用的应用程序设置替代。 如果指定,这些设置将覆盖克隆的设置
来自源应用。 否则,源应用的应用程序设置将保留。
CloningInfoAppSettingsOverrides
cloneCustomHostNames <代码>true</code> 从源应用克隆自定义主机名;否则,<代码>false</code>。 bool
cloneSourceControl <代码>true</code> 从源应用克隆源代码管理;否则,<代码>false</code>。 bool
configureLoadBalancing <代码>true</code> 为源应用和目标应用配置负载均衡。 bool
correlationId 克隆操作的相关 ID。 此 ID 将多个克隆操作关联
一起使用同一快照。
字符串

约束:
最小长度 = 36
最大长度 = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
hostingEnvironment 应用服务环境。 字符串
改写 <代码>true</code> 覆盖目标应用;否则,<代码>false</code>。 bool
sourceWebAppId 源应用的 ARM 资源 ID。 应用资源 ID 为窗体
/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} 用于生产槽和
/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} 用于其他槽。
string (必需)
sourceWebAppLocation 源应用的位置,例如:美国西部或北欧 字符串
trafficManagerProfileId 要使用的流量管理器配置文件的 ARM 资源 ID(如果存在)。 流量管理器资源 ID 格式
/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}。
字符串
trafficManagerProfileName 要创建的流量管理器配置文件的名称。 仅当流量管理器配置文件尚不存在时,才需要这样做。 字符串

CloningInfoAppSettingsOverrides

名字 描述 价值

ConnStringInfo

名字 描述 价值
connectionString 连接字符串值。 字符串
名字 连接字符串的名称。 字符串
类型 数据库的类型。 “ApiHub”
“Custom”
“DocDb”
“EventHub”
“MySql”
“NotificationHub”
“PostgreSQL”
“RedisCache”
“ServiceBus”
“SQLAzure”
“SQLServer”

CorsSettings

名字 描述 价值
allowedOrigins 获取或设置应允许进行跨源的源列表
调用(例如:http://example.com:12345)。 使用“*”允许所有。
string[]
supportCredentials 获取或设置是否允许使用凭据的 CORS 请求。 看
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials
有关详细信息。
bool

实验

名字 描述 价值
rampUpRules 提升规则的列表。 RampUpRule[]

ExtendedLocation

名字 描述 价值
名字 扩展位置的名称。 字符串

HandlerMapping

名字 描述 价值
参数 要传递给脚本处理器的命令行参数。 字符串
外延 使用此扩展的请求将使用指定的 FastCGI 应用程序进行处理。 字符串
scriptProcessor FastCGI 应用程序的绝对路径。 字符串

HostingEnvironmentProfile

名字 描述 价值
id 应用服务环境的资源 ID。 字符串

HostNameSslState

名字 描述 价值
hostType 指示主机名是标准主机名还是存储库主机名。 “存储库”
“Standard”
名字 主机名。 字符串
sslState SSL 类型。 “Disabled”
“IpBasedEnabled”
'SniEnabled'
指纹 SSL 证书指纹。 字符串
toUpdate 设置为 <代码>true</code> 以更新现有主机名。 bool
virtualIP 如果启用了基于 IP 的 SSL,则分配给主机名的虚拟 IP 地址。 字符串

IpSecurityRestriction

名字 描述 价值
行动 允许或拒绝对此 IP 范围的访问。 字符串
描述 IP 限制规则说明。 字符串
IP 限制规则标头。
X-Forwarded-Host(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples)。
匹配的逻辑为 .。
- 如果属性为 null 或空(默认值),则允许所有主机(或缺少主机)。
- 使用序号-ignore-case(不包括端口号)比较值。
- 允许子域通配符,但与根域不匹配。 例如,*.contoso.com 匹配子域 foo.contoso.com
但不是根域 contoso.com 或多级 foo.bar.contoso.com
- 允许 Unicode 主机名,但会转换为 Punycode 进行匹配。

X-Forwarded-For(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples)。
匹配的逻辑为 .。
- 如果属性为 null 或空(默认值),则允许任何转发链(或缺少) 。
- 如果链(逗号分隔)中的任何地址(不包括端口号)与属性定义的 CIDR 匹配。

X-Azure-FDID 和 X-FD-HealthProbe。
匹配逻辑完全匹配。
IpSecurityRestrictionHeaders
ipAddress 安全限制有效的 IP 地址。
它可以采用纯 ipv4 地址(所需的 SubnetMask 属性)或
CIDR 表示法,如 ipv4/mask(前导位匹配)。 对于 CIDR,
不得指定 SubnetMask 属性。
字符串
名字 IP 限制规则名称。 字符串
优先权 IP 限制规则的优先级。 int
subnetMask 限制有效的 IP 地址范围的子网掩码。 字符串
subnetTrafficTag (内部)子网流量标记 int
标记 定义此 IP 筛选器将用于什么。 这是为了支持对代理进行 IP 筛选。 “Default”
“ServiceTag”
“XffProxy”
vnetSubnetResourceId 虚拟网络资源 ID 字符串
vnetTrafficTag (内部)Vnet 流量标记 int

IpSecurityRestrictionHeaders

名字 描述 价值

ManagedServiceIdentity

名字 描述 价值
类型 托管服务标识的类型。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”
userAssignedIdentities 与资源关联的用户分配标识的列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

名字 描述 价值

Microsoft.Web/sites/slots

名字 描述 价值
extendedLocation 扩展位置。 ExtendedLocation
身份 托管服务标识。 ManagedServiceIdentity
资源类型。 字符串
位置 资源位置。 string (必需)
名字 资源名称 string (必需)
parent_id 此资源的父资源的 ID。 类型资源的 ID:站点
性能 站点资源特定的属性 SiteProperties
标签 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.Web/sites/slots@2022-09-01”

NameValuePair

名字 描述 价值
名字 配对名称。 字符串
价值 对值。 字符串

PushSettings

名字 描述 价值
资源类型。 字符串
性能 PushSettings 资源特定属性 PushSettingsProperties

PushSettingsProperties

名字 描述 价值
dynamicTagsJson 获取或设置一个 JSON 字符串,其中包含将从推送注册终结点中的用户声明评估的动态标记列表。 字符串
isPushEnabled 获取或设置一个标志,该值指示是否启用推送终结点。 bool (必需)
tagsRequiringAuth 获取或设置一个 JSON 字符串,其中包含要求在推送注册终结点中使用用户身份验证的标记列表。
标记可以包含字母数字字符和以下内容:
'_', '@', '#', '.', ':', '-'.
应在 PushRequestHandler 中执行验证。
字符串
tagWhitelistJson 获取或设置一个 JSON 字符串,其中包含允许列表供推送注册终结点使用的标记列表。 字符串

RampUpRule

名字 描述 价值
actionHostName 如果决定将流量重定向到的槽的主机名。 例如 myapp-stage.azurewebsites.net。 字符串
changeDecisionCallbackUrl 可以在 TiPCallback 站点扩展中提供自定义决策算法,可以指定 URL。 有关基架和合同,请参阅 TiPCallback 站点扩展。
https://www.siteextensions.net/packages/TiPCallback/
字符串
changeIntervalInMinutes 指定重新评估 ReroutePercentage 的间隔(以分钟为单位)。 int
changeStep 在自动增加方案中,这是从 <代码>ReroutePercentage</code> 中添加/删除的步骤,直到它到达 \n<代码>MinReroutePercentage</code> 或
<代码>MaxReroutePercentage</code>。 站点指标每 N 分钟检查一次,<代码>ChangeIntervalInMinutes</code>。\n自定义决策算法
可以在 TiPCallback 站点扩展中提供,可以在 <代码>ChangeDecisionCallbackUrl</code>中指定 URL。
int
maxReroutePercentage 指定 ReroutePercentage 将保留的上限。 int
minReroutePercentage 指定重新路由Percentage 将保留的下边界。 int
名字 路由规则的名称。 建议的名称是指向将接收试验中的流量的槽。 字符串
reroutePercentage 将重定向到 <代码>ActionHostName</code>的流量的百分比。 int

RequestsBasedTrigger

名字 描述 价值
计数 请求计数。 int
timeInterval 时间间隔。 字符串

ResourceTags

名字 描述 价值

SiteConfig

名字 描述 价值
acrUseManagedIdentityCreds 将托管标识 Creds 用于 ACR 拉取的标志 bool
acrUserManagedIdentityID 如果使用用户托管标识,则用户托管标识 ClientId 字符串
alwaysOn 如果启用了 Always On,<代码>true</code>;否则,<代码>false</code>。 bool
apiDefinition 有关应用的正式 API 定义的信息。 ApiDefinitionInfo
apiManagementConfig 链接到应用的 Azure API 管理设置。 ApiManagementConfig
appCommandLine 要启动的应用命令行。 字符串
appSettings 应用程序设置。 NameValuePair[]
autoHealEnabled 如果启用了自动愈合,则 <代码>true</code>;否则,<代码>false</code>。 bool
autoHealRules 自动治愈规则。 AutoHealRules
autoSwapSlotName 自动交换槽名称。 字符串
azureStorageAccounts Azure 存储帐户列表。 SiteConfigAzureStorageAccounts
connectionStrings 连接字符串。 ConnStringInfo[]
cors 跨域资源共享 (CORS) 设置。 CorsSettings
defaultDocuments 默认文档。 string[]
detailedErrorLoggingEnabled 如果启用了详细的错误日志记录,<代码>true</code>;否则,<代码>false</code>。 bool
documentRoot 文档根目录。 字符串
elasticWebAppScaleLimit 站点可横向扩展到的最大辅助角色数。
此设置仅适用于 ElasticScaleEnabled <代码>true</code>
int

约束:
最小值 = 0
实验 这适用于多态类型。 试验
ftpsState FTP/FTPS 服务的状态 “AllAllowed”
“Disabled”
“FtpsOnly”
functionAppScaleLimit 站点可横向扩展到的最大辅助角色数。
此设置仅适用于消耗计划和弹性高级计划
int

约束:
最小值 = 0
functionsRuntimeScaleMonitoringEnabled 获取或设置一个值,该值指示是否启用函数运行时缩放监视。 启用时,
ScaleController 不会直接监视事件源,而是调用
运行时以获取缩放状态。
bool
handlerMappings 处理程序映射。 HandlerMapping[]
healthCheckPath 运行状况检查路径 字符串
http20Enabled Http20Enabled:配置网站以允许客户端通过 http2.0 进行连接 bool
httpLoggingEnabled 如果启用 HTTP 日志记录,则 <代码>true</code>;否则,<代码>false</code>。 bool
ipSecurityRestrictions 主要 IP 安全限制。 IpSecurityRestriction[]
ipSecurityRestrictionsDefaultAction 如果未匹配任何规则,则主要访问限制的默认操作。 “允许”
“拒绝”
javaContainer Java 容器。 字符串
javaContainerVersion Java 容器版本。 字符串
javaVersion Java 版本。 字符串
keyVaultReferenceIdentity 用于 Key Vault 参考身份验证的标识。 字符串
限制 网站限制。 SiteLimits
linuxFxVersion Linux 应用框架和版本 字符串
负载均衡 站点负载均衡。 “LeastRequests”
“LeastResponseTime”
“PerSiteRoundRobin”
“RequestHash”
“WeightedRoundRobin”
“WeightedTotalTraffic”
localMySqlEnabled <代码>true</code> 启用本地 MySQL;否则,<代码>false</code>。 bool
logsDirectorySizeLimit HTTP 日志目录大小限制。 int
managedPipelineMode 托管管道模式。 “经典”
“Integrated”
managedServiceIdentityId 托管服务标识 ID int
元数据 应用程序元数据。 无法检索此属性,因为它可能包含机密。 NameValuePair[]
minimumElasticInstanceCount 站点的最小实例计数数
此设置仅适用于弹性计划
int

约束:
最小值 = 0
最大值 = 20
minTlsVersion MinTlsVersion:配置 SSL 请求所需的最低 TLS 版本 '1.0'
'1.1'
'1.2'
netFrameworkVersion .NET Framework 版本。 字符串
nodeVersion Node.js的版本。 字符串
numberOfWorkers 辅助角色数。 int
phpVersion PHP 的版本。 字符串
powerShellVersion PowerShell 的版本。 字符串
preWarmedInstanceCount 预瓦数实例数。
此设置仅适用于消耗计划和弹性计划
int

约束:
最小值 = 0
最大值 = 10
publicNetworkAccess 允许或阻止所有公共流量的属性。 字符串
publishingUsername 发布用户名。 字符串
推送终结点设置。 PushSettings
pythonVersion Python 版本。 字符串
remoteDebuggingEnabled 如果启用了远程调试,<代码>true</code>;否则,<代码>false</code>。 bool
remoteDebuggingVersion 远程调试版本。 字符串
requestTracingEnabled 如果启用了请求跟踪,<代码>true</code>;否则,<代码>false</code>。 bool
requestTracingExpirationTime 请求跟踪过期时间。 字符串
scmIpSecurityRestrictions scm 的 IP 安全限制。 IpSecurityRestriction[]
scmIpSecurityRestrictionsDefaultAction 如果未匹配任何规则,则 scm 访问限制的默认操作。 “允许”
“拒绝”
scmIpSecurityRestrictionsUseMain scm 使用 main 的 IP 安全限制。 bool
scmMinTlsVersion ScmMinTlsVersion:配置 SCM 站点 SSL 请求所需的最低 TLS 版本 '1.0'
'1.1'
'1.2'
scmType SCM 类型。 “BitbucketGit”
“BitbucketHg”
“CodePlexGit”
“CodePlexHg”
“Dropbox”
“ExternalGit”
“ExternalHg”
“GitHub”
“LocalGit”
“None”
“OneDrive”
“Tfs”
“VSO”
“VSTSRM”
tracingOptions 跟踪选项。 字符串
use32BitWorkerProcess <代码>true</code> 使用 32 位工作进程;否则,<代码>false</code>。 bool
virtualApplications 虚拟应用程序。 VirtualApplication[]
vnetName 虚拟网络名称。 字符串
vnetPrivatePortsCount 分配给此应用的专用端口数。 这些将在运行时动态分配。 int
vnetRouteAllEnabled 已启用“全部虚拟网络路由”。 这会导致所有出站流量都应用了虚拟网络安全组和用户定义的路由。 bool
websiteTimeZone 设置站点用于生成时间戳的时区。 与 Linux 和 Windows 应用服务兼容。 设置WEBSITE_TIME_ZONE应用设置优先于此配置。对于 Linux,需要 tz 数据库值 https://www.iana.org/time-zones(有关快速参考,请参阅 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)。 对于 Windows,需要 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones 下列出的时区之一 字符串
webSocketsEnabled 如果启用了 WebSocket,则 <代码>true</code>;否则,<代码>false</code>。 bool
windowsFxVersion Xenon App Framework 和版本 字符串
xManagedServiceIdentityId 显式托管服务标识 ID int

SiteConfigAzureStorageAccounts

名字 描述 价值

SiteLimits

名字 描述 价值
maxDiskSizeInMb 允许的最大磁盘大小使用量(以 MB 为单位)。 int
maxMemoryInMb 允许的最大内存使用量(以 MB 为单位)。 int
maxPercentageCpu 允许的最大 CPU 使用率百分比。 int

SiteProperties

名字 描述 价值
clientAffinityEnabled <代码>true</code> 启用客户端相关性;<代码>false</code> 停止发送会话相关性 Cookie,这会将同一会话中的客户端请求路由到同一实例。 默认值为 <代码>true</code>。 bool
clientCertEnabled <代码>true</code> 启用客户端证书身份验证(TLS 相互身份验证):否则,<代码>false</code>。 默认值为 <代码>false</code>。 bool
clientCertExclusionPaths 客户端证书身份验证逗号分隔排除路径 字符串
clientCertMode 此组合使用 ClientCertEnabled 设置。
- ClientCertEnabled:false 表示忽略 ClientCert。
- ClientCertEnabled:true 和 ClientCertMode:必需意味着需要 ClientCert。
- ClientCertEnabled:true 和 ClientCertMode:可选意味着 ClientCert 是可选的或接受的。
“可选”
“OptionalInteractiveUser”
“必需”
cloningInfo 如果在创建应用期间指定,则会从源应用克隆应用。 克隆Info
containerSize 函数容器的大小。 int
customDomainVerificationId 验证分配给应用的自定义域的唯一标识符。 客户会将此 ID 添加到 txt 记录进行验证。 字符串
dailyMemoryTimeQuota 每日允许的最大内存时间配额(仅适用于动态应用)。 int
启用 如果启用应用,<代码>true</code>;否则,<代码>false</code>。 将此值设置为 false 会禁用应用(使应用脱机)。 bool
hostingEnvironmentProfile 要用于应用的应用服务环境。 HostingEnvironmentProfile
hostNamesDisabled <代码>true</code> 禁用应用的公共主机名;否则,<代码>false</code>。
如果 <代码>true</code>,则只能通过 API 管理过程访问应用。
bool
hostNameSslStates 主机名 SSL 状态用于管理应用的主机名的 SSL 绑定。 HostNameSslState[]
httpsOnly HttpsOnly:将网站配置为仅接受 https 请求。 问题重定向
http 请求
bool
hyperV Hyper-V 沙盒。 bool
isXenon 已过时:Hyper-V 沙盒。 bool
keyVaultReferenceIdentity 用于 Key Vault 参考身份验证的标识。 字符串
managedEnvironmentId 要托管此应用的客户的所选托管环境的 Azure 资源管理器 ID。 这必须采用 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName} 的形式 字符串
publicNetworkAccess 允许或阻止所有公共流量的属性。 允许的值:“Enabled”、“Disabled”或空字符串。 字符串
redundancyMode 站点冗余模式 “ActiveActive”
“故障转移”
“GeoRedundant”
“Manual”
“None”
保留 如果保留,<代码>true</code>;否则,<代码>false</code>。 bool
scmSiteAlsoStopped <代码>true</code> 停止应用时停止 SCM (KUDU) 站点;否则,<代码>false</code>。 默认值为 <代码>false</code>。 bool
serverFarmId 关联的应用服务计划的资源 ID,格式为:“/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}”。 字符串
siteConfig 应用的配置。 SiteConfig
storageAccountRequired 检查客户提供的存储帐户是否是必需的 bool
virtualNetworkSubnetId 要通过区域 VNET 集成加入的虚拟网络和子网的 Azure 资源管理器 ID。
这必须采用 /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}
字符串
vnetContentShareEnabled 启用通过虚拟网络访问内容 bool
vnetImagePullEnabled 启用通过虚拟网络拉取映像 bool
vnetRouteAllEnabled 已启用“全部虚拟网络路由”。 这会导致所有出站流量都应用了虚拟网络安全组和用户定义的路由。 bool

SlowRequestsBasedTrigger

名字 描述 价值
计数 请求计数。 int
路径 请求路径。 字符串
timeInterval 时间间隔。 字符串
timeTaken 花费的时间。 字符串

StatusCodesBasedTrigger

名字 描述 价值
计数 请求计数。 int
路径 请求路径 字符串
地位 HTTP 状态代码。 int
subStatus 请求子状态。 int
timeInterval 时间间隔。 字符串
win32Status Win32 错误代码。 int

StatusCodesRangeBasedTrigger

名字 描述 价值
计数 请求计数。 int
路径 字符串
statusCodes HTTP 状态代码。 字符串
timeInterval 时间间隔。 字符串

UserAssignedIdentity

名字 描述 价值

VirtualApplication

名字 描述 价值
physicalPath 物理路径。 字符串
preloadEnabled 如果启用了预加载,<代码>true</code>;否则,<代码>false</code>。 bool
virtualDirectories 虚拟应用程序的虚拟目录。 VirtualDirectory[]
virtualPath 虚拟路径。 字符串

VirtualDirectory

名字 描述 价值
physicalPath 物理路径。 字符串
virtualPath 虚拟应用程序的路径。 字符串