c# - 如何通过API通过blob zip文件动态部署azure功能

标签 c# azure rest deployment

我想在函数应用中部署 C# azure 计时器触发函数。我的 Azure 存储容器中有 zip 文件。现在我想使用该 zip 在函数应用程序中部署计时器触发函数。这个过程需要通过调用rest API来完成。这样我们就可以动态部署尽可能多的功能。

我已经通过powershell脚本尝试过了。但由于某些原因,在 azure runbook 中,某些 powershell 命令不受支持。所以我想通过 Rest API 使其成为可能。

最佳答案

I have tried it by powershell script. But for some reason in azure runbook, some powershell command is not supported.

作为替代方法,我已经使用 Azure PowerShell 尝试过此操作,并且可以使用 Invoke-WebRequest 来实现此目的,它将内容下载到本地文件夹,然后使用 Publish- AzWebapp 从上传的 .zip 文件推送部署。出于演示目的,我使用以下脚本部署了 3 个函数应用程序。

$context = New-AzStorageContext -StorageAccountName "<STORAGE_ACCOUNT_NAME>" -StorageAccountKey "<STORAGE_ACCOUNT_KEY>"
$a = Get-AzStorageBlob -Context $context -Container "<CONTAINER_NAME>"

for($i=0; $i -le $a.Count-1; $i++)
{
    $Uri = "https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net/<CONTAINER_NAME>/"+$a[$i].Name
    $Outfile = "/home/*****/"+$a[$i].Name
    Invoke-WebRequest -Uri $Uri -OutFile $Outfile
    Publish-AzWebapp -ResourceGroupName <RESOURCE_GROUP> -Name $a[$i].Name.substring(0, ($a[$i].Name).IndexOf(".")) -ArchivePath $a[$i].Name
}

结果:

enter image description here

关于c# - 如何通过API通过blob zip文件动态部署azure功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75035020/

相关文章:

c# - 动态+linq编译报错

azure - 配置非托管 k8s 负载均衡器

python-3.x - 为什么 Azure Function V2 不支持少数 python 包?

java - 如何从 Controller 访问 REST API 的所有可用路由?

javascript - jQuery 1.5 仅在 ajax 方法中发送 GET 请求

c# - 多线程向LinkedList添加节点?

c# - 无法保存数据 c# Windows 应用程序

java - spring Rest 可分页仅发送内容

c# - 如何适当限制多线程应用程序?

node.js - azure nodejs sdk的wait()函数