Операция вернула недопустимый код состояния 'NotFound' форм Xamarin и Azure CustomVision - PullRequest
0 голосов
/ 30 мая 2020

Каждый раз, когда var result = await endpoint.ClassifyImageAsync(myProjectID, "Iteration2", photo.GetStream()); вызывается ошибкой, указывается, что операция вернула недопустимый код состояния «NotFound» форм Xamarin, и возникает Azure CustomVision. Я пытался следовать руководствам по документам Custom Visions и считаю, что myProjectID, конечная точка и ключ прогноза верны. Я использую пакет using Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction; для своего кода.

На заметку:

Когда я запускаю ссылку на конечную точку в браузере, она выдает ошибку 404 (результаты очень схожи с этой ошибкой, может быть коррелирована?)

Я храню ключи и URL-адрес конечной точки в строках, а не в переменных среды.

namespace CustomVisionTesting
{
    // Learn more about making custom code visible in the Xamarin.Forms previewer
    // by visiting https://aka.ms/xamarinforms-previewer
    [DesignTimeVisible(false)]
    public partial class MainPage : ContentPage
    {



        string predictionKey = "2l013000c2355b718ng04aca6a540d5d";

        string ENDPOINT = "https://realcustomvisionservice.cognitiveservices.azure.com/customvision/v3.0/Prediction/7bfir91a-m9vj-mp3k-bk34-jfkbi4jcjs24/detect/iterations/Iteration2/image";

        public MainPage()
        {
            InitializeComponent();
        }

        async void Button_Clicked(System.Object sender, System.EventArgs e)
        {

            var options = new StoreCameraMediaOptions();



            var photo = await CrossMedia.Current.TakePhotoAsync(options);

            CustomVisionPredictionClient endpoint = new CustomVisionPredictionClient()
            {
                ApiKey = predictionKey,
                Endpoint = ENDPOINT


            };








            Guid myProjectID = Guid.Parse("7bfir91a-m9vj-mp3k-bk34-jfkbi4jcjs24");

            var result = await endpoint.ClassifyImageAsync(myProjectID, "Iteration2", photo.GetStream());


        }




    }

Images of the error and how I got my keys, keys have been changed

1 Ответ

0 голосов
/ 01 июня 2020

Значение вашей конечной точки неверно: поскольку вы используете пакет, вы должны передать конечную точку «root», которая действительна для всех операций прогнозирования пользовательского зрения. Предоставленная вами конечная точка является полной конечной точкой для выполнения операции «Обнаружение».

В вашем случае замените следующий

string ENDPOINT = "https://realcustomvisionservice.cognitiveservices.azure.com/customvision/v3.0/Prediction/7bfir91a-m9vj-mp3k-bk34-jfkbi4jcjs24/detect/iterations/Iteration2/image";

на

string ENDPOINT = "https://realcustomvisionservice.cognitiveservices.azure.com";

It это пакет, который вы используете, который отвечает за добавление дополнительных сведений об URL

...