スクリプト
Rubyスクリプトの作成
スクリプトの作成
Ruby スクリプトでは Rack 互換の call
メソッドを宣言し、処理を記述します。
サンプルコード
例)リクエストとして渡されたパラメータに応じて文字列をレスポンスボディとして返却するスクリプト
require "rack"
def call(env)
req = Rack::Request.new(env)
name = req.params["name"]
if name
body = "Hello, #{name}"
else
body = "Hello"
end
[200, {"Content-Type" => "text/plain"}, [body]]
end
リクエスト・レスポンス
リクエスト
call
メソッドは、引数として env
(リクエスト情報が格納されたHash) のみを受け取ります。
env
ハッシュの内容についてはFile: SPEC — Documentation for rack/rackに記載されている通りです。
レスポンス
call
メソッドからは「HTTPステータスコード(Integer)」「HTTPヘッダ(Hash)」「HTTPレスポンスボディ(Array of String)」からなる配列を返却するようにします。
注意 :実行スクリプトには必ず上記の配列を返却する処理を記載する必要があります。
対応ライブラリ
スクリプトのコード中では、標準ライブラリに加えて以下のライブラリを使用することができます。
ライブラリ名 | version | require | 説明 |
---|---|---|---|
pg | 1.5.3 | pg | PostgreSQL のクライアントライブラリ。 |
mysql2 | 0.5.5 | mysql2 | MySQL のクライアントライブラリ。 |
httparty | 0.15.6 | httparty | HTTP クライアント用のライブラリ。 |
websocket-client-simple | 0.3.0 | websocket-client-simple | Websocket などを利用するためのライブラリ。 |
mqtt | 0.5.0 | mqtt | MQTT を利用するためのライブラリ。 |
aws-sdk | 3.0.1 | aws-sdk | AWS 互換のシグネチャ計算を行うことができるライブラリ。 |
fluent-logger | 0.7.1 | fluent-logger | Fluentd のライブラリ。 |
nokogiri | 1.8.1 | nokogiri | XML/HTML の DOM を手軽に扱うためのライブラリ。 |
ncmb-ruby-client | 0.2.0(Ruby3.1.2,Ruby3.0.1) 0.1.6(Ruby2.7.0) |
ncmb | ニフクラ mobile backend のクライアントライブラリ。 |
twilio-ruby | 5.10.3 | twilio-ruby | Twilio のライブラリ |
※ 対応ライブラリは随時追加予定です。
スクリプトをローカルでデバッグする方法
Ruby がインストールされている環境で、スクリプトをデバッグする方法について解説します。
Ruby の Rack ライブラリを使って簡単なWebサーバーを作成し、そこにデバッグするスクリプトを組み込みます。
まず、新しく Ruby プロジェクト用のディレクトリを用意し、以下の Gemfile を作成します。
Gemfile:
source "https://rubygems.org"
gem "rack"
rack は必須ですが、それ以外のgemに関しては、こちらで使用できるものを確認しつつ、必要なものを記載してください。
Gemfileが作成できたら、bundle install で依存ライブラリのインストールを行います。
$ bundle install
次に、 config.ru を作成します。
config.ru:
class TestScript
PATH = "test_script.rb"
CODE = File.read(PATH)
# デバッグするスクリプトを読み込む
eval(CODE, binding, fname=PATH)
end
# 読み込んだスクリプトをハンドラーとして定義
map("/2015-09-01/script/test_script.rb") do
run TestScript.new
end
また、 config.ru と同じ場所にデバッグするスクリプトを用意します。
(ここでは冒頭に掲載したサンプルコードを書き込んでみます。)
$ vim test_script.rb
準備ができたら rackup コマンドでサーバーを起動してください。
$ rackup
[2018-03-27 18:05:48] INFO WEBrick 1.3.1
[2018-03-27 18:05:48] INFO ruby 2.3.1 (2016-04-26) [x86_64-linux-gnu]
[2018-03-27 18:05:48] INFO WEBrick::HTTPServer#start: pid=19383 port=9292
curl コマンドを利用してスクリプトを呼び出すことで、作成中のスクリプトが返す結果を受け取ることができます。
$ curl http://localhost:9292/2015-09-01/script/test_script.rb
Hello
お探しの内容が見つからなかった場合はユーザーコミュニティ
もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。
推奨画面サイズ1024×768px以上