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

  • 全世界規模のウェブアプリを構築
  • ネイティブ ライブラリで Google の機械学習 API をサポート
  • サーバーレス アプリを簡単に作成
  • 新しい言語を学習することなくビッグデータ分析アプリを作成
丹念に作成された npm モジュール

@google-cloud npm モジュールを使って Google の API とサービスを利用し、コードサンプルをテスト実行してみてください。

1
インストールする
npm install --save @google-cloud/storage
2
Google Cloud プロジェクトを設定する
  1. Google アカウントにログインします。

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

  2. GCP Console プロジェクトの設定

    プロジェクトの設定

    クリックして、以下を行います。

    • プロジェクトを作成または選択します。
    • プロジェクトでCloud Storage を有効にします。
    • サービス アカウントを作成する。
    • JSON として秘密鍵をダウンロードします。

    これらのリソースは、GCP Console でいつでも表示および管理できます。

4
コードを書く
/**
 * 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';

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

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

async function uploadFile() {
  // Uploads a local file to the bucket
  await storage.bucket(bucketName).upload(filename, {
    // Support for HTTP requests made with `Accept-Encoding: gzip`
    gzip: true,
    // By setting the option `destination`, you can change the name of the
    // object you are uploading to a bucket.
    metadata: {
      // Enable long-lived HTTP caching headers
      // Use only if the contents of the file will never change
      // (If the contents will change, use cacheControl: 'no-cache')
      cacheControl: 'public, max-age=31536000',
    },
  });

  console.log(`${filename} uploaded to ${bucketName}.`);
}

uploadFile();
1
インストールする
npm install --save @google-cloud/storage
2
Google Cloud プロジェクトを設定する
  1. Google アカウントにログインします。

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

  2. GCP Console プロジェクトの設定

    プロジェクトの設定

    クリックして、以下を行います。

    • プロジェクトを作成または選択します。
    • プロジェクトでCloud Storage を有効にします。
    • サービス アカウントを作成する。
    • JSON として秘密鍵をダウンロードします。

    これらのリソースは、GCP Console でいつでも表示および管理できます。

4
コードを書く
/**
 * 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';

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

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

async function uploadFile() {
  // Uploads a local file to the bucket
  await storage.bucket(bucketName).upload(filename, {
    // Support for HTTP requests made with `Accept-Encoding: gzip`
    gzip: true,
    // By setting the option `destination`, you can change the name of the
    // object you are uploading to a bucket.
    metadata: {
      // Enable long-lived HTTP caching headers
      // Use only if the contents of the file will never change
      // (If the contents will change, use cacheControl: 'no-cache')
      cacheControl: 'public, max-age=31536000',
    },
  });

  console.log(`${filename} uploaded to ${bucketName}.`);
}

uploadFile();
1
インストールする
npm install --save @google-cloud/speech
2
Google Cloud プロジェクトを設定する
  1. Google アカウントにログインします。

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

  2. GCP Console プロジェクトの設定

    プロジェクトの設定

    クリックして、以下を行います。

    • プロジェクトを作成または選択します。
    • プロジェクトでSpeech-to-Text を有効にします。
    • サービス アカウントを作成する。
    • JSON として秘密鍵をダウンロードします。

    これらのリソースは、GCP Console でいつでも表示および管理できます。

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
const [response] = await client.recognize(request);
const transcription = response.results
  .map(result => result.alternatives[0].transcript)
  .join('\n');
console.log(`Transcription: `, transcription);
1
インストールする
npm install --save @google-cloud/logging-winston
2
Google Cloud プロジェクトを設定する
  1. Google アカウントにログインします。

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

  2. GCP Console プロジェクトの設定

    プロジェクトの設定

    クリックして、以下を行います。

    • プロジェクトを作成または選択します。
    • プロジェクトでLogging を有効にします。
    • サービス アカウントを作成する。
    • JSON として秘密鍵をダウンロードします。

    これらのリソースは、GCP Console でいつでも表示および管理できます。

3
コードを書く
const winston = require('winston');

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

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 = winston.createLogger({
  level: 'info',
  transports: [
    new winston.transports.Console(),
    // Add Stackdriver Logging
    loggingWinston,
  ],
});

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

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

  2. GCP Console プロジェクトの設定

    プロジェクトの設定

    クリックして、以下を行います。

    • プロジェクトを作成または選択します。
    • プロジェクトでBigQuery を有効にします。
    • サービス アカウントを作成する。
    • JSON として秘密鍵をダウンロードします。

    これらのリソースは、GCP Console でいつでも表示および管理できます。

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

async function queryStackOverflow() {
  // Queries a public Stack Overflow dataset.

  // Create a client
  const bigqueryClient = new BigQuery();

  // The SQL query to run
  const sqlQuery = `SELECT
    CONCAT(
      'https://stackoverflow.com/questions/',
      CAST(id as STRING)) as url,
    view_count
    FROM \`bigquery-public-data.stackoverflow.posts_questions\`
    WHERE tags like '%google-bigquery%'
    ORDER BY view_count DESC
    LIMIT 10`;

  const options = {
    query: sqlQuery,
    // Location must match that of the dataset(s) referenced in the query.
    location: 'US',
  };

  // Run the query
  const [rows] = await bigqueryClient.query(options);

  console.log('Query Results:');
  rows.forEach(row => {
    const url = row['url'];
    const viewCount = row['view_count'];
    console.log(`url: ${url}, ${viewCount} views`);
  });
}
queryStackOverflow();
Node.js クイックスタート
問題をすばやく見つけてデバッグする

Stackdriver は、強力なモニタリング、ロギング、診断機能を提供します。これにより、クラウドで実行されるアプリの健全性、パフォーマンス、可用性に関する有用な情報を取得し、問題を速やかに検出して修正できます。

Stackdriver
Google Cloud と Amazon Web Services(AWS)で実行されるアプリケーションのモニタリング、ロギング、診断を一元的に行います。
Stackdriver Error Reporting
エラーアラートを受け取って Google Cloud Console でエラーを調べる方法を説明します。
Stackdriver によるモニタリング、診断、修正
この動画では、Aja Hammerly が Monitoring を使用してサンプルアプリの捉えにくいエラーを検出し、修正しています。これを見ると、Google Cloud プロジェクトで Monitoring を使用する方法がわかります。
詳細
コミュニティに参加する

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