gpt4 book ai didi

c# - 部署在 Azure 上时看不到 C# Azure Function

转载 作者:行者123 更新时间:2023-12-03 00:17:38 25 4
gpt4 key购买 nike

将我的 C# Azure Function 从 VSCode 部署到 Azure 时,我似乎在门户上看不到它。我还注意到,消息“无 HTTP 触发器”专门针对 C# 相关函数出现,因为我已尝试使用 Azure 函数扩展部署我的 Python 函数,并且它按预期工作。

当我使用 AZ CLI 时也会发生同样的情况。

以下是 VS Code 部署该功能时出现的一些日志:

14:57:32 functionapp: Processed 496 files...
14:57:52 functionapp: Processed 719 files...
14:58:00 functionapp: Finished successfully.
14:58:01 functionapp: Running post deployment command(s)...
14:58:01 functionapp: Triggering recycle (preview mode disabled).
14:58:01 functionapp: Deployment successful.
14:58:15 functionapp: Syncing triggers...
14:58:25 functionapp: Querying triggers...
14:58:26 functionapp: No HTTP triggers found.

使用 AZ CLI 时:

> az functionapp deployment source config-zip -g rg-name -n functionapp --src publish_output.zip
Getting scm site credentials for zip deployment
Starting zip deployment. This operation can take a while to complete ...
Deployment endpoint responded with status code 202
{
"active": true,
"author": "N/A",
"author_email": "N/A",
"complete": true,
"deployer": "ZipDeploy",
"end_time": "2023-03-29T13:11:34.0203343Z",
"is_readonly": true,
"is_temp": false,
"last_success_end_time": "2023-03-29T13:11:34.0203343Z",
"log_url": "https://functionapp.scm.azurewebsites.net/api/deployments/latest/log",
"message": "Created via a push deployment",
"progress": "",
"provisioningState": "Succeeded",
"received_time": "2023-03-29T13:10:35.008044Z",
"site_name": "functionapp",
"start_time": "2023-03-29T13:10:35.8988656Z",
"status": 4,
"status_text": "",
"url": "https://functionapp.scm.azurewebsites.net/api/deployments/latest"
}

有人知道这个问题可能来自哪里吗?

TIA!

编辑:一些片段

因此,我在函数中进行了一些依赖注入(inject):

using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;

[assembly: FunctionsStartup(typeof(A.Startup))]

namespace A
{
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.AddSingleton<IHelper, Helper>();
builder.Services.AddSingleton<
SomeInterface,
SomeClass
>();
}
}
}

我修改了类构造函数,并且使用了装饰器

namespace A
{
public class FunctionApp
{
private IHelper _helper;
private SomeInterface _someInterface;

public FunctionApp(
IHelper helper,
SomeInterface someInterface
)
{
_helper = helper;
_someInterface = someInterface;
}

/// <summary>
/// The function's entry point.
/// </summary>
/// <param name="req"></param>
/// <param name="log"></param>
/// <returns></returns>
[FunctionName("FunctionApp")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
ILogger log
)
// The code starts here

最佳答案

Can't see C# Azure Function when deployed on Azure

正如我在之前的 SO 用户问题 # 71617500 中所示,应添加应用程序设置 SCM_DO_BUILD_DURING_DEPLOYMENTtrue 以持续部署 Azure Functions。

enter image description here

confirm whether viewing the code was possible or not

  • 如果您使用 Zip 包部署 Function 项目,则您只能通过应用服务编辑器或编辑配置文件 function.jsonhost.json Kudu SCM 站点。

  • 当且仅当您在 Azure 门户函数应用中创建函数(.csx 格式)时,您可以使用代码+测试菜单或应用服务编辑函数代码编辑器

enter image description here

应用服务编辑器:

enter image description here

引用这个MS Doc有关平台功能(例如门户内编辑 Azure Function Code)的更多信息。

关于c# - 部署在 Azure 上时看不到 C# Azure Function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75877908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com