From 8a2c52fa8bd8896003334892dd7a5de7dcebcccd Mon Sep 17 00:00:00 2001 From: Noah Negrey Date: Tue, 17 Mar 2020 15:28:03 -0600 Subject: [PATCH] docs: move and update beta import samples (#341) * docs: move and update beta import samples * Update import-dataset.js Co-authored-by: Benjamin E. Coe --- automl/snippets/beta/import-dataset.js | 62 +++++++++++++++++++ .../snippets/test/import-dataset.beta.test.js | 40 ++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 automl/snippets/beta/import-dataset.js create mode 100644 automl/snippets/test/import-dataset.beta.test.js diff --git a/automl/snippets/beta/import-dataset.js b/automl/snippets/beta/import-dataset.js new file mode 100644 index 00000000000..720d2802326 --- /dev/null +++ b/automl/snippets/beta/import-dataset.js @@ -0,0 +1,62 @@ +// 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', + datasetId = 'YOUR_DISPLAY_ID', + path = 'gs://BUCKET_ID/path_to_training_data.csv' +) { + // [START automl_import_dataset_beta] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const projectId = 'YOUR_PROJECT_ID'; + // const location = 'us-central1'; + // const datasetId = 'YOUR_DISPLAY_ID'; + // const path = 'gs://BUCKET_ID/path_to_training_data.csv'; + + // Imports the Google Cloud AutoML library + const {AutoMlClient} = require(`@google-cloud/automl`).v1beta1; + + // Instantiates a client + const client = new AutoMlClient(); + + async function importDataset() { + // Construct request + const request = { + name: client.datasetPath(projectId, location, datasetId), + inputConfig: { + gcsSource: { + inputUris: path.split(','), + }, + }, + }; + + // Import dataset + console.log(`Proccessing import`); + const [operation] = await client.importData(request); + + // Wait for operation to complete. + const [response] = await operation.promise(); + console.log(`Dataset imported: ${response}`); + } + + importDataset(); + // [END automl_import_dataset_beta] +} + +main(...process.argv.slice(2)); diff --git a/automl/snippets/test/import-dataset.beta.test.js b/automl/snippets/test/import-dataset.beta.test.js new file mode 100644 index 00000000000..269e6278c46 --- /dev/null +++ b/automl/snippets/test/import-dataset.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 +// +// 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 IMPORT_DATASET_REGION_TAG = 'beta/import-dataset'; +const LOCATION = 'us-central1'; + +describe('Automl Import Dataset Test', () => { + const client = new AutoMlClient(); + + it('should import a dataset', async () => { + // As importing a dataset can take a long time, instead try to import to a + // nonexistent dataset and confirm that the dataset was not found, but + // other elements of the request were valid. + const projectId = await client.getProjectId(); + const data = `gs://${projectId}-automl-translate/en-ja-short.csv`; + const args = [IMPORT_DATASET_REGION_TAG, projectId, LOCATION, 'TEN0000000000000000000', data]; + const output = cp.spawnSync('node', args, {encoding: 'utf8'}); + + assert.match(output.stderr, /NOT_FOUND/); + }); +});