EventBus

[更新:2025年7月22日]

サービス基本情報

注意

現時点において、本サービスはβ版として提供しています。
β版では以下の機能制限があります。
・イベントソースの変更検知はご利用いただけません
・実行できるジョブは「シンプル通知」と「シンプルMQ」のみです
・ジョブの実行ログは最新の1件のみ参照できます

概要

「EventBus」は、イベント検知サービスとジョブスケジュールサービスを統合したマネージドサービスです。
スケジュールトリガーやイベントソースの変更検知を利用して、自動的にジョブを実行できます。

機能説明

  • イベントソースとスケジュールの両方をトリガーとして利用可能

  • スケジュール機能により、指定した時間間隔でジョブを実行

  • イベント検知機能により、特定のイベント発生時にジョブを実行

  • APIベースの操作で、外部サービスとの連携が容易

仕様

  • スケジュールの周期は、最短1分から設定できます

  • スケジュールを登録すると、指定した周期でジョブが自動的に実行されます

  • ジョブの実行はベストエフォート型で厳密なリアルタイム性は保証されません

β版における注意事項

ご利用いただく前に、以下の点にご注意ください。

  • 品質保証(SLA)の適用対象外です。

  • サポートは限定的となり、利用状況によっては一時的に利用が制限される場合があります。

想定される利用シーン

スケジュール機能

  • ワークフローの起動

  • ユーザーアプリケーションの定期バッチ起動

イベント検知

  • ログイン失敗イベントを検知してのメール通知

  • サーバ起動イベントを検知してロードバランサへ追加

  • オブジェクトストレージのPUTを検知してMQへメッセージ送信

料金体系

β版での提供期間中は無償でご利用いただけます。
正式版リリースに伴う課金開始の際には、事前にアナウンスさせていただきます。

サポート

ご不明点やお困りの際は、 会員メニュー内のメールサポート より、サービス情報を「さくらのクラウド」としてお問い合わせください。

利用手順

β版はAPIのみでの提供となります。

※さくらのクラウドAPIの利用方法など、一般的な情報については APIドキュメント を参照ください。

EventBusの利用を開始するには以下の手順が必要になります。

  • 「実行設定」の作成

  • 「実行設定」のシークレット設定

  • 「スケジュール」の作成

注意事項

APIを実行するためには、APIキーに「作成・削除」のアクセスレベルが必要になります。
詳細は、 アクセスレベルのページ をご覧ください。

APIキーの作成

APIキーの発行方法は APIキー をご覧ください。

以降の説明ではAPIキーを以下のように表現します。

パラメータ

説明

アクセストークン

APIキーのアクセストークンです。
例:ACCESS_TOKEN と表示しています。

アクセストークンシークレット

APIキーのアクセストークンシークレットです。
例:ACCESS_TOKEN_SECRET と表示しています

実行設定の作成

どのようなジョブを実行するかの設定を登録します。

パラメータ

説明

省略時のデフォルト値

宛先
(Destination)

ジョブが呼び出すAPIの宛先を指定します。
"simplenotification"(シンプル通知)または"simplemq"(シンプルMQ)を指定します。

省略不可

通知先グループID
(group_id)

シンプル通知の通知先グループのリソースID

Destinationがsimplenotificationの場合は省略不可

メッセージ
(message)

通知するメッセージ内容

Destinationがsimplenotificationの場合は省略不可

キュー名
(queue_name)

シンプルMQのキュー名

Destinationがsimplemqの場合は省略不可

コンテンツ
(content)

シンプルMQに送るコンテンツ

Destinationがsimplemqの場合は省略不可

# シンプル通知のAPIを呼び出す場合
$ curl -X POST \
 -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
 -d '{
   "CommonServiceItem": {
     "Name": "example",
     "Description": "example",
     "Settings": {
       "Destination": "simplenotification",
       "Parameters": "{\"group_id\": \"通知先グループID\", \"message\":\"メッセージ\"}"
     },
     "Provider": {
       "Class": "eventbusprocessconfiguration"
     }
   }
 }' \
 https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/

# シンプルMQのAPIを呼び出す場合
$ curl -X POST \
 -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
 -d '{
   "CommonServiceItem": {
     "Name": "example",
     "Description": "example",
     "Settings": {
       "Destination": "simplemq",
       "Parameters": "{\"queue_name\": \"キュー名\", \"content\":\"コンテンツ\"}"
     },
     "Provider": {
       "Class": "eventbusprocessconfiguration"
     }
   }
 }' \
 https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/

実行設定のシークレット設定/更新

シンプル通知やシンプルMQのAPIを呼び出す際に使用するシークレットを登録します。

パラメータ

説明

省略時のデフォルト値

実行設定ID

実行設定のリソースIDです

省略不可

アクセストークン
(AccessToken)

APIキーのアクセストークンです。

実行設定のDestinationがsimplenotificationの場合は省略不可

アクセストークンシークレット
(AccessTokenSecret)

APIキーのアクセストークンシークレットです。

実行設定のDestinationがsimplenotificationの場合は省略不可

APIキー
(APIKey)

シンプルMQのAPIキーです。

実行設定のDestinationがsimplemqの場合は省略不可

# シンプル通知のAPIを呼び出す場合
$ curl -X PUT \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  -d '{
     "Secret": {
       "AccessToken": "アクセストークン",
       "AccessTokenSecret": "アクセストークンシークレット"
     }
  }' \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/実行設定ID/eventbus/processconfiguration/set-secret

# シンプルMQのAPIを呼び出す場合
$ curl -X PUT \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  -d '{
     "Secret": {
       "APIKey": "APIキー"
     }
  }' \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/実行設定ID/eventbus/processconfiguration/set-secret

スケジュールの作成

どのようなジョブを実行するかの設定を登録します。

パラメータ

説明

省略時のデフォルト値

実行設定ID
(ProcessConfigurationID)

実行設定のリソースIDです

省略不可

実行間隔
(RecurringStep)

繰り返し実行する間隔を指定します。
1分毎に実行するのであれば1を指定し、実行間隔単位でminを指定します。

RecurringUnit/RecurringStep または Crontab の指定必須 (併用不可)

実行間隔単位
(RecurringUnit)

実行間隔の単位を指定します。
"min"(分), "hour"(時), "day"(日)のいずれかを指定します。

RecurringUnit/RecurringStep または Crontab の指定必須 (併用不可)

crontab形式
(Crontab)

実行間隔をcrontab形式で指定します。
例:0 0 * * * は毎日0時に実行されます。

RecurringUnit/RecurringStep または Crontab の指定必須 (併用不可)

開始時刻
(StartsAt)

スケジュール実行を開始する時刻のエポックミリ秒

省略不可

# シンプル通知のAPIを呼び出す場合 (RecurringStep/RecurringUnitを指定する場合)
$ curl -X POST \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  -d '{
    "CommonServiceItem": {
      "Name": "schedule",
      "Description": "description",
      "Settings": {
        "ProcessConfigurationID": "実行設定ID",
        "RecurringStep": 実行間隔,
        "RecurringUnit": "実行間隔単位",
        "StartsAt": 開始時刻
      },
      "Provider": {
        "Class": "eventbusschedule"
      }
    }
  }' \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/
# シンプル通知のAPIを呼び出す場合 (Crontabを指定する場合)
$ curl -X POST \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  -d '{
    "CommonServiceItem": {
      "Name": "schedule",
      "Description": "description",
      "Settings": {
        "ProcessConfigurationID": "実行設定ID",
        "Crontab": "crontab形式",
        "StartsAt": 開始時刻
      },
      "Provider": {
        "Class": "eventbusschedule"
      }
    }
  }' \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/

指定可能なCrontab形式の記法

EventBus API の Crontab フィールドには、 5 つのフィールド(分・時・日・月・曜日)を半角スペースで結合したシンプルな crontab 形式の文字列 を指定します。 使用できる記号は * , - / の 4 種類のみです。

各フィールドは以下の値が指定可能となっております。

フィールド

範囲

説明

0‒59

0分〜59分

0‒23

0時〜23時

1‒31

1日〜 31日

1‒12

1 = 1月…、12 = 12月

曜日

0‒6

0 = 日、1 = 月、…、6 = 土

利用可能な記号については以下の通りです。

記号

用途

使用例

*

全ての値

* * * * *:毎分

,

複数値

5,20,35 * * * *:5 分, 20 分, 35 分

-

範囲

9-17:9 時〜17 時

/

ステップ

*/15:15 分間隔

以下は全フィールドを指定した例となっております。

cron 式

意味

* * * * *

毎分実行

0 0 * * *

毎日 0:00

30 14 * * 1-5

月曜日から金曜日の 14:30

*/15 * * * *

15 分間隔

5,20,35 9-17/2 * * *

9〜17 時を 2 時間刻み、分は5・20・35

0 0 1 * *

毎月 1 日 0:00

0 0 1 */2 *

偶数月 1 日 0:00

0 7-19/3 * * 6

土曜日の 7:00・10:00・13:00・16:00・19:00

10-50/10 8,12,18 * * 0,3

日・水曜日の 8・12・18 時、10〜50 分を 10 分刻み

制限事項として以下の点にご注意ください。

  • 曜日フィールドの 7 は使用できません。日曜日は 0 を指定してください。

  • 月名・曜日名(JAN など)はサポートしません。

  • @yearly などのエイリアス表記はサポートしません。

  • 拡張演算子 L W # ? H などはサポートしません。

その他の利用例

実行設定の参照

実行設定を参照します。

パラメータ

説明

省略時のデフォルト値

実行設定ID

実行設定のリソースIDです

省略不可

$ curl -X GET \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/実行設定ID

実行設定の一覧

実行設定の一覧を取得します。

$ curl -X GET \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  "https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/?\{\"Filter\":\{\"Provider.Class\":\[\"eventbusprocessconfiguration\"\]\}\}"

実行設定の更新

実行設定を更新します。

パラメータ

説明

省略時のデフォルト値

実行設定ID

実行設定のリソースIDです

省略不可

宛先
(Destination)

ジョブが呼び出すAPIの宛先を指定します。
"simplenotification"(シンプル通知)または"simplemq"(シンプルMQ)を指定します。

省略不可

通知先グループID
(group_id)

シンプル通知の通知先グループのリソースID

Destinationがsimplenotificationの場合は省略不可

メッセージ
(message)

通知するメッセージ内容

Destinationがsimplenotificationの場合は省略不可

キュー名
(queue_name)

シンプルMQのキュー名

Destinationがsimplemqの場合は省略不可

コンテンツ
(content)

シンプルMQに送るコンテンツ

Destinationがsimplemqの場合は省略不可

# シンプル通知のAPIを呼び出す場合
$ curl -X PUT \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  -d '{
    "CommonServiceItem": {
      "Name": "example",
      "Description": "example",
      "Settings": {
        "Destination": "simplenotification",
        "Parameters": "{\"group_id\": \"通知先グループID\", \"message\":\"メッセージ\"}"
      },
      "Provider": {
        "Class": "eventbusprocessconfiguration"
      }
    }
  }' \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/実行設定ID

# シンプルMQのAPIを呼び出す場合
$ curl -X PUT \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  -d '{
    "CommonServiceItem": {
      "Name": "example",
      "Description": "example",
      "Settings": {
        "Destination": "simplemq",
        "Parameters": "{\"queue_name\": \"キュー名\", \"content\":\"コンテンツ\"}"
      },
      "Provider": {
        "Class": "eventbusprocessconfiguration"
      }}
    }
  }' \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/実行設定ID

実行設定の削除

実行設定を削除します。

スケジュールから利用されている実行設定は削除できません。

パラメータ

説明

省略時のデフォルト値

実行設定ID

実行設定のリソースIDです

省略不可

$ curl -X DELETE \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/実行設定ID

スケジュールの参照

スケジュールを参照します。

パラメータ

説明

省略時のデフォルト値

スケジュールID

スケジュールのリソースIDです

省略不可

$ curl -X GET \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/スケジュールID

スケジュールの一覧

スケジュールの一覧を取得します。

$ curl -X GET \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  "https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/?\{\"Filter\":\{\"Provider.Class\":\[\"eventbusschedule\"\]\}\}"

スケジュールの更新

スケジュールを更新します。

パラメータ

説明

省略時のデフォルト値

スケジュールID

スケジュールのリソースIDです

省略不可

実行設定ID
(ProcessConfigurationID)

実行設定のリソースIDです

省略不可

実行間隔
(RecurringStep)

繰り返し実行する間隔を指定します。
1分毎に実行するのであれば1を指定し、実行間隔単位でminを指定します。

RecurringUnit/RecurringStep または Crontab の指定必須 (併用不可)

実行間隔単位
(RecurringUnit)

実行間隔の単位を指定します。
"min"(分), "hour"(時), "day"(日)のいずれかを指定します。

RecurringUnit/RecurringStep または Crontab の指定必須 (併用不可)

crontab形式
(Crontab)

実行間隔をcrontab形式で指定します。
例:0 0 * * * は毎日0時に実行されます。

RecurringUnit/RecurringStep または Crontab の指定必須 (併用不可)

開始時刻
(StartsAt)

スケジュール実行を開始する時刻のエポックミリ秒

省略不可

crontab形式は 指定可能なCrontab形式の記法 をご参照ください。

# シンプル通知のAPIを呼び出す場合
$ curl -X PUT \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  -d '{
    "CommonServiceItem": {
      "Name": "schedule",
      "Description": "description",
      "Settings": {
        "ProcessConfigurationID": "実行設定ID",
        "RecurringStep": 実行間隔,
        "RecurringUnit": "実行間隔単位",
        "StartsAt": 開始時刻
      },
      "Provider": {
        "Class": "eventbusschedule"
      }
    }
  }' \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/スケジュールID
# シンプル通知のAPIを呼び出す場合 (Crontabを指定する場合)
$ curl -X PUT \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  -d '{
    "CommonServiceItem": {
      "Name": "schedule",
      "Description": "description",
      "Settings": {
        "ProcessConfigurationID": "実行設定ID",
        "Crontab": "crontab形式",
        "StartsAt": 開始時刻
      },
      "Provider": {
        "Class": "eventbusschedule"
      }
    }
  }' \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/スケジュールID

スケジュールの削除

スケジュールを削除します。

パラメータ

説明

省略時のデフォルト値

スケジュールID

スケジュールのリソースIDです

省略不可

$ curl -X DELETE \
  -u "ACCESS_TOKEN:ACCESS_TOKEN_SECRET" \
  https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/commonserviceitem/スケジュールID

用語集

本サービスで使用される主な用語と概念を説明します。

ジョブ

EventBusが実行する処理

実行設定

ジョブをどのように実行するかの設定

スケジュール

イベントを発生させる周期の設定