Embulkでプラグインのインストール方法

目次

概要

今回はEmbulkの基本的なプラグインのインストール方法と
実運用を考慮したbundleでプラグインを管理していく方法を解説いたします。

Embulk gem install プラグイン名

基本はこの形でプラグインをインストールすることができます。

$ embulk gem install embulk-output-mysql

プラグインがインストールされているかは下のコマンドで確認することができます。

$ embulk gem list

しかし、実際の開発では本番で動く環境が違ったり、バージョンの異なるものを使いたいときがあります。
そんなときはbundleで管理していくことがよいです。

bundleでプラグインを管理

今回は2つの環境を用意してみます。

embulk_sample
├ sample1
└ sample2

それぞれの環境でmkbundleコマンドをたたきます。

$ cd embulk/sample1
$ embulk mkbundle bundle
$ cd embulk/sample2
$ embulk mkbundle bundle

実行後のフォルダ構成は下の通りです。

embulk
├sample1
│├Gemfile
│└embulk
│ ├filter
│ ├input
│ └output
└sample2
 ├Gemfile
 └embulk
  ├filter
  ├input
  └output

bundleへのプラグインのインストールの仕方

今回は例として
sample1にembulk-input-mysql
sample2にembulk-input-postgresql
をインストールしてみます。

sample1のフォルダ内にあるGemfileを編集します。

source 'https://rubygems.org/'

# No versions are specified for 'embulk' to use the gem embedded in embulk.jar.
# Note that prerelease versions (e.g. "0.9.0.beta") do not match the statement.
# Specify the exact prerelease version (like '= 0.9.0.beta') for prereleases.
gem 'embulk'
gem 'embulk-input-mysql' ←追加
#
# 1. Use following syntax to specify versions of plugins
#    to install this bundle directory:
以下省略

sample2のフォルダ内あるGemfileには
「gem ‘embulk-input-postgresql’」を追記します。

source 'https://rubygems.org/'

# No versions are specified for 'embulk' to use the gem embedded in embulk.jar.
# Note that prerelease versions (e.g. "0.9.0.beta") do not match the statement.
# Specify the exact prerelease version (like '= 0.9.0.beta') for prereleases.
gem 'embulk'
gem 'embulk-input-postgresql' ←追加
#
# 1. Use following syntax to specify versions of plugins
#    to install this bundle directory:
#以下省略

Gemfileを編集したらbundleコマンドでプラグインをインストールします。

$ cd /embulk/sample1/bundle
$ embulk bundle
$ cd /embulk/sample2/bundle
$ embulk bundle

コマンドを実行するとbundleディレクトリにGemfile.lockなどのファイルが作成されます。
各bundleのディレクトリで下記コマンドをたたくとインストールされているプラグインを確認することができます。

$ embulk bundle list

bundleを読み込んで実行する方法

それぞれのbundleにインストールしたプラグインを使ってやるには下記のように指定して実行します。

$ cd /embulk/sample1
$ embulk run -b bundle config.yml

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次