コネクター及びスクリプトで使用する環境変数について

コネクター及びスクリプトで使用する環境変数について

2024/07/09 更新

環境変数とは?

コネクターやスクリプトでEark内で作成した環境変数を使用する場合があります。

例えばコード上に見せたくない値(認証キー等)やある値をEarkの環境変数で定義し、複数のコネクターやスクリプトで使い回す場合などがあります。

コネクターやスクリプトの作成・編集画面で「環境変数選択」を選択し、Eark内で作成した環境変数を指定することができます。

環境変数を指定すると作成・編集するコネクターと指定した環境変数は繋がることになり、OS環境変数として使用することができます。

指定した環境変数は使用するキーのコピーボタンを選択すると自動的にコネクターで使用する形でコピーしますので、そのまま使用するコネクタのYAML部分にペーストして使用します。

具体的な例は以下となります。

コネクターでの環境変数使用例

指定する環境変数の定義

Eark内ですでに作成済みとします。

サンプル環境変数1
  host: xxx.xxx.xxx.xxx
  user: user1
  password: testpw

コネクターのYAML定義

in:
  type: sftp
  host: {{ env.hogehoge }} # サンプル環境変数1の "host" のコピーボタンをクリックしてペーストした状態
  port: 22
  user: {{ env.user }} # サンプル環境変数1の "user" のコピーボタンをクリックしてペーストした状態
  password: {{ env.password }} # サンプル環境変数1の "password" のコピーボタンをクリックしてペーストした状態
  ...

out:
  type: gcs
  ...

スクリプトでの環境変数使用例

指定する環境変数の定義

Eark内ですでに作成済みとします。

サンプル環境変数2
  key1: hello
  key2: world

スクリプトの定義

OSの環境変数として動作しますので環境変数を使用する場合はスクリプトに必ず import os を定義してください。

# OS環境変数であるためimportします
import os

# key1、key2の内容をprintします
print(f"{os.environ['key1']} {os.environ['key2']}")

事前定義のOS環境変数について

日付の処理が必要な場合を想定し、Earkでは以下のOS環境変数を用意しております。

使用方法はOS環境変数の指定になりますので以下となります。

  • コネクターの場合:{{ env.TODAY_Y }}
  • スクリプトの場合:os.environ['TODAY_Y']

今日の日付

  • TODAY_Y
    • 取得される値の例:2024
  • TODAY_m
    • 01
  • TODAY_d
    • 01
  • TODAY_Ym
    • 202401
  • TODAY_Y_m
    • 2024-01
  • TODAY_Ymd
    • 20240101
  • TODAY_Y_m_d
    • 2024-01-01

末日

  • THIS_MONTH_LAST_d
    • 取得される値の例:31
  • THIS_MONTH_LAST_Ymd
    • 20240131
  • THIS_MONTH_LAST_Y_m_d
    • 2024-01-31

過去の日付

iは変数を意味します。

7日前の場合はiに7を入れてください。

例)

今日の日付:2024-01-01

  • DAY_1_AGO_d:2023-12-31

日の指定

  • DAY_{i}_AGO_d
    • dd
  • DAY_{i}_AGO_Ym
    • yyyymm
  • DAY_{i}_AGO_Ymd
    • yyyymmdd
  • DAY_{i}_AGO_Y_m
    • yyyy-mm
  • DAY_{i}_AGO_Y_m_d
    • yyyy-mm-dd

週の指定

  • WEEK_{i}_AGO_Ymd
    • yyyymmdd
  • WEEK_{i}_AGO_Y_m_d
    • yyyy-mm-dd

月の指定

  • MONTH_{i}_AGO_m
    • mm
  • MONTH_{i}_AGO_Ym
    • yyyymm
  • MONTH_{i}_AGO_Ymd
    • yyyymmdd
  • MONTH_{i}_AGO_Y_m
    • yyyy-mm
  • MONTH_{i}_AGO_Y_m_d
    • yyyy-mm-dd

月の末日指定

  • MONTH_{i}_AGO_LAST_d
    • dd
  • MONTH_{i}_AGO_LAST_Ymd
    • yyyymmdd
  • MONTH_{i}_AGO_LAST_Y_m_d
    • yyyy-mm-dd

年の指定

  • YEAR_{i}_AGO_Y
    • yyyy