2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IBM Cloud Functionsで、Actionを日本時間指定で月次実行する

Last updated at Posted at 2019-11-21

Periodicトリガーについて

Periodicトリガーを作成したときに、曜日や時間・分の指定はブラウザ上から簡単に行えますが、月次で実行したい場合は、cron式を使う必要があり、ブラウザからcron式で指定出来るのは、UTCのみなので、日本時間でファンクションを実行するには、CLIを使います。
Periodic.png

CLIプラグインのインストール

$ ibmcloud plugin install cloud-functions

プラグインのインストールに失敗する場合は、古いバージョンのプラグインを試してみて下さい。
以下からダウンロード出来ます。
https://plugins.ng.bluemix.net/ui/repository.html

次でインストールできます。

$ ibmcloud pulgin install (ダウンロードしたパス) 

リージョン、リソースグループ、名前空間は自身の環境に合わせてに設定して下さい。

$ ibmcloud target -r (リージョン) -g (リソースグループ)
$ ibmcloud fn property set --namespace (名前空間)

リージョンの指定は、こちらを参照。
https://cloud.ibm.com/docs/containers?topic=containers-regions-and-zones

リージョン 指定
東京 jp-tok
シドニー au-syd
ダラス us-south
ワシントン us-east

日本時間のトリガーの作成

日本時間でcron式を使ってトリガーを作成するには、CLIから次のようにします。

$ ibmcloud fn trigger create (トリガー名) \
--feed /whisk.system/alarms/alarm \
--param cron "(cron式)" --param timezone "Japan" \

ここのJapanAsia/Tokyoで指定しても構いません。

cron式サンプル

毎月月初3:00AMに実行

0 3 1 * *

1年だけ、毎月10日9:00AMに実行

0 9 10 * * 2020

5年間、毎月10日9:00AMに実行

0 9 10 * * 2020-2024

月末の指定の仕方

月末を指定するLは、上記のコマンドでは使えません。
例えば毎月月末11:00PMに実行する、次のようなcron式を指定すると、

0 23 L * *

このようなレスポンスが返ります。

"response": {
    "result": {
        "error": {
            "error": "cron pattern '0 23 L * *' is not valid"
        }
    },
    "size": 60,
    "status": "application error",
    "success": false
}

UTC限定になり、9時間の時差が発生しますが、ブラウザのcron式指定からは利用可能なようなです。(画像では、JSTに補正されています。)
cron-L.png

他にも、日本よりも5時間進んでいるキリスィマスィ島をタイムゾーンに指定する方法もあります。
0 23 L * *(Japan)でトリガーを作成する場合、次のように作成することができます。

$ ibmcloud fn trigger create (トリガー名) \
--feed /whisk.system/alarms/alarm \
--param cron "0 4 1 * *" --param timezone "Pacific/Kiritimati" \
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?