0

我正在尝试连接到我的认知服务资源,但出现以下错误:

(node:3246) UnhandledPromiseRejectionWarning: Error: Access denied due to invalid subscription key or wrong API endpoint. Make sure to provide a valid key for an active subscription and use a correct regional API endpoint for your resource.

我用这样的方式创建了资源CognitiveServices

az cognitiveservices account create -n <name> -g <group> --kind CognitiveServices --sku S0 -l eastus --yes

使用 kindCustomVision.Training也没有用。

我已经看过这个答案,但它不是同样的问题。我相信我正在输入正确的凭据和端点。

我检查了 Azure 门户和 customvision.ai 资源,我使用了正确的 URL 和密钥,但它不起作用。

在此处输入图像描述

我什至尝试重置密钥,但它也没有效果。

在此处输入图像描述

import { TrainingAPIClient } from "@azure/cognitiveservices-customvision-training";
const { CognitiveServicesCredentials } = require("@azure/ms-rest-azure-js");

const cognitiveServiceCredentials = new CognitiveServicesCredentials("<MY_API_KEY>");
const client = new TrainingAPIClient(cognitiveServiceCredentials, "https://eastus.api.cognitive.microsoft.com");
const projects = client.getProjects()

我还能够使用 REST API 运行它,获得 HTTP 200。

在此处输入图像描述

4

2 回答 2

0

您可以克隆Microsoft 认知服务示例(UWP 应用程序)并查看示例中的计算机视觉功能。在继续检查之前,您必须在应用程序中设置应用程序设置。

您可以按照以下步骤通过 bash / git bash 中的 azure cli 命令执行此操作:

创建资源组

# Create resource group, replace resouce group name and location of resource group as required
az group create -n kiosk-cog-service-keys -l westus

生成密钥并回显密钥

请注意!需要安装jq才能执行以下命令。如果您不想使用 jq,那么您只需执行 az group deployment 命令,然后在 json 的输出部分中搜索您将找到密钥的位置。

要使用默认参数获取密钥,请执行以下命令

# The command below creates the cognitive service keys required by the KIOSK app, and then prints the keys
echo $(az group deployment create -n cog-keys-deploy -g kiosk-cog-service-keys --template-uri https://raw.githubusercontent.com/Microsoft/Cognitive-Samples-IntelligentKiosk/master/Kiosk/cognitive-keys-azure-deploy.json) | jq '.properties.outputs'

# If you dont have jq installed you can execute the command, and manually search for the outputs section
# az group deployment create -n cog-keys-deploy -g kiosk-cog-service-keys --template-uri https://raw.githubusercontent.com/Microsoft/Cognitive-Samples-IntelligentKiosk/master/Kiosk/cognitive-keys-azure-deploy.json

相反,如果您想修改默认参数,您需要在本地获取cognitive-keys-azure-deploy.json 和cognitive-keys-azure-deploy.parameters.json 文件并执行以下命令

# Change working directory to Kiosk
cd Kiosk
  
# The command below creates the cognitive service keys required by the KIOSK app, and then prints the keys. You can modifiy the tiers associated with the generated keys by modifying the parameter values
echo $(az group deployment create -n cog-keys-deploy -g kiosk-cog-service-keys --template-file cognitive-keys-azure-deploy.json --parameters @cognitive-keys-azure-deploy.parameters.json) | jq '.properties.outputs'

# If you dont have jq installed you can execute the command, and manually search for the outputs section
# az group deployment create -n cog-keys-deploy -g kiosk-cog-service-keys --template-file cognitive-keys-azure-deploy.json --parameters @cognitive-keys-azure-deploy.parameters.json
    

上述命令的示例输出如下:

# Sample output of above command
{
    "bingAugosuggestKey1": {
        "type": "String",
        "value": "cb4******************************"
    },
    "bingSearchKey1": {
        "type": "String",
        "value": "88*********************************"
    },
    "compVisionEndpoint": {
        "type": "String",
        "value": "https://westus.api.cognitive.microsoft.com/vision/v1.0"
    },
    "compVisionKey1": {
        "type": "String",
        "value": "fa5**************************************"
    },
    "faceEndpoint": {
        "type": "String",
        "value": "https://westus.api.cognitive.microsoft.com/face/v1.0"
    },
    "faceKey1": {
        "type": "String",
        "value": "87f7****************************************"
    },
    "textAnalyticsEndpoint": {
        "type": "String",
        "value": "https://westus.api.cognitive.microsoft.com/text/analytics/v2.0"
    },
    "textAnalyticsKey1": {
        "type": "String",
        "value": "ba3*************************************"
    }
}

另请注意,您可以按照类似的步骤仅生成 CV 密钥和端点并在您的应用程序中使用它们。

于 2020-07-31T05:11:04.680 回答
0

正确的凭证对象是这个:

import { ApiKeyCredentials } from "@azure/ms-rest-js";

文档已更新,完整讨论在#10362

于 2020-07-31T20:18:28.093 回答