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

  • グローバル規模のウェブアプリや API を構築する
  • ネイティブ ライブラリ サポート付きの Google の機械学習 API を使用する
  • 大規模なコンテナ アプリケーションを実行する
  • Puppet や Chef でインフラストラクチャをオーケストレートする
丹念に作成された Ruby Gems

Google Cloud Ruby Gems を使って API とサービスを活用。コードサンプルをテスト実行してみましょう。

ファイルを Google Cloud Storage にアップロードする
Google BigQuery を使用してデータ分析を行う
カスタム ログデータを Stackdriver API に書き込む
Cloud Natural Language API でテキストを分析する
ファイルを Google Cloud Storage にアップロードする
1
インストールする
gem install google-cloud-storage
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

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

  2. GCP Console プロジェクトをセットアップします。

    プロジェクトをセットアップする

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

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

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

3
コードを書く
# project_id        = "Your Google Cloud project ID"
# bucket_name       = "Your Google Cloud Storage bucket name"
# local_file_path   = "Path to local file to upload"
# storage_file_path = "Path to store the file in Google Cloud Storage"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new project_id: project_id
bucket  = storage.bucket bucket_name

file = bucket.create_file local_file_path, storage_file_path

puts "Uploaded #{file.name}"
Google BigQuery を使用する
1
インストールする
gem install google-cloud-bigquery
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

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

  2. GCP Console プロジェクトをセットアップします。

    プロジェクトをセットアップする

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

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

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

3
コードを書く
require "google/cloud/bigquery"

# This uses Application Default Credentials to authenticate.
# @see https://cloud.google.com/bigquery/docs/authentication/getting-started
bigquery = Google::Cloud::Bigquery.new

sql     = "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"
results = bigquery.query sql

results.each do |row|
  puts "#{row[:url]}: #{row[:view_count]} views"
end
Stackdriver Logging の使用
1
インストールする
gem install google-cloud-logging
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

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

  2. GCP Console プロジェクトをセットアップします。

    プロジェクトをセットアップする

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

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

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

3
コードを書く
# Imports the Google Cloud client library
require "google/cloud/logging"

# Your Google Cloud Platform project ID
project_id = "YOUR_PROJECT_ID"

# Instantiates a client
logging = Google::Cloud::Logging.new project: project_id

# Prepares a log entry
entry = logging.entry
# The data to log
entry.payload = "Hello, world!"
# The name of the log to write to
entry.log_name = "my-log"
# The resource associated with the data
entry.resource.type = "global"

# Writes the log entry
logging.write_entries entry

puts "Logged #{entry.payload}"
Cloud Natural Language API でテキストを分析する
1
インストールする
gem install google-cloud-language
2
Cloud Platform Console プロジェクトを設定する
  1. Google アカウントにログインします。

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

  2. GCP Console プロジェクトをセットアップします。

    プロジェクトをセットアップする

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

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

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

3
コードを書く
# Imports the Google Cloud client library
require "google/cloud/language"

# Instantiates a client
language = Google::Cloud::Language.new

# The text to analyze
text = "Hello, world!"

# Detects the sentiment of the text
response = language.analyze_sentiment content: text, type: :PLAIN_TEXT

# Get document sentiment from response
sentiment = response.document_sentiment

puts "Text: #{text}"
puts "Score: #{sentiment.score}, #{sentiment.magnitude}"
RUBY クイックスタート
問題をすばやく見つけてデバッグする

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

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

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