在dotnet core中获取Azure中http触发函数的当前文件夹路径

Posted

技术标签:

【中文标题】在dotnet core中获取Azure中http触发函数的当前文件夹路径【英文标题】:Get current folder path of http trigger function in Azure in dotnet core 【发布时间】:2021-08-17 13:45:11 【问题描述】:

我正在 dotnet 核心中创建一个 http 触发函数,我需要在其中找到我的项目 shopping-samples 的当前文件夹路径。尽管我能够在 vs 代码中的本地执行以下代码。 私有静态只读字符串 defaultPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), “购物样本”); 我如何在 Azure 中为这个 http 触发函数获取文件夹路径。 本地路径显示 :C:\Users\shash\Documents\shopping-samples 并且在本地运行良好。 请帮忙。

【问题讨论】:

这能回答你的问题吗? Azure functions reading custom files 不,即使在本地也无法正常工作。它正在获取 path= "C:\\Users\\shash\\Documents\\shopping-samples\\bin\\Debug\\netcoreapp3.1\\GoogleAuth\\shopping-samples" 实际路径应该是=C:\用户\shash\Documents\shopping-samples 【参考方案1】:

尝试以下代码获取当前文件夹路径:

using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;

namespace FunctionApp8

    public static class Function1
    
        [FunctionName("Function1")]
        public static async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log,
            ExecutionContext context)
        
            return new OkObjectResult(context.FunctionAppDirectory);
        
    

【讨论】:

谢谢它的工作

以上是关于在dotnet core中获取Azure中http触发函数的当前文件夹路径的主要内容,如果未能解决你的问题,请参考以下文章

升级到 DotNet Core 2.2 后 Azure 应用服务不运行

使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例)

通过 azure-sdk-dotnet 查询 Azure 应用密码的过期日期

无法从部署中心为 Dotnet core 3.1 配置 CI 构建。有啥方法可以设置 CI Azure DevOps

ASP.NET Core Web Api配置Azure Key Vault

在 dotnet core web api ::ffff:127.0.0.1 中获取客户端 IP 地址