From 02131932e8c0351fe446f2dbab233bee8ea4f17a Mon Sep 17 00:00:00 2001 From: Noah Negrey Date: Tue, 17 Mar 2020 11:21:17 -0600 Subject: [PATCH] docs: move and update beta list samples for video (#344) --- automl/beta/list-datasets.js | 73 ++++++++++++++++++++++++++ automl/beta/list-models.js | 57 ++++++++++++++++++++ automl/test/list-datasets.beta.test.js | 39 ++++++++++++++ automl/test/list-models.beta.test.js | 40 ++++++++++++++ 4 files changed, 209 insertions(+) create mode 100644 automl/beta/list-datasets.js create mode 100644 automl/beta/list-models.js create mode 100644 automl/test/list-datasets.beta.test.js create mode 100644 automl/test/list-models.beta.test.js diff --git a/automl/beta/list-datasets.js b/automl/beta/list-datasets.js new file mode 100644 index 00000000000..865b5b2b897 --- /dev/null +++ b/automl/beta/list-datasets.js @@ -0,0 +1,73 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +function main(projectId = 'YOUR_PROJECT_ID', location = 'us-central1') { + // [START automl_video_classification_list_datasets_beta] + // [START automl_video_object_tracking_list_datasets_beta] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const projectId = 'YOUR_PROJECT_ID'; + // const location = 'us-central1'; + + // Imports the Google Cloud AutoML library + const {AutoMlClient} = require(`@google-cloud/automl`).v1beta1; + + // Instantiates a client + const client = new AutoMlClient(); + + async function listDatasets() { + // Construct request + const request = { + parent: client.locationPath(projectId, location), + filter: 'translation_dataset_metadata:*', + }; + + const [response] = await client.listDatasets(request); + + console.log(`List of datasets:`); + for (const dataset of response) { + console.log(`Dataset name: ${dataset.name}`); + console.log( + `Dataset id: ${ + dataset.name.split('/')[dataset.name.split('/').length - 1] + }` + ); + console.log(`Dataset display name: ${dataset.displayName}`); + console.log(`Dataset create time`); + console.log(`\tseconds ${dataset.createTime.seconds}`); + console.log(`\tnanos ${dataset.createTime.nanos / 1e9}`); + + // [END automl_video_object_tracking_list_datasets_beta] + console.log( + `Video classification dataset metadata: ${dataset.videoClassificationDatasetMetadata}` + ); + // [END automl_video_classification_list_datasets_beta] + + // [START automl_video_object_tracking_list_datasets_beta] + console.log( + `Video object tracking dataset metadata: ${dataset.videoObjectTrackingDatasetMetadata}` + ); + // [START automl_video_classification_list_datasets_beta] + } + } + + listDatasets(); + // [END automl_video_classification_list_datasets_beta] + // [END automl_video_object_tracking_list_datasets_beta] +} + +main(...process.argv.slice(2)); diff --git a/automl/beta/list-models.js b/automl/beta/list-models.js new file mode 100644 index 00000000000..b54409b3d88 --- /dev/null +++ b/automl/beta/list-models.js @@ -0,0 +1,57 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +function main(projectId = 'YOUR_PROJECT_ID', location = 'us-central1') { + // [START automl_list_models_beta] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const projectId = 'YOUR_PROJECT_ID'; + // const location = 'us-central1'; + + // Imports the Google Cloud AutoML library + const {AutoMlClient} = require(`@google-cloud/automl`).v1beta1; + + // Instantiates a client + const client = new AutoMlClient(); + + async function listModels() { + // Construct request + const request = { + parent: client.locationPath(projectId, location), + filter: 'translation_model_metadata:*', + }; + + const [response] = await client.listModels(request); + + console.log(`List of models:`); + for (const model of response) { + console.log(`Model name: ${model.name}`); + console.log(` + Model id: ${model.name.split('/')[model.name.split('/').length - 1]}`); + console.log(`Model display name: ${model.displayName}`); + console.log(`Model create time`); + console.log(`\tseconds ${model.createTime.seconds}`); + console.log(`\tnanos ${model.createTime.nanos / 1e9}`); + console.log(`Model deployment state: ${model.deploymentState}`); + } + } + + listModels(); + // [END automl_list_models_beta] +} + +main(...process.argv.slice(2)); diff --git a/automl/test/list-datasets.beta.test.js b/automl/test/list-datasets.beta.test.js new file mode 100644 index 00000000000..362e052f6ad --- /dev/null +++ b/automl/test/list-datasets.beta.test.js @@ -0,0 +1,39 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +const {assert} = require('chai'); +const {describe, it} = require('mocha'); +const {AutoMlClient} = require('@google-cloud/automl').v1beta1; + +const cp = require('child_process'); + +const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); + +const LIST_DATASET_REGION_TAG = 'beta/list-datasets'; +const LOCATION = 'us-central1'; + +describe('Automl List Dataset Tests', () => { + const client = new AutoMlClient(); + + it('should list datasets', async () => { + const projectId = await client.getProjectId(); + const list_output = execSync( + `node ${LIST_DATASET_REGION_TAG}.js ${projectId} ${LOCATION}` + ); + + assert.match(list_output, /Dataset id/); + }); +}); diff --git a/automl/test/list-models.beta.test.js b/automl/test/list-models.beta.test.js new file mode 100644 index 00000000000..928812580d8 --- /dev/null +++ b/automl/test/list-models.beta.test.js @@ -0,0 +1,40 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +const {assert} = require('chai'); +const {describe, it} = require('mocha'); +const {AutoMlClient} = require('@google-cloud/automl').v1beta1; + +const cp = require('child_process'); + +const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); + +const LIST_MODEL_REGION_TAG = 'beta/list-models'; +const LOCATION = 'us-central1'; + +describe('Automl List Model Tests', () => { + const client = new AutoMlClient(); + + it('should list models', async () => { + const projectId = await client.getProjectId(); + + // list models + const list_model_output = execSync( + `node ${LIST_MODEL_REGION_TAG}.js ${projectId} ${LOCATION}` + ); + assert.match(list_model_output, /Model id:/); + }); +});