在 Google Cloud Platform 上執行 Node.js

免費試用 查看說明文件

透過 Node.js 工具建構雲端原生應用程式、執行大規模的部署作業及分析資料

  • 建構大規模的網路應用程式
  • 使用支援原生程式庫的 Google 機器學習 API
  • 輕鬆編寫無伺服器應用程式
  • 不需學習其他程式語言即可製作大數據分析應用程式
精心打造的 npm 模組

使用 @google-cloud npm 模組充分利用 Google 的 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 主控台專案
  1. 登入您的 Google 帳戶。

    如果您沒有帳戶,請申請新帳戶

  2. 設定 GCP 主控台專案。

    設定專案

    按一下即可:

    • 建立或選取專案。
    • 啟用該專案的Cloud Storage API。
    • 建立服務帳戶。
    • 將私密金鑰下載為 JSON。

    您可以隨時在 GCP 主控台中查看及管理這些資源。

4
編寫程式碼
// 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
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}.`);
使用 Cloud Speech API 分析音訊
1
安裝
npm install --save @google-cloud/speech
2
設定 Cloud Platform 主控台專案
  1. 登入您的 Google 帳戶。

    如果您沒有帳戶,請申請新帳戶

  2. 設定 GCP 主控台專案。

    設定專案

    按一下即可:

    • 建立或選取專案。
    • 啟用該專案的Cloud Speech API。
    • 建立服務帳戶。
    • 將私密金鑰下載為 JSON。

    您可以隨時在 GCP 主控台中查看及管理這些資源。

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);
使用 Winston 寫入至 Cloud Logging
1
安裝
npm install --save @google-cloud/logging-winston
2
設定 Cloud Platform 主控台專案
  1. 登入您的 Google 帳戶。

    如果您沒有帳戶,請申請新帳戶

  2. 設定 GCP 主控台專案。

    設定專案

    按一下即可:

    • 建立或選取專案。
    • 啟用該專案的Stackdriver Logging API。
    • 建立服務帳戶。
    • 將私密金鑰下載為 JSON。

    您可以隨時在 GCP 主控台中查看及管理這些資源。

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%');
使用 Google BigQuery
1
安裝
npm install --save @google-cloud/bigquery
2
設定 Cloud Platform 主控台專案
  1. 登入您的 Google 帳戶。

    如果您沒有帳戶,請申請新帳戶

  2. 設定 GCP 主控台專案。

    設定專案

    按一下即可:

    • 建立或選取專案。
    • 啟用該專案的BigQuery API。
    • 建立服務帳戶。
    • 將私密金鑰下載為 JSON。

    您可以隨時在 GCP 主控台中查看及管理這些資源。

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 快速入門導覽課程
快速找出問題並進行偵錯

Google Stackdriver 提供強大的監控、記錄與診斷功能,可讓您深入掌握雲端應用程式的健康狀態、效能和可用性,更快找出問題並加以修復。

Google Stackdriver
讓您統一監控、記錄及診斷 Google Cloud Platform 和 AWS 上的應用程式。
Stackdriver 錯誤報告
這部影片將逐步介紹如何在 Google Cloud Console 中接收錯誤快訊,並深入調查錯誤成因。
透過 Stackdriver 監控、診斷及修復問題
在這部影片中,Aja Hammerly 示範如何透過 Stackdriver 尋找及修復範例應用程式中的一些細微錯誤,讓您瞭解如何在自己的專案中使用 Stackdriver。
瞭解詳情
歡迎加入我們的社群

有任何想法或疑問嗎?加入我們的社群後,您可以提出問題,或是和協助建構 Google Cloud Platform 和 Node.js 的 Google 專家交流聯繫。