シェルスクリプトジョブ
シェルスクリプトジョブとは
シェルスクリプトジョブはジョブを利用してシェルスクリプトを実行できます。
実行するシェルスクリプト内では、企業アカウントが保持するデータソースへbridgeを経由してアクセスできます。このジョブでは以下の実行環境を提供しています。
- Alpine 3.15
- Debian Bullseye
- Fedora 36
この機能はエンタープライズプランのお客さまのみご利用いただけます。
シェルスクリプトジョブを設定する
- 右上のメニューから「アクション」を選択する
- 「アクションの追加」をクリックする
- アクション名やパラメーターを設定する
- 処理の設定へ進み、データソースの選択で「ShellScript」を選択する
- 実行するシェルスクリプトのコードや実行環境、ポートフォワーディングを設定する
シェルスクリプトを記述する
ポートフォワーディングの設定を行なった場合、mysql serverへ接続するコードは以下のように記述します。
シェルスクリプトジョブからの接続はIPアドレス 34.84.42.41
を通じて行なわれます。ファイアーウォールの設定でベースマキナからのアクセスを許可していただく必要があります。
Alpine
export MYSQL_PWD="my_password"
echo 'Install mysql client'
apk add mysql-client
# Output result as ascii table format
mysqladmin ping -h 127.0.0.1 -P 4321 -u sql-user
mysql -u sql-user -h 127.0.0.1 -P 4321 my-db -e "{{ sql }}" -t
Debian
export MYSQL_PWD="my_password"
echo 'Install mysql client'
apt install -y default-mysql-client
# Output result as ascii table format
mysqladmin ping -h 127.0.0.1 -P 4321 -u sql-user
mysql -u sql-user -h 127.0.0.1 -P 4321 my-db -e "{{ sql }}" -t
Fedora
export MYSQL_PWD="my_password"
echo 'Install mysql client'
dnf module enable mysql:8.0 -y
dnf install -y mysql
# Output result as ascii table format
mysqladmin ping -h 127.0.0.1 -P 4321 -u sql-user
mysql -u sql-user -h 127.0.0.1 -P 4321 my-db -e "{{ sql }}" -t
シェルスクリプトを実行する
シェルスクリプトジョブは通常のアクションと同様にアクションの詳細ページから実行できます。ここでは SELECT VERSION()
を実行します。
「ジョブとして実行する」ボタンをクリックするとシェルスクリプトジョブが非同期で実行されます。
クリック後、自動的にジョブの詳細ページへ移動されます。詳細ページでは実行結果を確認したり結果をテキストファイルとしてダウンロードできます。