azure - 操作返回了无效的状态代码“未找到”Xamarin 表单和 Azure CustomVision
问题描述
每当var result = await endpoint.ClassifyImageAsync(myProjectID, "Iteration2", photo.GetStream());
称为错误时,说明操作返回了无效的状态代码“未找到”Xamarin 表单并发生 Azure CustomVision。我已经尝试按照自定义视觉文档上的教程进行操作,并且我相信 myProjectID、端点和预测键是正确的。我正在Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction;
为我的代码使用 using 包。
注意事项:
当我在浏览器中运行我的端点链接时,它会给出错误 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());
}
}
解决方案
您的端点值不正确:当您使用包时,您必须传递对所有自定义视觉预测操作都有效的“根”端点。您提供的端点是执行“检测”操作的完整端点。
在您的情况下,请替换以下内容
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";
您正在使用的软件包负责附加额外的 url 详细信息
推荐阅读
- python - RPi 温度监控和过热检测
- sql - PostgreSQL:我是否需要锁定表以避免在更新期间使用子查询在 JSONB 数组中查找索引或更新时出现并发错误?
- python - 从提及 PRAW reddit api 获取帖子对象
- css - 带有 litelement 的全局样式
- arrays - 当我尝试使用按引用调用来查找数组的最大值时,为什么程序给出了错误的答案?
- php - 如何遍历两个 XML 文件并打印结果
- python - 根据订单、模具优化组合和打印数量
- javascript - JavaScript 等待函数
- c++ - 如何将全局范围函数声明为命名空间类的朋友?
- flash - WebSphere Management Center (CMC) 的闪存寿命终止意味着什么?