EventBus

[更新日:2025年2月13日]

サービス基本情報

概要

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

機能説明

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

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

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

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

仕様

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

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

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

β版における注意事項と制限事項

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

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

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

また、β版では以下の機能制限があります。

  • イベントソースの変更検知はご利用いただけません

  • 実行できるジョブは「シンプル通知」と「シンプルMQ」のみです

  • ジョブの実行ログは最新の1件のみ参照できます

想定される利用シーン

スケジュール機能

  • ワークフローの起動

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

イベント検知

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

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

  • オブジェクトストレージの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)

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

Destinationがsimplenotificationの場合は省略不可

開始時刻
(StartsAt)

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

現在時刻

# シンプル通知のAPIを呼び出す場合
$ 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/

その他の利用例

実行設定の参照

実行設定を参照します。

パラメータ

説明

省略時のデフォルト値

実行設定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)

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

Destinationがsimplenotificationの場合は省略不可

開始時刻
(StartsAt)

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

現在時刻

# シンプル通知の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

スケジュールの削除

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

パラメータ

説明

省略時のデフォルト値

スケジュール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が実行する処理

実行設定

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

スケジュール

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