为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法使用 C# 从我的 Function App 中删除 Azure Function?

有没有办法使用 C# 从我的 Function App 中删除 Azure Function?

C#
达令说 2023-08-13 15:27:10
我正在尝试通过 C# 从我的函数应用程序中删除 Azure 函数。但是,在以编程方式删除它时,用户界面上看不到该函数,但是当我通过高级工具(Kudu)检查它时,我仍然可以看到我的Azure函数。因此,基本上在删除 Azure 函数时,我所做的就是删除它的 function.json,这样 Azure 函数在函数应用程序列表中就不再可见(见下图)但是当我去Advanced Kudu检查它是否被删除时,我仍然可以看到它,但是没有function.json文件。我以前做过这个(大约 6 个月前),当时它工作正常。我不知道是我做错了还是有什么改变。
查看完整描述

1 回答

?
慕仙森

TA贡献1827条经验 获得超8个赞

您可以使用 REST API 来执行此操作。


https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}?api-version=2016-08-01

方法: DELETE


代码片段:


 HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Delete, string.Format("https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}?api-version=2016-08-01", "Pass All Param In {}")));


 request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", results.access_token);


 HttpResponseMessage response = await _client.SendAsync(request);

 if (response.IsSuccessStatusCode)

 {

    dynamic objApiResponse = JsonConvert.DeserializeObject<dynamic>(await response.Content.ReadAsStringAsync());


 }

 else

 {

    return req.CreateResponse(HttpStatusCode.OK, "Sorry Invalid Request");

 }

详细信息请查看官方文档


注意:对于令牌请求,您resource/Scope应该是https://management.azure.com. 发送请求时传递您的令牌。


更新:


您可以使用身份验证流程请求令牌client_credentials。尝试以下格式:


应用程序 ID 和租户 ID 的 Azure 门户凭据:

https://img1.sycdn.imooc.com//64d8861300014a6f06530220.jpg

来自门户的应用程序秘密:

https://img1.sycdn.imooc.com//64d8861f00016aae06520260.jpg

令牌端点或 URL:


https://login.microsoftonline.com/YourTenantName.onmicrosoft.com/oauth2/token

请求参数:


grant_type:client_credentials

client_id:b603c7be_Your_App_ID_e6921e61f925

client_secret:Vxf1Sl_Your_App_Secret_2XDSeZ8wL/Yp8ns4sc=

resource:https://graph.microsoft.com 

邮递员示例:

https://img1.sycdn.imooc.com//64d8862c0001e6d406520221.jpg

令牌响应:

https://img1.sycdn.imooc.com//64d8863a0001118206540311.jpg

令牌端点或 URL:


https://login.microsoftonline.com/YourTenantName.onmicrosoft.com/oauth2/token

请求参数:


grant_type:client_credentials

client_id:b603c7be_Your_App_ID_e6921e61f925

client_secret:Vxf1Sl_Your_App_Secret_2XDSeZ8wL/Yp8ns4sc=

resource:https://graph.microsoft.com 

邮递员示例:

需要记住的一点:

如果您遇到此错误

InvalidAuthenticationToken:收到的访问令牌无效:至少应存在声明“puid”、“altsecid”或“oid”之一。如果您作为应用程序访问,请确保在租户中正确创建服务主体

您必须为您的应用程序分配角色,如下所示:


https://img1.sycdn.imooc.com//64d8864f00013f7f06550339.jpg


查看完整回答
反对 回复 2023-08-13
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信