Создание модели - это длительная операция (LRO), поэтому ответ не будет содержать метаданных модели, а вместо этого содержит информацию об операции, которая создаст модель:
{
"name": "projects/project-id/locations/us-central1/operations/ICN2106290444865378475",
"metadata": {
"@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
"createTime": "2019-10-30T20:06:08.253243Z",
"updateTime": "2019-10-30T20:06:08.253243Z",
"createModelDetails": {}
}
}
Вы можете извлеките операцию в любой момент, чтобы увидеть, завершена ли она:
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const operationId = 'YOUR_OPERATION_ID'; // e.g. ICN2106290444865378475
// Imports the Google Cloud AutoML library
const {AutoMlClient} = require(`@google-cloud/automl`).v1;
// Instantiates a client
const client = new AutoMlClient();
async function getOperationStatus() {
// Construct request
const request = {
name: `projects/${projectId}/locations/${location}/operations/${operationId}`,
};
const [response] = await client.operationsClient.getOperation(request);
console.log(`Name: ${response.name}`);
console.log(`Operation details:`);
console.log(`${response}`);
}
getOperationStatus();
Вышеприведенный код Node.js взят из Работа с длительными операциями раздела документации.
Вы должны увидеть вывод, подобный следующему для завершенной операции создания модели:
{
"name": "projects/project-id/locations/us-central1/operations/operation-id",
"metadata": {
"@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
"createTime": "2019-07-22T18:35:06.881193Z",
"updateTime": "2019-07-22T19:58:44.972235Z",
"createModelDetails": {}
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.automl.v1.Model",
"name": "projects/project-id/locations/us-central1/models/model-id"
}
}
Затем вы можете получить model-id
из ответа:
console.log(response.response.name); // Full model path
console.log(response.response.name.replace(/projects\/[a-zA-Z0-9-]*\/locations\/[a-zA-Z0-9-]*\/models\//,'')); // Just the model-id