Google Cloud Platform

Google Cloud クライアント ライブラリによるオブジェクト、エンティティ、ログ データの保存

クラウド アプリケーションを開発するには、通常はオンラインのオブジェクト ストレージ、スケーラブルな NoSQL データベース、ロギング ツールが必要です。そのため、Google Cloud Platform(GCP)では Cloud Storage APICloud Datastore APIStackdriver Logging API を提供しています。

私たちはこのたび、これらの API にアクセスできる最新の Google Cloud クライアント ライブラリを正式リリース(GA)しました。このクライアント ライブラリは 7 つのサーバー サイド言語(C#GoJavaNode.jsPHPPythonRuby)をサポートしています。

オンライン オブジェクト ストレージ

Cloud Storage API を使用すれば、画像や動画などの BLOB データをバケットに直接アップロードできます。これを Node.js で行うには、最初に Google Cloud クライアント ライブラリをインストールする必要があります。

  npm install --save @google-cloud/storage

次に、以下のコードを実行し、ローカル ファイルを特定のバケットにアップロードします。

  const Storage = require('@google-cloud/storage');
 
// Instantiates a client
const storage = Storage();
 
// References an existing bucket, e.g. “my-bucket”
const bucket = storage.bucket(bucketName);
 
// Upload a local file to the bucket, e.g. “./local/path/to/file.txt”
return bucket.upload(fileName)
 .then((results) => {
  const file = results[0];
  console.log(`File ${file.name} uploaded`);
});

NoSQL データベース

Google が提供する NoSQL プロダクトの 1 つが Cloud Datastore です。構造化オブジェクトであるエンティティを Cloud Datastore で作成し、GCP に保存しておくと、アプリケーションでの取得や照会が可能です。

Java のサンプルを見てみましょう。まず、Maven の依存ファイルを次のように指定します。

  <dependency>
    <groupid>com.google.cloud</groupid>
    <artifactid>google-cloud-datastore</artifactid>
    <version>1.0.0</version>
</dependency>

次に、以下のコードでタスク エンティティを作ります。

  // Imports the Google Cloud Client Library
import com.google.cloud.datastore.Datastore;
import com.google.cloud.datastore.DatastoreOptions;
import com.google.cloud.datastore.Entity;
import com.google.cloud.datastore.Key;
 
public class QuickstartSample {
  public static void main(String... args) throws Exception {
 
  // Instantiates a client
  Datastore datastore = DatastoreOptions.getDefaultInstance().getService();
 
  // The kind for the new entity
  String kind = "Task";
 
  // The name/ID for the new entity
  String name = "sampletask1";
 
  // The Cloud Datastore key for the new entity
  Key taskKey = datastore.newKeyFactory().setKind(kind).newKey(name);
 
  // Prepares the new entity
  Entity task = Entity.newBuilder(taskKey)
  .set("description", "Buy milk")
  .build();
 
  // Saves the entity
  datastore.put(task);
  }
}

ロギング フレームワーク

Google Cloud クライアント ライブラリを使用することで、Stackdriver Logging API にログ データとイベントを簡単に送ることができます。たとえば Python を使う場合は、最初に、ロギング用のクライアント ライブラリをインストールします。

  pip install --upgrade google-cloud-logging

次に、プロジェクト(たとえば、__init__.py ファイル)に以下のコードを追加します。

  import logging
import google.cloud.logging
client = google.cloud.logging.Client()
# Attaches a Google Stackdriver logging handler to the root logger
client.setup_logging(logging.INFO)

そして、Python の標準ロギング モジュールを使って Stackdriver Logging に直接ログを書き込みます。

  import logging
logging.error('This is an error')

これらの API を使ってみたい方は、すべてのサポート言語での API の操作方法が書かれた Google Cloud クライアント ライブラリのページ(Cloud StorageCloud DatastoreStackdriver Logging)をご覧ください。

また、Google Cloud クライアント ライブラリが提供するすべての API のリストをご覧になりたい場合や、ご意見ご感想をお送りいただく場合は、Google Cloud Platform のそれぞれの GitHub リポジトリにアクセスしてください。

* この投稿は米国時間 5 月 8 日、Product Manager である Omar Ayoub によって投稿されたもの(投稿はこちら)の抄訳です。

- By Omar Ayoub, Product Manager