【发布时间】:2023-01-29 20:37:17
【问题描述】:
我的 Azure 函数中的 http 触发器有问题。当我在本地使用 http 触发器时,触发器正确地从在线 azure 存储容器中获取图片。一旦部署了 azure 函数,它就不再起作用。
这是我的 http 触发器代码,它在本地工作但一旦部署就不会工作:
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Azure.Storage.Blobs;
namespace PlaygroundAzureFunctions
{
public static class HttpFromStorage
{
[FunctionName("GetSnapsnot")]
public static async Task<IActionResult> GetSnapsnot(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "Snapshot")] HttpRequest req,
ILogger log)
{
log.LogInformation($"Snapsnot requested at: {DateTime.Now}");
string Connection = Environment.GetEnvironmentVariable("AzureWebJobsStorage");
string containerName = Environment.GetEnvironmentVariable("ContainerName");
var blobClient = new BlobContainerClient(Connection, containerName);
var blob = blobClient.GetBlobClient("TestPicture.jpeg");
var image = await blob.OpenReadAsync();
log.LogInformation($"Snapsnot request returned at: {DateTime.Now}");
return new OkObjectResult(image);
}
}
}
这是我的 local.settings.json:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "StringTakenFromCorrectStorageAccessKeysJustHiddenHere",
"ContainerName": "file-upload", // container name
"FUNCTIONS_WORKER_RUNTIME": "dotnet"
}
}
我的目标是一旦部署我就可以使用公众到互联网应用程序并使用它的 url 调用 api 来触发要显示的特定图片
【问题讨论】:
标签: c# azure-functions