【问题标题】:How to initialize AWS XRay in Lambda C# project如何在 Lambda C# 项目中初始化 AWS XRay
【发布时间】:2020-12-03 23:32:31
【问题描述】:

我有一个 c# lambda 项目,现在想为 AWS XRay 设置该项目。

我的项目包含一个启动类,并且在 ConfigureServices 中,我已添加

    private static IServiceCollection ConfigureServices(IConfigurationRoot root)
    {
        AWSXRayRecorder.InitializeInstance(root);
....
    }

不幸的是,由于这是一个 lambda 项目,所以没有

Configure(IApplicationBuilder app, IWebHostEnvironment env)

需要对 Startup.cs 进行哪些其他代码更改才能使 XRay 正常工作?

【问题讨论】:

  • 官方guide 展示了如何做到这一点

标签: c# amazon-web-services aws-lambda aws-xray


【解决方案1】:

如果您在Startup 文件中缺少Configure 方法,您可以尝试在CreateHostBuilder() 中配置app.UseXRay()Program 文件中。

public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration((hostingContext, config) =>
            {
            })
            .ConfigureWebHostDefaults(webBuilder =>
            {
                .Configure(app =>
                {
                    app.UseXRay("SampleApp")
                });
            });
        });

请注意,HTTP 请求管道中 AWSXRayMiddlewareorder 很重要,因此您可能需要确保已正确配置管道。

【讨论】:

    猜你喜欢
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 2021-04-14
    相关资源
    最近更新 更多