首页 > 解决方案 > Microsoft 计算机视觉 API 返回 404 未找到资源

问题描述

我尝试使用下面的 C# 代码调用 Azure 的计算机视觉 API,但得到以下响应:

{"code":"404","message":"Resource not found"}

有什么建议可以完成这项工作吗?

using System;
using System.IO;
using System.Threading.Tasks;
using AzureFunctions.Extensions.CognitiveServices.Bindings.Vision.Analysis;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Extensions.Logging;
using Microsoft.WindowsAzure.Storage.Table;

namespace myCognitiveFunction
{
    public static class myCognitiveFunction
    {
        [FunctionName("myCognitiveFunction")]
        public static async Task RunAsync(

            [BlobTrigger("images/{name}", Connection = "storageAccount")]Stream myBlob,
            [VisionAnalysis(VisionKey = "Key", VisionUrl = "Url")]VisionAnalysisClient visionClient,
            [Table("VisionAnalysis", Connection = "storageAccount")]IAsyncCollector<VisionResult> results,
            string name, ILogger log)
        {
            var request = new VisionAnalysisRequest(myBlob);
            var result = await visionClient.AnalyzeAsync(request);
            var visionResult = new VisionResult(Guid.NewGuid().ToString(), "VisionAnalysis") { ResultJson = result.ToString() };

            await results.AddAsync(visionResult);
            log.LogInformation($"Results: {result.ToString()}");
        }
    }
    public class VisionResult : TableEntity
    {

        public VisionResult(string id, string partitionKey)
        {
            this.RowKey = id;
            this.PartitionKey = partitionKey;
        }

        public string ResultJson { get; set; }

    }
}

网址:https ://mycognitive1000.cognitiveservices.azure.com/

标签: c#azurecomputer-visionmicrosoft-cognitiveazure-cognitive-services

解决方案


首先,欢迎来到 SO!您似乎已经从文档中复制了代码,而没有替换服务工作所需的占位符storageAccount, Key, Url...。例如,在您的情况下,在您的问题下发布的 URL 应按VisionUrl如下方式进入属性:

[VisionAnalysis(VisionKey = "YOUR_KEY", VisionUrl = "mycognitive1000.cognitiveservices.azure.com")]

存储帐户是Azure Blob 存储连接字符串。至于 Vision Key 和 Url,你可以在官方文档中找到关于计算机视觉 API的很好的教程和文档。本教程还解释了如何将这些参数写入单独的配置文件中作为最佳实践。


推荐阅读