Azure 函数的 Zip 部署成功但 Azure 中的函数为空
Zip deploy of Azure function was a success but Functions in Azure is empty
您好,我有一个 Azure 函数计时器,我正在尝试通过 ZIP 部署来部署它,它成功了,但是 Azure 中的函数是空的。
我用于部署的命令是
az functionapp deployment source config-zip -g $resourceGroupName -n $functionName --src $sourceZipPath
cmd 的JSON 响应如下。
{ "active": false,
"author": "N/A",
"author_email": "N/A",
"complete": true,
"deployer": "ZipDeploy",
"end_time": "2022-03-25T12:37:54.9247211Z",
"id": "373e929429a14bee8b6368949e922789",
"is_readonly": true,
"is_temp": false,
"last_success_end_time": "2022-03-25T12:37:54.9247211Z",
"log_url": "https://xxxx.scm.azurewebsites.net/api/deployments/latest/log",
"message": "Created via a push deployment",
"progress": "",
"provisioningState": "Succeeded",
"received_time": "2022-03-25T12:33:05.5662452Z",
"site_name": "xxxx",
"start_time": "2022-03-25T12:33:17.5130554Z",
"status": 4,
"status_text": "",
"url": "https://xxxx.scm.azurewebsites.net/api/deployments/latest"
}
我可以看到文件结构中的所有文件(下面的屏幕截图)
不确定我哪里出错了。从 Visual Studio 2019 年开始部署时,它可以完美运行。
我检查了 post“https://Whosebug。com/questions/64032902/az-functionapp-deployment-reports-success-but-functions-view-in-azure-is-empt”并按照步骤操作,但没有成功。
任何人都可以建议我还能尝试什么。
我在使用本地 CLI 和 Azure CloudShell 中的 AZ CLI 部署 Azure 函数时尝试重现相同的问题:
az functionapp deployment source config-zip -g HariTestRG -n KrishNet6FuncApp --src "C:/Users/Hari/source/repos/DotNet6/TimerTrigger1205.zip"
根据此 GitHub Discussion,我了解到命令 az functionapp deployment source config-zip
在 AZ CLI 版本中存在问题,并尝试通过降级到 Azure CLI 的 2.28 版本但没有成功获得预期的结果。
Command to downgrade the Azure CLI version:
$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri https://azcliprod.blob.core.windows.net/msi/azure-cli-2.28.0.msi -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi
Function Apps 的此压缩推送部署的替代解决方法是使用 PowerShell 命令并且运行良好。
更新答案
启用应用程序设置 SCM_DO_BUILD_DURING_DEPLOYMENT
到 true
并使用 AZ CLI
部署 Azure Function Zip 后,部署成功并在 Azure 门户中显示函数以及文件wwwroot
文件夹。
AZ CLI 命令:
az functionapp deployment source config-zip -g HariTestRG -n KrishNet6FuncApp --src "C:/Users/Hari/source/repos/DotNet6/TimerTrigger1205.zip"
由此Microsoft Documentation,我们了解到在将 Function App 部署为 Zip Push 之前必须进行一些部署自定义,即默认情况下应用程序设置 SCM_DO_BUILD_DURING_DEPLOYMENT
为 false启用持续集成部署。
对于 PowerShell 解决方法,请参阅此 GitHub Page。
您好,我有一个 Azure 函数计时器,我正在尝试通过 ZIP 部署来部署它,它成功了,但是 Azure 中的函数是空的。
我用于部署的命令是 az functionapp deployment source config-zip -g $resourceGroupName -n $functionName --src $sourceZipPath
cmd 的JSON 响应如下。
{ "active": false,
"author": "N/A",
"author_email": "N/A",
"complete": true,
"deployer": "ZipDeploy",
"end_time": "2022-03-25T12:37:54.9247211Z",
"id": "373e929429a14bee8b6368949e922789",
"is_readonly": true,
"is_temp": false,
"last_success_end_time": "2022-03-25T12:37:54.9247211Z",
"log_url": "https://xxxx.scm.azurewebsites.net/api/deployments/latest/log",
"message": "Created via a push deployment",
"progress": "",
"provisioningState": "Succeeded",
"received_time": "2022-03-25T12:33:05.5662452Z",
"site_name": "xxxx",
"start_time": "2022-03-25T12:33:17.5130554Z",
"status": 4,
"status_text": "",
"url": "https://xxxx.scm.azurewebsites.net/api/deployments/latest"
}
我可以看到文件结构中的所有文件(下面的屏幕截图)
不确定我哪里出错了。从 Visual Studio 2019 年开始部署时,它可以完美运行。
我检查了 post“https://Whosebug。com/questions/64032902/az-functionapp-deployment-reports-success-but-functions-view-in-azure-is-empt”并按照步骤操作,但没有成功。
任何人都可以建议我还能尝试什么。
我在使用本地 CLI 和 Azure CloudShell 中的 AZ CLI 部署 Azure 函数时尝试重现相同的问题:
az functionapp deployment source config-zip -g HariTestRG -n KrishNet6FuncApp --src "C:/Users/Hari/source/repos/DotNet6/TimerTrigger1205.zip"
根据此 GitHub Discussion,我了解到命令 az functionapp deployment source config-zip
在 AZ CLI 版本中存在问题,并尝试通过降级到 Azure CLI 的 2.28 版本但没有成功获得预期的结果。
Command to downgrade the Azure CLI version:
$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri https://azcliprod.blob.core.windows.net/msi/azure-cli-2.28.0.msi -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi
Function Apps 的此压缩推送部署的替代解决方法是使用 PowerShell 命令并且运行良好。
更新答案
启用应用程序设置 SCM_DO_BUILD_DURING_DEPLOYMENT
到 true
并使用 AZ CLI
部署 Azure Function Zip 后,部署成功并在 Azure 门户中显示函数以及文件wwwroot
文件夹。
AZ CLI 命令:
az functionapp deployment source config-zip -g HariTestRG -n KrishNet6FuncApp --src "C:/Users/Hari/source/repos/DotNet6/TimerTrigger1205.zip"
由此Microsoft Documentation,我们了解到在将 Function App 部署为 Zip Push 之前必须进行一些部署自定义,即默认情况下应用程序设置 SCM_DO_BUILD_DURING_DEPLOYMENT
为 false启用持续集成部署。
对于 PowerShell 解决方法,请参阅此 GitHub Page。