Google Cloud Platform での Node.js

無料トライアル ドキュメントを見る

クラウド ネイティブなアプリケーションの構築、大規模なデプロイ、データの分析を行う Node.js ツール

  • check グローバルなウェブアプリを構築する
  • check ネイティブ ライブラリ サポート付きの Google の機械学習 API を使用する
  • check サーバーレス アプリを簡単に作成する
  • check 新しい言語を学習することなくビッグデータ分析アプリケーションを作成する
丹念に作成された npm モジュール

@google-cloud npm モジュールを使用して API とサービスを活用し、コードサンプルをテスト実行してみましょう。

ファイルを Google Cloud Storage にアップロードする
Cloud Speech API で音声を分析する
Winston で Stackdriver Logging に書き込む
Google BigQuery を使用する
ファイルを Google Cloud Storage にアップロードする
1
インストールする
npm install --save @google-cloud/storage
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Storage API を有効にする。

    Enable the API

3
コードを書く
// Imports the Google Cloud client library
const Storage = require('@google-cloud/storage');

// Creates a client
const storage = new Storage();

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';
// const filename = 'Local file to upload, e.g. ./local/path/to/file.txt';

// Uploads a local file to the bucket
storage
  .bucket(bucketName)
  .upload(filename)
  .then(() => {
    console.log(`${filename} uploaded to ${bucketName}.`);
  })
  .catch(err => {
    console.error('ERROR:', err);
  });
Cloud Speech API で音声を分析する
1
インストールする
npm install --save @google-cloud/speech
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Speech API を有効にする。

    Enable the API

3
コードを書く
// Imports the Google Cloud client library
const fs = require('fs');
const speech = require('@google-cloud/speech');

// Creates a client
const client = new speech.SpeechClient();

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const filename = 'Local path to audio file, e.g. /path/to/audio.raw';
// const encoding = 'Encoding of the audio file, e.g. LINEAR16';
// const sampleRateHertz = 16000;
// const languageCode = 'BCP-47 language code, e.g. en-US';

const config = {
  encoding: encoding,
  sampleRateHertz: sampleRateHertz,
  languageCode: languageCode,
};
const audio = {
  content: fs.readFileSync(filename).toString('base64'),
};

const request = {
  config: config,
  audio: audio,
};

// Detects speech in the audio file
client
  .recognize(request)
  .then(data => {
    const response = data[0];
    const transcription = response.results
      .map(result => result.alternatives[0].transcript)
      .join('\n');
    console.log(`Transcription: `, transcription);
  })
  .catch(err => {
    console.error('ERROR:', err);
  });
Winston で Cloud Logging に書き込む
1
インストールする
npm install --save @google-cloud/logging-winston
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Stackdriver Logging API を有効にする。

    Enable the API

3
コードを書く
const winston = require('winston');
const Logger = winston.Logger;
const Console = winston.transports.Console;

// Imports the Google Cloud client library for Winston
const LoggingWinston = require('@google-cloud/logging-winston').LoggingWinston;

// Creates a Winston Stackdriver Logging client
const loggingWinston = new LoggingWinston();

// Create a Winston logger that streams to Stackdriver Logging
// Logs will be written to: "projects/YOUR_PROJECT_ID/logs/winston_log"
const logger = new Logger({
  level: 'info', // log at 'info' and above
  transports: [
    // Log to the console
    new Console(),
    // And log to Stackdriver Logging
    loggingWinston,
  ],
});

// Writes some log entries
logger.error('warp nacelles offline');
logger.info('shields at 99%');
Google BigQuery を使用する
1
インストールする
npm install --save @google-cloud/bigquery
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. BigQuery API を有効にする。

    Enable the API

3
コードを書く
// Imports the Google Cloud client library
const BigQuery = require('@google-cloud/bigquery');

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const projectId = "your-project-id";
// const sqlQuery = "SELECT * FROM publicdata.samples.natality LIMIT 5;";

// Creates a client
const bigquery = new BigQuery({
  projectId: projectId,
});

// Query options list: https://cloud.google.com/bigquery/docs/reference/v2/jobs/query
const options = {
  query: sqlQuery,
  useLegacySql: false, // Use standard SQL syntax for queries.
};

let job;

// Runs the query as a job
bigquery
  .createQueryJob(options)
  .then(results => {
    job = results[0];
    console.log(`Job ${job.id} started.`);
    return job.promise();
  })
  .then(() => {
    // Get the job's status
    return job.getMetadata();
  })
  .then(metadata => {
    // Check the job's status for errors
    const errors = metadata[0].status.errors;
    if (errors && errors.length > 0) {
      throw errors;
    }
  })
  .then(() => {
    console.log(`Job ${job.id} completed.`);
    return job.getQueryResults();
  })
  .then(results => {
    const rows = results[0];
    console.log('Rows:');
    rows.forEach(row => console.log(row));
  })
  .catch(err => {
    console.error('ERROR:', err);
  });
Node JS クイックスタート
問題をすばやく検出してデバッグする

Google Stackdriver は、強力なモニタリング、ロギング、診断機能を提供します。これによって、クラウドで実行されるアプリケーションの健全性やパフォーマンス、可用性を分析し、すばやく問題を検出して修正することができます。

Google Stackdriver
Google Cloud Platform と AWS で実行されるアプリケーションのモニタリング、ロギング、診断を統合したソリューションです。
Stackdriver Error Reporting
エラーアラートの取得方法と、Google Cloud Console でのエラーの調査方法をご説明します。
Stackdriver モニタリング、診断、修正
この動画では、Aja Hammerly が Stackdriver を使用してサンプルアプリ内の微細なエラーを検出し修正しています。独自のプロジェクトで Stackdriver を使用する方法を学習できます。
詳細
コミュニティに参加する

質問やご意見がありましたら、コミュニティに参加して質問するか、Google Cloud Platform と Node.js の構築をサポートする Google の専門家とチャットしましょう。