小编Jan*_*wak的帖子

Azure函数 - 使用TimerTrigger预编译C#函数 - TimerInfo类

我想要一个基于计时器触发器的预编译Azure功能.

我需要安装什么nuget包,或者我需要引用什么dll才能访问TimerInfo类?我找不到任何地方.

azure azure-webjobs azure-functions

6
推荐指数
1
解决办法
1169
查看次数

Azure函数中的Autofac依赖注入

我试图在Azure功能中使用Autofac IOC实现DI.我需要构建容器,但不确定将代码放在何处构建容器

dependency-injection inversion-of-control azure autofac azure-functions

6
推荐指数
2
解决办法
6812
查看次数

Azure功能静态隔离

我无法在应用服务计划中找到有关Azure功能隔离的大量文档.

如果您共享一个静态变量,例如,HttpClient在azure函数调用之间,我假设读取可以在同一进程或单独的进程或单独的服务器中运行的可伸缩性建议......这很好,使用Lazy<T>可以帮助解决线程问题.

但是可以将Azure Functions分开一个工作进程吗?即我应该隔离静态变量以确保功能的隔离?我收集使用ConcurrentDictionary带有键的函数是一个很好的方法来帮助解决这个问题,但我还没有找到任何讨论隔离的文档.

c# static azure azure-functions

6
推荐指数
1
解决办法
2112
查看次数

在Azure Function中将自定义JsonSerializerSettings与DocumentDb一起使用

我想使用自定义JsonSerializerSettings使用DocumentDb API创建文档。谁能告诉我该怎么做?

我尝试设置

JsonConvert.DefaultSettings = () => {
    return new JsonSerializerSettings() {
        ContractResolver = new CamelCasePropertyNameContractResolver()
        };
    };
Run Code Online (Sandbox Code Playgroud)

azure azure-functions azure-cosmosdb

6
推荐指数
1
解决办法
2075
查看次数

CancellationToken 不会在 Azure Functions 中触发

我有这个简单的 Azure 函数:

public static class MyCounter
{
    public static int _timerRound = 0;
    public static bool _isFirst = true;

    [FunctionName("Counter")]
    //[TimeoutAttribute("00:00:05")]
    public async static Task Run([TimerTrigger("*/10 * * * * *")]TimerInfo myTimer, TraceWriter log, CancellationToken token)
    {
        try
        {
            log.Info($"C# Timer trigger function executed at: {DateTime.UtcNow}");
            if (_isFirst)
            {
                log.Info("Cancellation token registered");
                token.Register(async () =>
                {
                    log.Info("Cancellation token requested");
                    return;
                });
                _isFirst = false;
            }
            Interlocked.Increment(ref _timerRound);
            for (int i = 0; i < 10; i++)
            {
                log.Info($"Round: {_timerRound}, …
Run Code Online (Sandbox Code Playgroud)

azure azure-webjobs azure-functions

6
推荐指数
1
解决办法
2605
查看次数

Azure函数静态构造函数错误日志记录

我有一个Azure功能应用程序(使用更新的.net class library方法),我使用静态构造函数初始化,以便共享生成的资源.

官方文档建议像HttpClient 在web api中共享资源.

Azure函数C#脚本开发人员参考文档底部的讨论提到放置HttpClient一个静态变量以防止对每个请求进行重新实例化,因为它是线程安全的.

我想知道两件事.

  1. 静态构造函数是否可以初始化所有请求使用的昂贵的"设置"资源?

  2. 如果这种方法没问题,如果这些资源的初始化失败,如何在静态构造函数中配置错误日志记录?

这是我的班级定义

public static class HttpSubmissionTrigger
{
    private static readonly SendGridClient sendGridClient;
    private static readonly Func<IDictionary<string, object>, string> template;
    private static readonly EmailAddress senderEmail;
    private static readonly string emailTitle;
    private static readonly HttpResponseMessage errorResponse;

    static HttpSubmissionTrigger()
    {
          // ... initialization of above static members here
    }

    public static async Task<HttpResponseMessage> Run(...)
    {
         // ... use static members here to send emails, respond to client …
Run Code Online (Sandbox Code Playgroud)

c# azure azure-functions

6
推荐指数
1
解决办法
1810
查看次数

Azure 函数在 Node 启动时运行代码

我正在使用 Azure 函数开发聊天机器人。我想从文件加载聊天机器人的一些对话。我正在寻找一种在函数应用程序通过某些函数回调启动之前加载这些对话数据的方法。有没有办法在功能应用程序启动时仅加载一次对话数据?

这个问题实际上是Azure Function run code onstartup的重复。但是这个问题是针对 C# 提出的,我想要一种方法在 NodeJS 中做同样的事情

azure chatbot node.js azure-functions

6
推荐指数
1
解决办法
2759
查看次数

Azure AD B2C 以编程方式获取令牌以进行单元测试

我的场景很简单,我有一个简单的 Azure 函数,上面有 B2C 身份验证,我正在编写单元测试,但我发现了一个问题,我无法以编程方式对 azure 函数进行身份验证。

我可以通过浏览器访问,甚至可以获取令牌并将其放入单元测试中,并且工作正常,但是当我尝试使用 ClientID、TenantID 等生成令牌时,我得到了一个令牌,但是401 Azure 函数上的未经授权的响应。

有没有办法以编程方式生成有效的 B2C 令牌(无需在浏览器中登录?

到目前为止我使用的方法:

public static async  Task<AuthenticationResult> GetAccessToken(string resourceUri, string clientId, string clientSecret)
{
        ClientCredential clientCredential = new ClientCredential(clientId, clientSecret);

        string aadInstance = "https://login.microsoftonline.com/";
        string tenant = "<mytenant>.onmicrosoft.com";
        string authority = string.Concat(aadInstance, tenant);
        AuthenticationContext authContext = new AuthenticationContext(authority);

        return await authContext.AcquireTokenAsync(resourceUri, clientCredential);
}
Run Code Online (Sandbox Code Playgroud)

我得到了一个令牌(EY.......)但无效,当我传递给Azure Function请求时,它返回401 Unauthorized。

提前致谢!伊万

c# unit-testing azure azure-ad-b2c azure-functions

6
推荐指数
1
解决办法
4651
查看次数

在本地开发 Azure 函数

我领导着一个庞大的 azure 函数开发团队。因此,Microsoft 引用的大多数使用 azure Web 界面的示例对我都不起作用。我正在使用模拟器在本地开发 Azure 函数以节省一些成本。我通过 Visual Studio 将所有功能发布到我的集成环境中。

我正在开发一堆需要 api 网关来处理使用 Azure AD B2C 的身份验证工作流的 azure 函数。现在,没有可以在本地运行的 api 网关模拟器或 Azure AD B2C 模拟器。我的身份验证工作流程涉及拦截对 api 的请求,将它们重定向到 AD B2C 进行身份验证,随后将 auth-token 添加到 http 标头,然后调用 http 触发的 azure 函数。

现在,问题变成了,我如何测试身份验证工作流程?如何设置 api 网关以将我在 Visual Studio 中本地运行的函数注册为云中 api 网关的 api 端点?

restful-authentication azure azure-api-management azure-ad-b2c azure-functions

6
推荐指数
2
解决办法
1314
查看次数

Azure DevOps Yaml Pipline gitversion/执行/_/LibGit2Sharp/Core/Handles/Objects.cs中失败的ObjectHandle.op_Implicit(ObjectHandle句柄):第509行

An unexpected error occurred: System.NullReferenceException: Object reference not set to an instance of an object. at LibGit2Sharp.Core.Handles.ObjectHandle.op_Implicit(ObjectHandle handle) in /_/LibGit2Sharp/Core/Handles/Objects.cs:line 509 at LibGit2Sharp.Core.Proxy.git_commit_author(ObjectHandle obj) in /_/LibGit2Sharp/Core/Proxy.cs:line 289 at 在没有在 yaml 中进行设置的选项的azure devops yaml 管道上运行任务 gitversion/execute 时出现错误 ##[debug]fetchDepth=1 ,因为这已更改为 Microsoft 的默认值。

gitversion azure-devops azure-pipelines

6
推荐指数
2
解决办法
1784
查看次数