请求提供集成Web Job的Web App Service的ARM模板
嗨,这就给你一份适配带有Web Job的Azure App Service的ARM模板示例,涵盖了基础的App Service Plan、Web App配置,以及一个连续运行类型的Web Job。你可以根据实际需求调整参数(比如SKU、Web Job类型、文件路径等):
带Web Job的App Service ARM模板示例
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "webAppName": { "type": "string", "metadata": { "description": "App Service名称需全局唯一" } }, "webAppLocation": { "type": "string", "defaultValue": "East US", "metadata": { "description": "App Service部署区域" } }, "sku": { "type": "string", "defaultValue": "S1", "metadata": { "description": "App Service Plan的SKU规格" } }, "webJobName": { "type": "string", "defaultValue": "MyContinuousWebJob", "metadata": { "description": "Web Job的自定义名称" } }, "webJobPackageUrl": { "type": "string", "metadata": { "description": "Web Job压缩包(ZIP格式)的可访问URL,私有存储需带SAS令牌" } } }, "resources": [ // 定义App Service Plan { "type": "Microsoft.Web/serverfarms", "apiVersion": "2022-09-01", "name": "[concat(parameters('webAppName'), '-plan')]", "location": "[parameters('webAppLocation')]", "sku": { "name": "[parameters('sku')]" } }, // 定义Web App Service { "type": "Microsoft.Web/sites", "apiVersion": "2022-09-01", "name": "[parameters('webAppName')]", "location": "[parameters('webAppLocation')]", "dependsOn": [ "[resourceId('Microsoft.Web/serverfarms', concat(parameters('webAppName'), '-plan'))]" ], "properties": { "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', concat(parameters('webAppName'), '-plan'))]" } }, // 定义Web Job(连续运行类型) { "type": "Microsoft.Web/sites/webjobs", "apiVersion": "2022-09-01", "name": "[concat(parameters('webAppName'), '/', parameters('webJobName'))]", "location": "[parameters('webAppLocation')]", "dependsOn": [ "[resourceId('Microsoft.Web/sites', parameters('webAppName'))]" ], "properties": { "type": "continuous", "settings": { "command": "MyWebJob.exe", // 替换为你的Web Job启动命令(如.exe/.bat/Python脚本) "arguments": "", "environmentVariables": {} }, "packageUri": "[parameters('webJobPackageUrl')]" } } ] }
关键配置调整说明
- 切换为触发型Web Job:如果需要定时触发的任务,只需修改Web Job的
properties部分,示例如下:"properties": { "type": "triggered", "trigger": { "schedule": "0 */5 * * * *" // CRON表达式,示例为每5分钟触发一次 }, "settings": { "command": "MyTriggeredJob.bat" }, "packageUri": "[parameters('webJobPackageUrl')]" } - Web Job包准备:把你的Web Job代码打包成ZIP文件,上传到Azure存储或其他公开可访问的位置,将其URL填入
webJobPackageUrl参数;如果是私有存储容器,记得生成带权限的SAS令牌拼接在URL后。 - 资源依赖:模板中已经配置了正确的依赖关系,确保App Service Plan先创建,再部署Web App,最后部署Web Job,避免部署顺序错误。
内容的提问来源于stack exchange,提问作者Dhaval Giletwala
相关产品推荐
相关产品推荐

