我正在尝试创建一个简单的lamda函数,以在访问链接时显示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 Lamda,可以在Lamda Functions中看到它。但是,当我尝试访问它时,出现错误:“ {” message“:” Missing Authentication Token“}”。这很奇怪,因为我认为我没有使用任何身份验证。
我应该进行哪些更改以使其公开?这是我获得链接的地方:
答案 0 :(得分:1)
此错误主要与请求不存在的URL有关。仔细检查您要呼叫的URL。
很抱歉没有发表评论,只是还没有代表:)
最诚挚的问候!
编辑:因此得出结论,没有附加到Lambda的策略=>它无法写入CloudWatch。
权限到位后,日志显示.NET Core中缺少.NET中存在的库