我正在从云视觉 API 示例存储库运行以下代码。我按照这里的说明进行操作:https://cloud.google.com/vision/docs/quickstart-client-libraries?refresh=1 设置服务帐户和身份验证,但我仍然无法成功执行此功能。
async function detectLabels() {
// [START vision_label_detection]
// Imports the Google Cloud client library
const vision = require('@google-cloud/vision');
// Creates a client
const client = new vision.ImageAnnotatorClient();
const fileName = './src/img/wakeupcat.jpg';
// Performs label detection on the local file
const [result] = await client.labelDetection(fileName);
const labels = result.labelAnnotations;
console.log('Labels:');
labels.forEach(label => console.log(label.description));
// [END vision_label_detection]
}
detectLabels();
这将给出以下错误:
错误:8 RESOURCE_EXHAUSTED:超出配额指标"请求"的配额,并将使用者"project_number:6579173653"的服务"vision.googleapis.com"的"每分钟请求数"限制。
我使用的 wakupcat.jpg 图像是 14kb,所以它的大小不是问题。
确保执行此步骤:导出 GOOGLE_APPLICATION_CREDENTIALS="[PATH]">
您收到的错误是您发出的请求数量(我认为不是文件大小(。
您可以使用以下 URL 查看特定项目和 API 的当前报价使用情况:
https://console.cloud.google.com/apis/api/vision-json.googleapis.com/quotas?folder=&organizationId=&project=[[您的项目 ID]]
需要使用项目 ID,而不是项目 # (6579173653(
如果正如我怀疑的那样,您超过了(每天?每小时?(配额,您可以等待(直到这些重置(或申请更多:
https://console.cloud.google.com/iam-admin/quotas?project=[[YOUR-PROJECT-ID]]&folder&organizationId&service=vision-json.googleapis.com
您应该能够使用以下方法确定项目 ID:
PROJECT_ID=$(
gcloud projects list
--filter="projectNumber~6579173653"
--format=value(projectId)") && echo ${PROJECT_ID}
注意:我不清楚为什么这仅适用于~
而不是=