从云端功能呼叫自动ml API时资源ID无效

时间:2019-11-25 10:53:50

标签: firebase google-cloud-functions automl

我正在调用自动​​ml api进行预测,但是出现以下错误:

AutoML API Error:  { Error: 5 NOT_FOUND: Invalid resource ID
at Object.exports.createStatusError (/srv/node_modules/grpc/src/common.js:91:15)
at Object.onReceiveStatus (/srv/node_modules/grpc/src/client_interceptors.js:1209:28)
at InterceptingListener._callNext (/srv/node_modules/grpc/src/client_interceptors.js:568:42)
at InterceptingListener.onReceiveStatus (/srv/node_modules/grpc/src/client_interceptors.js:618:8)
at callback (/srv/node_modules/grpc/src/client_interceptors.js:847:24)

code: 5,metadata: Metadata {_internal_repr: { 'grpc-server-stats-bin': [Array] },flags: 0 },details: 'Invalid resource ID' }

我的代码如下:

function callAutoMLAPI(b64img) {
return new Promise((resolve, reject) => {
    const payload = {
        "image": {
          "imageBytes": b64img
        }
      }
    const reqBody = {
        name: predictionClient.modelPath(project, region, automl_model),
        payload: payload
    }
    console.log('ReqBody: ',reqBody);
    predictionClient.predict(reqBody)
        .then(responses => {
            console.log('Got a prediction from AutoML API!', JSON.stringify(responses));
            resolve(responses);
            return null;
        })
        .catch(err => {
            console.log('AutoML API Error: ',err);
            reject(err);
        });
    });    
}

我认为是因为我的位置或modelId不正确,但我不知道在哪里可以找到模型位置和modelId

1 个答案:

答案 0 :(得分:0)

here所述 “模型名称的格式为projects / {project-id} / locations / us-central1 / models / {model-id};模型ID是在响应的“名称”值中在models /之后出现的元素。 “

这意味着它是模型页面下的ID。