首页 > 解决方案 > Lambda 缺少身份验证令牌

问题描述

我正在尝试创建一个简单的 lambda 函数以在访问链接时显示 QRCode。我希望它是公开的,所以任何人都可以访问它。

这是控制器的代码:

[Route("QRCode")]
[ApiController]
public class QRCodeController : ControllerBase
{

    [HttpGet]
    public IActionResult GetQRCode()
    {
        //return Ok();
        //byte[] imgData = null;
        //return File(imgData, "image/png");
        QRCodeGenerator qrGenerator = new QRCodeGenerator();
        QRCodeData qrCodeData = qrGenerator.CreateQrCode("hello", QRCodeGenerator.ECCLevel.Q);
        QRCode qrCode = new QRCode(qrCodeData);
        Bitmap qrCodeImageBitMap = qrCode.GetGraphic(20);
        byte[] imgData;
        using (var stream = new MemoryStream())
        {
            qrCodeImageBitMap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
            imgData = stream.ToArray();
        }
        return File(imgData, "image/png");
    }

}

我发布到 AWS Lambda,它可以在 Lambda 函数中看到。但是,当我尝试访问它时,我收到错误:“{“message”:“Missing Authentication Token”}”。这很奇怪,因为我认为我没有使用任何身份验证。

在此处输入图像描述

我应该更改哪些内容才能公开?这是我得到链接的地方:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

标签: amazon-web-servicesaws-lambda

解决方案


此错误主要与请求不存在的 URL 有关。仔细检查您要调用的 URL。

抱歉没有发表评论,只是还没有代表:)

最好的祝福!

编辑:所以它没有附加到 Lambda => 它无法写入 CloudWatch 的策略。

一旦权限到位,日志显示 .NET 中存在的库在 .NET Core 中丢失


推荐阅读