GS2-Schedule SDK API リファレンス

各種プログラミング言語向け GS2-Schedule SDK の モデルの仕様 と API のリファレンス

モデル

Namespace

ネームスペース

ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。
GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。

そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。

詳細
有効化条件 必須 デフォルト 値の制限 説明
namespaceId string
~ 1024文字 ネームスペース GRN
※ サーバーが自動で設定
name string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
description string ~ 1024文字 説明文
transactionSetting TransactionSetting トランザクション設定
スケジュール操作時のトランザクションの処理方法を制御する設定です。
logSetting LogSetting ログ出力設定
スケジュール関連の操作ログを GS2-Log に出力するための設定。
設定すると、イベントクエリ、トリガー発動、トリガー削除などのアクションが分析や監査のために記録されます。
createdAt long
現在時刻 作成日時
UNIX 時間・ミリ秒
※ サーバーが自動で設定
updatedAt long
現在時刻 最終更新日時
UNIX 時間・ミリ秒
※ サーバーが自動で設定
revision long 0 0 ~ 9223372036854775805 リビジョン

TransactionSetting

トランザクション設定

トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。
自動実行(AutoRun)、アトミック実行(AtomicCommit)、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。

詳細
有効化条件 必須 デフォルト 値の制限 説明
enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか
enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか
※ enableAutoRun が true であれば 有効
transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する
※ enableAtomicCommit が true であれば 有効
commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか
※ transactionUseDistributor が true であれば 有効
acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか
※ enableAtomicCommit が true であれば 有効
distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GRN
queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GRN

LogSetting

ログの出力設定

ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子(Namespace ID)を保持します。
ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。
この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。
GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。

詳細
有効化条件 必須 デフォルト 値の制限 説明
loggingNamespaceId string
~ 1024文字 ログを出力する GS2-Log のネームスペース GRN
「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。

GitHubCheckoutSetting

GitHubからマスターデータをチェックアウトする設定

詳細
有効化条件 必須 デフォルト 値の制限 説明
apiKeyId string
~ 1024文字 GitHub APIキーの GRN
repositoryName string
~ 1024文字 リポジトリ名
sourcePath string
~ 1024文字 マスターデータ(JSON)ファイルのパス
referenceType 文字列列挙型
enum {
  “commit_hash”,
  “branch”,
  “tag”
}
コードの取得元
定義説明
“commit_hash”コミットハッシュ
“branch”ブランチ
“tag”タグ
commitHash string {referenceType} == “commit_hash”
✓※
~ 1024文字 コミットハッシュ
※ referenceType が “commit_hash” であれば 必須
branchName string {referenceType} == “branch”
✓※
~ 1024文字 ブランチ名
※ referenceType が “branch” であれば 必須
tagName string {referenceType} == “tag”
✓※
~ 1024文字 タグ名
※ referenceType が “tag” であれば 必須

Trigger

トリガー

相対イベントスケジューリングの起点を定義し、プレイヤーごとのイベント期間を実現します。
プレイヤーに対してトリガーが発動されると、発動時刻(triggeredAt)と有効期限(expiresAt)が記録されます。
“relative” スケジュールタイプで設定されたイベントはトリガーを名前で参照し、そのプレイヤーのイベント期間はトリガーの発動時刻から有効期限まで続きます。
トリガーは更新可能(createdAt をリセットし expiresAt を更新)で、有効期限後は TTL により自動的にクリーンアップされます。

詳細
有効化条件 必須 デフォルト 値の制限 説明
triggerId string
~ 1024文字 トリガー GRN
※ サーバーが自動で設定
name string
~ 128文字 トリガー名
トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userId string
~ 128文字 ユーザーID
triggeredAt long
現在時刻 トリガー発動日時
このトリガーが発動されたタイムスタンプ。
相対イベントスケジューリングの基準開始点として機能します。明示的に指定されない場合、現在時刻が自動設定されます。
UNIX 時間(ミリ秒)で表現されます。
expiresAt long
有効期限
このトリガーが期限切れとなり、相対イベント期間が終了するタイムスタンプ。
この時刻以降、トリガーは期限切れと見なされ(IsExpire が true を返す)、このプレイヤーに対する関連する相対イベントは無効になります。
トリガーデータは有効期限後に DynamoDB TTL により自動的にクリーンアップされます。UNIX 時間(ミリ秒)で表現されます。
createdAt long
現在時刻 作成日時
UNIX 時間・ミリ秒
※ サーバーが自動で設定
revision long 0 0 ~ 9223372036854775805 リビジョン

Event

イベント

イベントの期間は絶対期間と相対期間の2種類存在します。
絶対期間は 例えば YYYY年MM月DD日 00:00(UTC) ~ YYYY年MM月DD日 23:59(UTC) のような固定の期間で、
相対期間は トリガーを引いたタイミングから 24時間 のようなゲームプレイヤー毎に異なる期間をイベント期間とするものです。

イベントには開催期間だけでなく、繰り返しが設定できるようになっており
イベント期間のうち、月曜日の 10:00 ~ 11:00 だけをイベント期間とするような設定も可能です。

詳細
有効化条件 必須 デフォルト 値の制限 説明
eventId string
~ 1024文字 GS2-Schedule イベント GRN
※ サーバーが自動で設定
name string
~ 128文字 イベント名
イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadata string ~ 2048文字 メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
scheduleType 文字列列挙型
enum {
  “absolute”,
  “relative”
}
スケジュールタイプ
イベント期間の定義方法を決定します。
“absolute” は全プレイヤー共通の固定開始・終了タイムスタンプを使用します。
“relative” はプレイヤーごとのトリガーを起点として使用し、パーソナライズされたイベント期間を実現します(例: 各プレイヤーの初回ログインから24時間)。
定義説明
“absolute”固定期間
“relative”プレイヤー毎に異なる期間
absoluteBegin long 絶対開始日時
絶対スケジューリングにおけるイベント期間の固定開始時刻。
全プレイヤーが同じ開始時刻を共有します。絶対イベントで未設定の場合、イベントは過去から開始されているものとして扱われます。
UNIX 時間(ミリ秒)で表現されます。
absoluteEnd long 絶対終了日時
絶対スケジューリングにおけるイベント期間の固定終了時刻。
全プレイヤーが同じ終了時刻を共有します。絶対イベントで未設定の場合、イベントは終了しないものとして扱われます。
UNIX 時間(ミリ秒)で表現されます。
relativeTriggerName string {scheduleType} == “relative”
✓※
~ 128文字 イベント開始トリガー名
ゲームプレイヤー毎にイベント期間を設定する (relative) 場合に、イベントの開始の起点とするトリガーの名前を指定します。
英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
※ scheduleType が “relative” であれば 必須
repeatSetting RepeatSetting
繰り返し設定
イベント期間内の繰り返し有効時間枠の設定。
アクティブ期間を特定の時間帯、曜日、月の日付、またはカスタムのアクティブ/インアクティブ日サイクルに絞り込むことができます。
繰り返しパターンなしでイベント期間全体を通してアクティブにするには repeatType を “always” に設定します。

RepeatSetting

繰り返し設定

イベント全体期間内の繰り返し有効時間枠を設定します。
5種類の繰り返しタイプをサポートします: “always”(イベント期間全体)、“daily”(毎日の特定時間帯)、“weekly”(毎週の特定曜日範囲+時間帯)、
“monthly”(毎月の特定日範囲+時間帯)、“custom”(基準日からのアクティブ/インアクティブ日数の交互サイクル)。
daily/weekly/monthly タイプで beginHour と endHour が同じ場合、終了時刻は翌日の同時刻として扱われます(つまり24時間フルウィンドウ)。

詳細
有効化条件 必須 デフォルト 値の制限 説明
repeatType 文字列列挙型
enum {
  “always”,
  “daily”,
  “weekly”,
  “monthly”,
  “custom”
}
“always” 繰り返しの種類
イベント期間内に適用する繰り返しパターンのタイプ。
タイプによって必要な追加フィールドが異なります: daily/weekly/monthly は時間設定、weekly は曜日、monthly は日付、custom は基準日と日数が必要です。
未指定の場合は “always” がデフォルトとなります。
定義説明
“always”イベント期間中 常時有効
“daily”イベント期間のうち 毎日X時~X時
“weekly”イベント期間のうち 毎週 開始曜日~終了曜日 X時~X時
“monthly”イベント期間のうち 毎月 開始日~終了日 X時~X時
“custom”基準日から始まり、イベント期間中、X日アクティブ、Y日インアクティブを繰り返す
beginDayOfMonth int {repeatType} == “monthly”
✓※
1 ~ 31 繰り返し開始日
繰り返しウィンドウが開始する月の日(1~31)。
指定した値がその月の日数を超える場合、その月の最終日として扱われます。
repeatType が “monthly” の場合のみ適用されます。
※ repeatType が “monthly” であれば 必須
endDayOfMonth int {repeatType} == “monthly”
✓※
1 ~ 31 繰り返し終了日
繰り返しウィンドウが終了する月の日(1~31)。
指定した値がその月の日数を超える場合、その月の最終日として扱われます。
repeatType が “monthly” の場合のみ適用されます。
※ repeatType が “monthly” であれば 必須
beginDayOfWeek 文字列列挙型
enum {
  “sunday”,
  “monday”,
  “tuesday”,
  “wednesday”,
  “thursday”,
  “friday”,
  “saturday”
}
{repeatType} == “weekly”
✓※
繰り返し開始曜日
繰り返しウィンドウが開始する曜日。
ウィンドウは週の境界をまたぐことができます(例: 金曜日~月曜日)。repeatType が “weekly” の場合のみ適用されます。
定義説明
“sunday”日曜日
“monday”月曜日
“tuesday”火曜日
“wednesday”水曜日
“thursday”木曜日
“friday”金曜日
“saturday”土曜日
※ repeatType が “weekly” であれば 必須
endDayOfWeek 文字列列挙型
enum {
  “sunday”,
  “monday”,
  “tuesday”,
  “wednesday”,
  “thursday”,
  “friday”,
  “saturday”
}
{repeatType} == “weekly”
✓※
繰り返し終了曜日
繰り返しウィンドウが終了する曜日。
beginDayOfWeek と組み合わせて週間アクティブ期間を定義します。repeatType が “weekly” の場合のみ適用されます。
定義説明
“sunday”日曜日
“monday”月曜日
“tuesday”火曜日
“wednesday”水曜日
“thursday”木曜日
“friday”金曜日
“saturday”土曜日
※ repeatType が “weekly” であれば 必須
beginHour int {repeatType} in [“daily”, “weekly”, “monthly”]
✓※
0 ~ 23 繰り返し開始時(時)
各サイクルで繰り返しウィンドウが開始する時刻(UTC、0~23)。
daily、weekly、monthly の繰り返しタイプで必須です。beginHour と endHour が同じ場合、ウィンドウは24時間(翌日の同時刻まで)となります。
※ repeatType が “daily”,“weekly”,“monthly"であれば 必須
endHour int {repeatType} in [“daily”, “weekly”, “monthly”]
✓※
0 ~ 24 繰り返し終了時(時)
各サイクルで繰り返しウィンドウが終了する時刻(UTC、0~24)。
24 を指定すると翌日の深夜0時を表します。daily、weekly、monthly の繰り返しタイプで必須です。
※ repeatType が “daily”,“weekly”,“monthly"であれば 必須
anchorTimestamp long {repeatType} == “custom”
✓※
基準タイムスタンプ
カスタムのアクティブ/インアクティブサイクルが開始する基準日。
システムはこの基準日からの経過日数に基づいて、現在時刻がどのフェーズ(アクティブまたはインアクティブ)にあるかを計算します。
repeatType が “custom” の場合のみ適用されます。UNIX 時間(ミリ秒)で表現します。
※ repeatType が “custom” であれば 必須
activeDays int {repeatType} == “custom”
✓※
1 ~ 2147483646 アクティブ日数
カスタムサイクルの各周期でイベントがアクティブとなる連続日数。
アクティブ日数の後、inactiveDays で指定された日数だけイベントが非アクティブとなり、サイクルが繰り返されます。
repeatType が “custom” の場合のみ適用されます。最小1日。
※ repeatType が “custom” であれば 必須
inactiveDays int {repeatType} == “custom”
✓※
0 ~ 2147483646 インアクティブ日数
カスタムサイクルの各周期でイベントが非アクティブとなる連続日数。
アクティブ日数の後に続きます。ギャップなしの連続アクティブイベントにするには 0 を設定します。
repeatType が “custom” の場合のみ適用されます。最小0日。
※ repeatType が “custom” であれば 必須

RepeatSchedule

繰り返しスケジュール状態

特定の時点におけるイベントの繰り返しサイクルの現在の状態を表します。
繰り返し回数(サイクルが発生した回数)、現在のアクティブウィンドウの開始・終了時刻、
前回完了したウィンドウの終了時刻、および次回のウィンドウの開始時刻を含みます。
この情報はイベントの繰り返し設定と現在時刻から動的に計算されます。

詳細
有効化条件 必須 デフォルト 値の制限 説明
repeatCount int
0 ~ 2147483646 繰り返し回数
現在時刻までに完了した繰り返しサイクルの回数。
繰り返しウィンドウが終了するたびにインクリメントされます。シーズン制や定期イベントのサイクル進捗の追跡に使用できます。
currentRepeatStartAt long 現在のリピート開始日時
現在アクティブな繰り返しウィンドウの開始時刻。
イベントが現在アクティブな繰り返しウィンドウにない場合は null です。UNIX 時間(ミリ秒)で表現されます。
currentRepeatEndAt long 現在のリピート終了日時
現在アクティブな繰り返しウィンドウの終了時刻。
イベントが現在アクティブな繰り返しウィンドウにない場合は null です。UNIX 時間(ミリ秒)で表現されます。
lastRepeatEndAt long 前回のリピート終了日時
直近で完了した繰り返しウィンドウの終了時刻。
まだ繰り返しウィンドウが終了していない場合は null です。UNIX 時間(ミリ秒)で表現されます。
nextRepeatStartAt long 次回のリピート開始日時
次回の繰り返しウィンドウの開始時刻。
イベント期間内に次の繰り返しウィンドウがない場合は null です。UNIX 時間(ミリ秒)で表現されます。

CurrentEventMaster

現在アクティブなイベントのマスターデータ

現在ネームスペース内で有効な、イベントの定義を記述したマスターデータです。
GS2ではマスターデータの管理にJSON形式のファイルを使用します。
ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。

JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。
また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。

詳細
有効化条件 必須 デフォルト 値の制限 説明
namespaceId string
~ 1024文字 ネームスペース GRN
※ サーバーが自動で設定
settings string
~ 5242880 バイト (5MB) マスターデータ

EventMaster

イベントマスター

イベントマスターは、ゲーム内で使用されるイベントの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。
インポート・更新処理を行うことで、実際にゲームから参照されるイベントとして反映されます。

イベントの期間は絶対期間と相対期間の2種類存在します。
絶対期間は 例えば YYYY年MM月DD日 00:00(UTC) ~ YYYY年MM月DD日 23:59(UTC) のような固定の期間で、
相対期間は トリガーを引いたタイミングから 24時間 のようなゲームプレイヤー毎に異なる期間をイベント期間とするものです。

イベントには開催期間だけでなく、繰り返しが設定できるようになっており
イベント期間のうち、月曜日の 10:00 ~ 11:00 だけをイベント期間とするような設定も可能です。

詳細
有効化条件 必須 デフォルト 値の制限 説明
eventId string
~ 1024文字 イベントマスター GRN
※ サーバーが自動で設定
name string
~ 128文字 イベント名
イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
description string ~ 1024文字 説明文
metadata string ~ 2048文字 メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
scheduleType 文字列列挙型
enum {
  “absolute”,
  “relative”
}
スケジュールタイプ
イベント期間の定義方法を決定します。
“absolute” は全プレイヤー共通の固定開始・終了タイムスタンプを使用します。
“relative” はプレイヤーごとのトリガーを起点として使用し、パーソナライズされたイベント期間を実現します(例: 各プレイヤーの初回ログインから24時間)。
定義説明
“absolute”固定期間
“relative”プレイヤー毎に異なる期間
absoluteBegin long 絶対開始日時
絶対スケジューリングにおけるイベント期間の固定開始時刻。
全プレイヤーが同じ開始時刻を共有します。絶対イベントで未設定の場合、イベントは過去から開始されているものとして扱われます。
UNIX 時間(ミリ秒)で表現されます。
absoluteEnd long 絶対終了日時
絶対スケジューリングにおけるイベント期間の固定終了時刻。
全プレイヤーが同じ終了時刻を共有します。絶対イベントで未設定の場合、イベントは終了しないものとして扱われます。
UNIX 時間(ミリ秒)で表現されます。
relativeTriggerName string {scheduleType} == “relative”
✓※
~ 128文字 イベント開始トリガー名
ゲームプレイヤー毎にイベント期間を設定する (relative) 場合に、イベントの開始の起点とするトリガーの名前を指定します。
英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
※ scheduleType が “relative” であれば 必須
repeatSetting RepeatSetting
繰り返し設定
イベント期間内の繰り返し有効時間枠の設定。
アクティブ期間を特定の時間帯、曜日、月の日付、またはカスタムのアクティブ/インアクティブ日サイクルに絞り込むことができます。
繰り返しパターンなしでイベント期間全体を通してアクティブにするには repeatType を “always” に設定します。
createdAt long
現在時刻 作成日時
UNIX 時間・ミリ秒
※ サーバーが自動で設定
updatedAt long
現在時刻 最終更新日時
UNIX 時間・ミリ秒
※ サーバーが自動で設定
revision long 0 0 ~ 9223372036854775805 リビジョン

メソッド

describeNamespaces

ネームスペースの一覧を取得

プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。
オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。
また、取得するネームスペースの数を制限することも可能です。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞
pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン
limit int 30 1 ~ 1000 データの取得件数

Result

説明
items List<Namespace> ネームスペースのリスト
nextPageToken string リストの続きを取得するためのページトークン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeNamespaces(
    &schedule.DescribeNamespacesRequest {
        NamePrefix: nil,
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeNamespacesRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeNamespaces(
        (new DescribeNamespacesRequest())
            ->withNamePrefix(null)
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeNamespacesRequest;
import io.gs2.schedule.result.DescribeNamespacesResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeNamespacesResult result = client.describeNamespaces(
        new DescribeNamespacesRequest()
            .withNamePrefix(null)
            .withPageToken(null)
            .withLimit(null)
    );
    List<Namespace> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeNamespacesResult> asyncResult = null;
yield return client.DescribeNamespaces(
    new Gs2.Gs2Schedule.Request.DescribeNamespacesRequest()
        .WithNamePrefix(null)
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeNamespaces(
        new Gs2Schedule.DescribeNamespacesRequest()
            .withNamePrefix(null)
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_namespaces(
        schedule.DescribeNamespacesRequest()
            .with_name_prefix(None)
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_namespaces({
    namePrefix=nil,
    pageToken=nil,
    limit=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;
client = gs2('schedule')

api_result_handler = client.describe_namespaces_async({
    namePrefix=nil,
    pageToken=nil,
    limit=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

createNamespace

ネームスペースを新規作成

ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
name string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
description string ~ 1024文字 説明文
transactionSetting TransactionSetting トランザクション設定
スケジュール操作時のトランザクションの処理方法を制御する設定です。
logSetting LogSetting ログ出力設定
スケジュール関連の操作ログを GS2-Log に出力するための設定。
設定すると、イベントクエリ、トリガー発動、トリガー削除などのアクションが分析や監査のために記録されます。

Result

説明
item Namespace 作成したネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.CreateNamespace(
    &schedule.CreateNamespaceRequest {
        Name: pointy.String("namespace-0001"),
        Description: nil,
        TransactionSetting: nil,
        LogSetting: &schedule.LogSetting{
            LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\CreateNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->createNamespace(
        (new CreateNamespaceRequest())
            ->withName("namespace-0001")
            ->withDescription(null)
            ->withTransactionSetting(null)
            ->withLogSetting((new \Gs2\Schedule\Model\LogSetting())
                ->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.CreateNamespaceRequest;
import io.gs2.schedule.result.CreateNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    CreateNamespaceResult result = client.createNamespace(
        new CreateNamespaceRequest()
            .withName("namespace-0001")
            .withDescription(null)
            .withTransactionSetting(null)
            .withLogSetting(new io.gs2.schedule.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.CreateNamespaceResult> asyncResult = null;
yield return client.CreateNamespace(
    new Gs2.Gs2Schedule.Request.CreateNamespaceRequest()
        .WithName("namespace-0001")
        .WithDescription(null)
        .WithTransactionSetting(null)
        .WithLogSetting(new Gs2.Gs2Schedule.Model.LogSetting()
            .WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001")),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.createNamespace(
        new Gs2Schedule.CreateNamespaceRequest()
            .withName("namespace-0001")
            .withDescription(null)
            .withTransactionSetting(null)
            .withLogSetting(new Gs2Schedule.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.create_namespace(
        schedule.CreateNamespaceRequest()
            .with_name('namespace-0001')
            .with_description(None)
            .with_transaction_setting(None)
            .with_log_setting(
                schedule.LogSetting()
                    .with_logging_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001'))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.create_namespace({
    name="namespace-0001",
    description=nil,
    transactionSetting=nil,
    logSetting={
        loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.create_namespace_async({
    name="namespace-0001",
    description=nil,
    transactionSetting=nil,
    logSetting={
        loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
    },
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

getNamespaceStatus

ネームスペースの状態を取得

指定されたネームスペースの現在の状態を取得します。
これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
status string

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetNamespaceStatus(
    &schedule.GetNamespaceStatusRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
status := result.Status
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetNamespaceStatusRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getNamespaceStatus(
        (new GetNamespaceStatusRequest())
            ->withNamespaceName("namespace-0001")
    );
    $status = $result->getStatus();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetNamespaceStatusRequest;
import io.gs2.schedule.result.GetNamespaceStatusResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetNamespaceStatusResult result = client.getNamespaceStatus(
        new GetNamespaceStatusRequest()
            .withNamespaceName("namespace-0001")
    );
    String status = result.getStatus();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetNamespaceStatusResult> asyncResult = null;
yield return client.GetNamespaceStatus(
    new Gs2.Gs2Schedule.Request.GetNamespaceStatusRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var status = result.Status;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getNamespaceStatus(
        new Gs2Schedule.GetNamespaceStatusRequest()
            .withNamespaceName("namespace-0001")
    );
    const status = result.getStatus();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_namespace_status(
        schedule.GetNamespaceStatusRequest()
            .with_namespace_name('namespace-0001')
    )
    status = result.status
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_namespace_status({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
status = result.status;
client = gs2('schedule')

api_result_handler = client.get_namespace_status_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
status = result.status;

getNamespace

ネームスペースを取得

指定されたネームスペースの詳細情報を取得します。
これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
item Namespace ネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetNamespace(
    &schedule.GetNamespaceRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getNamespace(
        (new GetNamespaceRequest())
            ->withNamespaceName("namespace-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetNamespaceRequest;
import io.gs2.schedule.result.GetNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetNamespaceResult result = client.getNamespace(
        new GetNamespaceRequest()
            .withNamespaceName("namespace-0001")
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetNamespaceResult> asyncResult = null;
yield return client.GetNamespace(
    new Gs2.Gs2Schedule.Request.GetNamespaceRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getNamespace(
        new Gs2Schedule.GetNamespaceRequest()
            .withNamespaceName("namespace-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_namespace(
        schedule.GetNamespaceRequest()
            .with_namespace_name('namespace-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_namespace({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_namespace_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

updateNamespace

ネームスペースを更新

指定されたネームスペースの設定を更新します。
ネームスペースの説明や、特定の設定を変更することができます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
description string ~ 1024文字 説明文
transactionSetting TransactionSetting トランザクション設定
スケジュール操作時のトランザクションの処理方法を制御する設定です。
logSetting LogSetting ログ出力設定
スケジュール関連の操作ログを GS2-Log に出力するための設定。
設定すると、イベントクエリ、トリガー発動、トリガー削除などのアクションが分析や監査のために記録されます。

Result

説明
item Namespace 更新したネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.UpdateNamespace(
    &schedule.UpdateNamespaceRequest {
        NamespaceName: pointy.String("namespace-0001"),
        Description: pointy.String("description1"),
        TransactionSetting: nil,
        LogSetting: &schedule.LogSetting{
            LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\UpdateNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->updateNamespace(
        (new UpdateNamespaceRequest())
            ->withNamespaceName("namespace-0001")
            ->withDescription("description1")
            ->withTransactionSetting(null)
            ->withLogSetting((new \Gs2\Schedule\Model\LogSetting())
                ->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.UpdateNamespaceRequest;
import io.gs2.schedule.result.UpdateNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    UpdateNamespaceResult result = client.updateNamespace(
        new UpdateNamespaceRequest()
            .withNamespaceName("namespace-0001")
            .withDescription("description1")
            .withTransactionSetting(null)
            .withLogSetting(new io.gs2.schedule.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.UpdateNamespaceResult> asyncResult = null;
yield return client.UpdateNamespace(
    new Gs2.Gs2Schedule.Request.UpdateNamespaceRequest()
        .WithNamespaceName("namespace-0001")
        .WithDescription("description1")
        .WithTransactionSetting(null)
        .WithLogSetting(new Gs2.Gs2Schedule.Model.LogSetting()
            .WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001")),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.updateNamespace(
        new Gs2Schedule.UpdateNamespaceRequest()
            .withNamespaceName("namespace-0001")
            .withDescription("description1")
            .withTransactionSetting(null)
            .withLogSetting(new Gs2Schedule.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.update_namespace(
        schedule.UpdateNamespaceRequest()
            .with_namespace_name('namespace-0001')
            .with_description('description1')
            .with_transaction_setting(None)
            .with_log_setting(
                schedule.LogSetting()
                    .with_logging_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001'))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.update_namespace({
    namespaceName="namespace-0001",
    description="description1",
    transactionSetting=nil,
    logSetting={
        loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.update_namespace_async({
    namespaceName="namespace-0001",
    description="description1",
    transactionSetting=nil,
    logSetting={
        loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
    },
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

deleteNamespace

ネームスペースを削除

指定されたネームスペースを削除します。
この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
item Namespace 削除したネームスペース

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DeleteNamespace(
    &schedule.DeleteNamespaceRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DeleteNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->deleteNamespace(
        (new DeleteNamespaceRequest())
            ->withNamespaceName("namespace-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DeleteNamespaceRequest;
import io.gs2.schedule.result.DeleteNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DeleteNamespaceResult result = client.deleteNamespace(
        new DeleteNamespaceRequest()
            .withNamespaceName("namespace-0001")
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DeleteNamespaceResult> asyncResult = null;
yield return client.DeleteNamespace(
    new Gs2.Gs2Schedule.Request.DeleteNamespaceRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.deleteNamespace(
        new Gs2Schedule.DeleteNamespaceRequest()
            .withNamespaceName("namespace-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.delete_namespace(
        schedule.DeleteNamespaceRequest()
            .with_namespace_name('namespace-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.delete_namespace({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.delete_namespace_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

getServiceVersion

マイクロサービスのバージョンを取得

詳細

Request

Request parameters: None

Result

説明
item string バージョン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetServiceVersion(
    &schedule.GetServiceVersionRequest {
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetServiceVersionRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getServiceVersion(
        (new GetServiceVersionRequest())
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetServiceVersionRequest;
import io.gs2.schedule.result.GetServiceVersionResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetServiceVersionResult result = client.getServiceVersion(
        new GetServiceVersionRequest()
    );
    String item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetServiceVersionResult> asyncResult = null;
yield return client.GetServiceVersion(
    new Gs2.Gs2Schedule.Request.GetServiceVersionRequest(),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getServiceVersion(
        new Gs2Schedule.GetServiceVersionRequest()
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_service_version(
        schedule.GetServiceVersionRequest()
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_service_version({
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_service_version_async({
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

dumpUserDataByUserId

指定したユーザーIDに紐づくデータのダンプを取得

個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
userId string
~ 128文字 ユーザーID
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DumpUserDataByUserId(
    &schedule.DumpUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DumpUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->dumpUserDataByUserId(
        (new DumpUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DumpUserDataByUserIdRequest;
import io.gs2.schedule.result.DumpUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DumpUserDataByUserIdResult result = client.dumpUserDataByUserId(
        new DumpUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DumpUserDataByUserIdResult> asyncResult = null;
yield return client.DumpUserDataByUserId(
    new Gs2.Gs2Schedule.Request.DumpUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.dumpUserDataByUserId(
        new Gs2Schedule.DumpUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.dump_user_data_by_user_id(
        schedule.DumpUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.dump_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
client = gs2('schedule')

api_result_handler = client.dump_user_data_by_user_id_async({
    userId="user-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result

checkDumpUserDataByUserId

指定したユーザーIDに紐づくデータのダンプが完了しているか確認

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
userId string
~ 128文字 ユーザーID
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明
url string 出力データのURL

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.CheckDumpUserDataByUserId(
    &schedule.CheckDumpUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
url := result.Url
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\CheckDumpUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->checkDumpUserDataByUserId(
        (new CheckDumpUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
    $url = $result->getUrl();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.CheckDumpUserDataByUserIdRequest;
import io.gs2.schedule.result.CheckDumpUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    CheckDumpUserDataByUserIdResult result = client.checkDumpUserDataByUserId(
        new CheckDumpUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    String url = result.getUrl();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.CheckDumpUserDataByUserIdResult> asyncResult = null;
yield return client.CheckDumpUserDataByUserId(
    new Gs2.Gs2Schedule.Request.CheckDumpUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var url = result.Url;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.checkDumpUserDataByUserId(
        new Gs2Schedule.CheckDumpUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    const url = result.getUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.check_dump_user_data_by_user_id(
        schedule.CheckDumpUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
    url = result.url
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.check_dump_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
url = result.url;
client = gs2('schedule')

api_result_handler = client.check_dump_user_data_by_user_id_async({
    userId="user-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
url = result.url;

cleanUserDataByUserId

ユーザーデータの完全削除

指定されたユーザーIDに紐づくデータのクリーニングを実行します。
これにより、特定のユーザーデータをプロジェクトから安全に削除できます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
userId string
~ 128文字 ユーザーID
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.CleanUserDataByUserId(
    &schedule.CleanUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\CleanUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->cleanUserDataByUserId(
        (new CleanUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.CleanUserDataByUserIdRequest;
import io.gs2.schedule.result.CleanUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    CleanUserDataByUserIdResult result = client.cleanUserDataByUserId(
        new CleanUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.CleanUserDataByUserIdResult> asyncResult = null;
yield return client.CleanUserDataByUserId(
    new Gs2.Gs2Schedule.Request.CleanUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.cleanUserDataByUserId(
        new Gs2Schedule.CleanUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.clean_user_data_by_user_id(
        schedule.CleanUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.clean_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
client = gs2('schedule')

api_result_handler = client.clean_user_data_by_user_id_async({
    userId="user-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result

checkCleanUserDataByUserId

指定したユーザーIDに紐づくデータのダンプが完了しているか確認

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
userId string
~ 128文字 ユーザーID
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.CheckCleanUserDataByUserId(
    &schedule.CheckCleanUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\CheckCleanUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->checkCleanUserDataByUserId(
        (new CheckCleanUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.CheckCleanUserDataByUserIdRequest;
import io.gs2.schedule.result.CheckCleanUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    CheckCleanUserDataByUserIdResult result = client.checkCleanUserDataByUserId(
        new CheckCleanUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.CheckCleanUserDataByUserIdResult> asyncResult = null;
yield return client.CheckCleanUserDataByUserId(
    new Gs2.Gs2Schedule.Request.CheckCleanUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.checkCleanUserDataByUserId(
        new Gs2Schedule.CheckCleanUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.check_clean_user_data_by_user_id(
        schedule.CheckCleanUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.check_clean_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
client = gs2('schedule')

api_result_handler = client.check_clean_user_data_by_user_id_async({
    userId="user-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result

prepareImportUserDataByUserId

指定したユーザーIDに紐づくデータのインポートを実行

インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。
エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。

このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
userId string
~ 128文字 ユーザーID
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明
uploadToken string アップロード後に結果を反映する際に使用するトークン
uploadUrl string ユーザーデータアップロード処理の実行に使用するURL

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.PrepareImportUserDataByUserId(
    &schedule.PrepareImportUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
uploadToken := result.UploadToken
uploadUrl := result.UploadUrl
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\PrepareImportUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->prepareImportUserDataByUserId(
        (new PrepareImportUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
    $uploadToken = $result->getUploadToken();
    $uploadUrl = $result->getUploadUrl();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.PrepareImportUserDataByUserIdRequest;
import io.gs2.schedule.result.PrepareImportUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    PrepareImportUserDataByUserIdResult result = client.prepareImportUserDataByUserId(
        new PrepareImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    String uploadToken = result.getUploadToken();
    String uploadUrl = result.getUploadUrl();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.PrepareImportUserDataByUserIdResult> asyncResult = null;
yield return client.PrepareImportUserDataByUserId(
    new Gs2.Gs2Schedule.Request.PrepareImportUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var uploadToken = result.UploadToken;
var uploadUrl = result.UploadUrl;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.prepareImportUserDataByUserId(
        new Gs2Schedule.PrepareImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    const uploadToken = result.getUploadToken();
    const uploadUrl = result.getUploadUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.prepare_import_user_data_by_user_id(
        schedule.PrepareImportUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
    upload_token = result.upload_token
    upload_url = result.upload_url
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.prepare_import_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
uploadToken = result.uploadToken;
uploadUrl = result.uploadUrl;
client = gs2('schedule')

api_result_handler = client.prepare_import_user_data_by_user_id_async({
    userId="user-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
uploadToken = result.uploadToken;
uploadUrl = result.uploadUrl;

importUserDataByUserId

指定したユーザーIDに紐づくデータのインポートを実行

インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。
エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。

このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
userId string
~ 128文字 ユーザーID
uploadToken string
~ 1024文字 アップロード準備で受け取ったトークン
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.ImportUserDataByUserId(
    &schedule.ImportUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        UploadToken: pointy.String("upload-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\ImportUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->importUserDataByUserId(
        (new ImportUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withUploadToken("upload-0001")
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.ImportUserDataByUserIdRequest;
import io.gs2.schedule.result.ImportUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    ImportUserDataByUserIdResult result = client.importUserDataByUserId(
        new ImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.ImportUserDataByUserIdResult> asyncResult = null;
yield return client.ImportUserDataByUserId(
    new Gs2.Gs2Schedule.Request.ImportUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithUploadToken("upload-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.importUserDataByUserId(
        new Gs2Schedule.ImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.import_user_data_by_user_id(
        schedule.ImportUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_upload_token('upload-0001')
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.import_user_data_by_user_id({
    userId="user-0001",
    uploadToken="upload-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
client = gs2('schedule')

api_result_handler = client.import_user_data_by_user_id_async({
    userId="user-0001",
    uploadToken="upload-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result

checkImportUserDataByUserId

指定したユーザーIDに紐づくデータのインポートが完了しているか確認

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
userId string
~ 128文字 ユーザーID
uploadToken string
~ 1024文字 アップロード準備で受け取ったトークン
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明
url string 出力ログのURL

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.CheckImportUserDataByUserId(
    &schedule.CheckImportUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        UploadToken: pointy.String("upload-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
url := result.Url
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\CheckImportUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->checkImportUserDataByUserId(
        (new CheckImportUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withUploadToken("upload-0001")
            ->withTimeOffsetToken(null)
    );
    $url = $result->getUrl();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.CheckImportUserDataByUserIdRequest;
import io.gs2.schedule.result.CheckImportUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    CheckImportUserDataByUserIdResult result = client.checkImportUserDataByUserId(
        new CheckImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
            .withTimeOffsetToken(null)
    );
    String url = result.getUrl();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.CheckImportUserDataByUserIdResult> asyncResult = null;
yield return client.CheckImportUserDataByUserId(
    new Gs2.Gs2Schedule.Request.CheckImportUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithUploadToken("upload-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var url = result.Url;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.checkImportUserDataByUserId(
        new Gs2Schedule.CheckImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
            .withTimeOffsetToken(null)
    );
    const url = result.getUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.check_import_user_data_by_user_id(
        schedule.CheckImportUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_upload_token('upload-0001')
            .with_time_offset_token(None)
    )
    url = result.url
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.check_import_user_data_by_user_id({
    userId="user-0001",
    uploadToken="upload-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
url = result.url;
client = gs2('schedule')

api_result_handler = client.check_import_user_data_by_user_id_async({
    userId="user-0001",
    uploadToken="upload-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
url = result.url;

describeTriggers

トリガーの一覧を取得

リクエストしたユーザーに対して引かれたトリガーのページネーション付きリストを取得します。トリガーは相対スケジュールイベントを有効化するために使用され、有効期限(TTL)を持ちます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
accessToken string
~ 128文字 アクセストークン
pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン
limit int 30 1 ~ 1000 データの取得件数

Result

説明
items List<Trigger> トリガーのリスト
nextPageToken string リストの続きを取得するためのページトークン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeTriggers(
    &schedule.DescribeTriggersRequest {
        NamespaceName: pointy.String("namespace-0001"),
        AccessToken: pointy.String("accessToken-0001"),
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeTriggersRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeTriggers(
        (new DescribeTriggersRequest())
            ->withNamespaceName("namespace-0001")
            ->withAccessToken("accessToken-0001")
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeTriggersRequest;
import io.gs2.schedule.result.DescribeTriggersResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeTriggersResult result = client.describeTriggers(
        new DescribeTriggersRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withPageToken(null)
            .withLimit(null)
    );
    List<Trigger> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeTriggersResult> asyncResult = null;
yield return client.DescribeTriggers(
    new Gs2.Gs2Schedule.Request.DescribeTriggersRequest()
        .WithNamespaceName("namespace-0001")
        .WithAccessToken("accessToken-0001")
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeTriggers(
        new Gs2Schedule.DescribeTriggersRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_triggers(
        schedule.DescribeTriggersRequest()
            .with_namespace_name('namespace-0001')
            .with_access_token('accessToken-0001')
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_triggers({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    pageToken=nil,
    limit=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;
client = gs2('schedule')

api_result_handler = client.describe_triggers_async({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    pageToken=nil,
    limit=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

describeTriggersByUserId

ユーザーIDを指定してトリガーの一覧を取得

指定したユーザーに対して引かれたトリガーのページネーション付きリストを取得します。トリガーは相対スケジュールイベントを有効化するために使用され、有効期限(TTL)を持ちます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userId string
~ 128文字 ユーザーID
pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン
limit int 30 1 ~ 1000 データの取得件数
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明
items List<Trigger> トリガーのリスト
nextPageToken string リストの続きを取得するためのページトークン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeTriggersByUserId(
    &schedule.DescribeTriggersByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        UserId: pointy.String("user-0001"),
        PageToken: nil,
        Limit: nil,
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeTriggersByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeTriggersByUserId(
        (new DescribeTriggersByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withUserId("user-0001")
            ->withPageToken(null)
            ->withLimit(null)
            ->withTimeOffsetToken(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeTriggersByUserIdRequest;
import io.gs2.schedule.result.DescribeTriggersByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeTriggersByUserIdResult result = client.describeTriggersByUserId(
        new DescribeTriggersByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withPageToken(null)
            .withLimit(null)
            .withTimeOffsetToken(null)
    );
    List<Trigger> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeTriggersByUserIdResult> asyncResult = null;
yield return client.DescribeTriggersByUserId(
    new Gs2.Gs2Schedule.Request.DescribeTriggersByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithUserId("user-0001")
        .WithPageToken(null)
        .WithLimit(null)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeTriggersByUserId(
        new Gs2Schedule.DescribeTriggersByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withPageToken(null)
            .withLimit(null)
            .withTimeOffsetToken(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_triggers_by_user_id(
        schedule.DescribeTriggersByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_user_id('user-0001')
            .with_page_token(None)
            .with_limit(None)
            .with_time_offset_token(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_triggers_by_user_id({
    namespaceName="namespace-0001",
    userId="user-0001",
    pageToken=nil,
    limit=nil,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;
client = gs2('schedule')

api_result_handler = client.describe_triggers_by_user_id_async({
    namespaceName="namespace-0001",
    userId="user-0001",
    pageToken=nil,
    limit=nil,
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

getTrigger

トリガーを取得

名前、作成時刻、有効期限(TTL)を含む指定されたトリガーを取得します。リクエストしたユーザーのトリガーの現在の状態を返します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
accessToken string
~ 128文字 アクセストークン
triggerName string
~ 128文字 トリガー名
トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
item Trigger トリガー

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetTrigger(
    &schedule.GetTriggerRequest {
        NamespaceName: pointy.String("namespace-0001"),
        AccessToken: pointy.String("accessToken-0001"),
        TriggerName: pointy.String("trigger1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetTriggerRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getTrigger(
        (new GetTriggerRequest())
            ->withNamespaceName("namespace-0001")
            ->withAccessToken("accessToken-0001")
            ->withTriggerName("trigger1")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetTriggerRequest;
import io.gs2.schedule.result.GetTriggerResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetTriggerResult result = client.getTrigger(
        new GetTriggerRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withTriggerName("trigger1")
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetTriggerResult> asyncResult = null;
yield return client.GetTrigger(
    new Gs2.Gs2Schedule.Request.GetTriggerRequest()
        .WithNamespaceName("namespace-0001")
        .WithAccessToken("accessToken-0001")
        .WithTriggerName("trigger1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getTrigger(
        new Gs2Schedule.GetTriggerRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withTriggerName("trigger1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_trigger(
        schedule.GetTriggerRequest()
            .with_namespace_name('namespace-0001')
            .with_access_token('accessToken-0001')
            .with_trigger_name('trigger1')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_trigger({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    triggerName="trigger1",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_trigger_async({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    triggerName="trigger1",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

getTriggerByUserId

ユーザーIDを指定してトリガーを取得

指定したユーザーの名前、作成時刻、有効期限(TTL)を含む指定されたトリガーを取得します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userId string
~ 128文字 ユーザーID
triggerName string
~ 128文字 トリガー名
トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明
item Trigger トリガー

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetTriggerByUserId(
    &schedule.GetTriggerByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        UserId: pointy.String("user-0001"),
        TriggerName: pointy.String("trigger1"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetTriggerByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getTriggerByUserId(
        (new GetTriggerByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withUserId("user-0001")
            ->withTriggerName("trigger1")
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetTriggerByUserIdRequest;
import io.gs2.schedule.result.GetTriggerByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetTriggerByUserIdResult result = client.getTriggerByUserId(
        new GetTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTriggerName("trigger1")
            .withTimeOffsetToken(null)
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetTriggerByUserIdResult> asyncResult = null;
yield return client.GetTriggerByUserId(
    new Gs2.Gs2Schedule.Request.GetTriggerByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithUserId("user-0001")
        .WithTriggerName("trigger1")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getTriggerByUserId(
        new Gs2Schedule.GetTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTriggerName("trigger1")
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_trigger_by_user_id(
        schedule.GetTriggerByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_user_id('user-0001')
            .with_trigger_name('trigger1')
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_trigger_by_user_id({
    namespaceName="namespace-0001",
    userId="user-0001",
    triggerName="trigger1",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_trigger_by_user_id_async({
    namespaceName="namespace-0001",
    userId="user-0001",
    triggerName="trigger1",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

triggerByUserId

ユーザーIDを指定してトリガーを実行

指定したユーザーのトリガーを引きます。トリガー戦略により動作が決まります:‘renew’ は新しいTTLでリセット、’extend’ は既存のTTLを延長、‘drop’ は既に引かれている場合は無視、‘repeatCycleEnd’/‘repeatCycleNextStart’/‘absoluteEnd’ は指定したイベントのスケジュールに有効期限を合わせます。トリガーを引くと関連する相対スケジュールイベントが有効化されます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
triggerName string
~ 128文字 トリガー名
トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userId string
~ 128文字 ユーザーID
triggerStrategy 文字列列挙型
enum {
  “renew”,
  “extend”,
  “drop”,
  “repeatCycleEnd”,
  “repeatCycleNextStart”,
  “absoluteEnd”
}
トリガーの引き方の方針
定義説明
“renew”すでにトリガーが引かれている場合は再度新しい期間で引き直す
“extend”すでにトリガーが引かれている場合は期間を延長
“drop”すでにトリガーが引かれている場合は無視
“repeatCycleEnd”指定したイベントの繰り返し期間の終了日時に有効期限を迎えるようにトリガーを引く
“repeatCycleNextStart”指定したイベントの繰り返しで、次回の繰り返し開始日時に有効期限を迎えるようにトリガーを引く
“absoluteEnd”指定したイベントの終了日時に有効期限を迎えるようにトリガーを引く
ttl int {triggerStrategy} in [“renew”, “extend”, “drop”]
✓※
0 ~ 2147483646 トリガーの有効期限(秒)
※ triggerStrategy が “renew”,“extend”,“drop"であれば 必須
eventId string {triggerStrategy} in [“repeatCycleEnd”, “repeatCycleNextStart”, “absoluteEnd”]
✓※
~ 1024文字 イベント GRN
※ triggerStrategy が “repeatCycleEnd”,“repeatCycleNextStart”,“absoluteEnd"であれば 必須
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明
item Trigger 引いたトリガー

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.TriggerByUserId(
    &schedule.TriggerByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        TriggerName: pointy.String("trigger1"),
        UserId: pointy.String("user-0001"),
        TriggerStrategy: pointy.String("renew"),
        Ttl: pointy.Int32(300),
        EventId: nil,
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\TriggerByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->triggerByUserId(
        (new TriggerByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withTriggerName("trigger1")
            ->withUserId("user-0001")
            ->withTriggerStrategy("renew")
            ->withTtl(300)
            ->withEventId(null)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.TriggerByUserIdRequest;
import io.gs2.schedule.result.TriggerByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    TriggerByUserIdResult result = client.triggerByUserId(
        new TriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withTriggerName("trigger1")
            .withUserId("user-0001")
            .withTriggerStrategy("renew")
            .withTtl(300)
            .withEventId(null)
            .withTimeOffsetToken(null)
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.TriggerByUserIdResult> asyncResult = null;
yield return client.TriggerByUserId(
    new Gs2.Gs2Schedule.Request.TriggerByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithTriggerName("trigger1")
        .WithUserId("user-0001")
        .WithTriggerStrategy("renew")
        .WithTtl(300)
        .WithEventId(null)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.triggerByUserId(
        new Gs2Schedule.TriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withTriggerName("trigger1")
            .withUserId("user-0001")
            .withTriggerStrategy("renew")
            .withTtl(300)
            .withEventId(null)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.trigger_by_user_id(
        schedule.TriggerByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_trigger_name('trigger1')
            .with_user_id('user-0001')
            .with_trigger_strategy('renew')
            .with_ttl(300)
            .with_event_id(None)
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.trigger_by_user_id({
    namespaceName="namespace-0001",
    triggerName="trigger1",
    userId="user-0001",
    triggerStrategy="renew",
    ttl=300,
    eventId=nil,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.trigger_by_user_id_async({
    namespaceName="namespace-0001",
    triggerName="trigger1",
    userId="user-0001",
    triggerStrategy="renew",
    ttl=300,
    eventId=nil,
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

extendTriggerByUserId

ユーザーIDを指定してトリガーの期間を延長

指定したユーザーの既存のトリガーの有効期限を指定した秒数だけ延長します。トリガーが存在しない場合は、指定した延長期間をTTLとして新しいトリガーが作成されます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
triggerName string
~ 128文字 トリガー名
トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userId string
~ 128文字 ユーザーID
extendSeconds int
0 ~ 2147483646 トリガーを延長する期間(秒)
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明
item Trigger 引いたトリガー

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.ExtendTriggerByUserId(
    &schedule.ExtendTriggerByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        TriggerName: pointy.String("trigger1"),
        UserId: pointy.String("user-0001"),
        ExtendSeconds: pointy.Int32(300),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\ExtendTriggerByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->extendTriggerByUserId(
        (new ExtendTriggerByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withTriggerName("trigger1")
            ->withUserId("user-0001")
            ->withExtendSeconds(300)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.ExtendTriggerByUserIdRequest;
import io.gs2.schedule.result.ExtendTriggerByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    ExtendTriggerByUserIdResult result = client.extendTriggerByUserId(
        new ExtendTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withTriggerName("trigger1")
            .withUserId("user-0001")
            .withExtendSeconds(300)
            .withTimeOffsetToken(null)
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.ExtendTriggerByUserIdResult> asyncResult = null;
yield return client.ExtendTriggerByUserId(
    new Gs2.Gs2Schedule.Request.ExtendTriggerByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithTriggerName("trigger1")
        .WithUserId("user-0001")
        .WithExtendSeconds(300)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.extendTriggerByUserId(
        new Gs2Schedule.ExtendTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withTriggerName("trigger1")
            .withUserId("user-0001")
            .withExtendSeconds(300)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.extend_trigger_by_user_id(
        schedule.ExtendTriggerByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_trigger_name('trigger1')
            .with_user_id('user-0001')
            .with_extend_seconds(300)
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.extend_trigger_by_user_id({
    namespaceName="namespace-0001",
    triggerName="trigger1",
    userId="user-0001",
    extendSeconds=300,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.extend_trigger_by_user_id_async({
    namespaceName="namespace-0001",
    triggerName="trigger1",
    userId="user-0001",
    extendSeconds=300,
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

deleteTrigger

トリガーを削除

リクエストしたユーザーの指定されたトリガーを削除します。トリガーを削除すると、関連する相対スケジュールイベントが無効化されます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
accessToken string
~ 128文字 アクセストークン
triggerName string
~ 128文字 トリガー名
トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
item Trigger 削除したトリガー

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DeleteTrigger(
    &schedule.DeleteTriggerRequest {
        NamespaceName: pointy.String("namespace-0001"),
        AccessToken: pointy.String("accessToken-0001"),
        TriggerName: pointy.String("trigger1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DeleteTriggerRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->deleteTrigger(
        (new DeleteTriggerRequest())
            ->withNamespaceName("namespace-0001")
            ->withAccessToken("accessToken-0001")
            ->withTriggerName("trigger1")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DeleteTriggerRequest;
import io.gs2.schedule.result.DeleteTriggerResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DeleteTriggerResult result = client.deleteTrigger(
        new DeleteTriggerRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withTriggerName("trigger1")
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DeleteTriggerResult> asyncResult = null;
yield return client.DeleteTrigger(
    new Gs2.Gs2Schedule.Request.DeleteTriggerRequest()
        .WithNamespaceName("namespace-0001")
        .WithAccessToken("accessToken-0001")
        .WithTriggerName("trigger1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.deleteTrigger(
        new Gs2Schedule.DeleteTriggerRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withTriggerName("trigger1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.delete_trigger(
        schedule.DeleteTriggerRequest()
            .with_namespace_name('namespace-0001')
            .with_access_token('accessToken-0001')
            .with_trigger_name('trigger1')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.delete_trigger({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    triggerName="trigger1",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.delete_trigger_async({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    triggerName="trigger1",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

deleteTriggerByUserId

ユーザーIDを指定してトリガーを削除

指定したユーザーの指定されたトリガーを削除します。トリガーを削除すると、関連する相対スケジュールイベントが無効化されます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userId string
~ 128文字 ユーザーID
triggerName string
~ 128文字 トリガー名
トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明
item Trigger 削除したトリガー

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DeleteTriggerByUserId(
    &schedule.DeleteTriggerByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        UserId: pointy.String("user-0001"),
        TriggerName: pointy.String("trigger1"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DeleteTriggerByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->deleteTriggerByUserId(
        (new DeleteTriggerByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withUserId("user-0001")
            ->withTriggerName("trigger1")
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DeleteTriggerByUserIdRequest;
import io.gs2.schedule.result.DeleteTriggerByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DeleteTriggerByUserIdResult result = client.deleteTriggerByUserId(
        new DeleteTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTriggerName("trigger1")
            .withTimeOffsetToken(null)
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DeleteTriggerByUserIdResult> asyncResult = null;
yield return client.DeleteTriggerByUserId(
    new Gs2.Gs2Schedule.Request.DeleteTriggerByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithUserId("user-0001")
        .WithTriggerName("trigger1")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.deleteTriggerByUserId(
        new Gs2Schedule.DeleteTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTriggerName("trigger1")
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.delete_trigger_by_user_id(
        schedule.DeleteTriggerByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_user_id('user-0001')
            .with_trigger_name('trigger1')
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.delete_trigger_by_user_id({
    namespaceName="namespace-0001",
    userId="user-0001",
    triggerName="trigger1",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.delete_trigger_by_user_id_async({
    namespaceName="namespace-0001",
    userId="user-0001",
    triggerName="trigger1",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

verifyTrigger

トリガーが引かれてからの経過時間を検証

トリガーの状態に関する条件を検証します。verifyType は以下を設定できます:’notTriggerd’ はトリガーが引かれていないことを検証、’elapsed’ はトリガーが引かれてから指定した分数が経過していることを検証、’notElapsed’ は指定した分数がまだ経過していないことを検証します。検証条件が満たされない場合はエラーを返します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
accessToken string
~ 128文字 アクセストークン
triggerName string
~ 128文字 トリガー名
トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
verifyType 文字列列挙型
enum {
  “notTriggerd”,
  “elapsed”,
  “notElapsed”
}
検証の種類
定義説明
“notTriggerd”トリガーが引かれていない
“elapsed”指定時間が経過している
“notElapsed”指定時間が経過していない
elapsedMinutes int {verifyType} in [“elapsed”, “notElapsed”]
✓※
0 ~ 2147483646 経過時間(分)
※ verifyType が “elapsed”,“notElapsed"であれば 必須

Result

説明
item Trigger トリガー

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.VerifyTrigger(
    &schedule.VerifyTriggerRequest {
        NamespaceName: pointy.String("namespace-0001"),
        AccessToken: pointy.String("accessToken-0001"),
        TriggerName: pointy.String("trigger-0001"),
        VerifyType: pointy.String("elapsed"),
        ElapsedMinutes: pointy.Int32(60),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\VerifyTriggerRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->verifyTrigger(
        (new VerifyTriggerRequest())
            ->withNamespaceName("namespace-0001")
            ->withAccessToken("accessToken-0001")
            ->withTriggerName("trigger-0001")
            ->withVerifyType("elapsed")
            ->withElapsedMinutes(60)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.VerifyTriggerRequest;
import io.gs2.schedule.result.VerifyTriggerResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    VerifyTriggerResult result = client.verifyTrigger(
        new VerifyTriggerRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withTriggerName("trigger-0001")
            .withVerifyType("elapsed")
            .withElapsedMinutes(60)
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.VerifyTriggerResult> asyncResult = null;
yield return client.VerifyTrigger(
    new Gs2.Gs2Schedule.Request.VerifyTriggerRequest()
        .WithNamespaceName("namespace-0001")
        .WithAccessToken("accessToken-0001")
        .WithTriggerName("trigger-0001")
        .WithVerifyType("elapsed")
        .WithElapsedMinutes(60),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.verifyTrigger(
        new Gs2Schedule.VerifyTriggerRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withTriggerName("trigger-0001")
            .withVerifyType("elapsed")
            .withElapsedMinutes(60)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.verify_trigger(
        schedule.VerifyTriggerRequest()
            .with_namespace_name('namespace-0001')
            .with_access_token('accessToken-0001')
            .with_trigger_name('trigger-0001')
            .with_verify_type('elapsed')
            .with_elapsed_minutes(60)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.verify_trigger({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    triggerName="trigger-0001",
    verifyType="elapsed",
    elapsedMinutes=60,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.verify_trigger_async({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    triggerName="trigger-0001",
    verifyType="elapsed",
    elapsedMinutes=60,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

verifyTriggerByUserId

ユーザーIDを指定してトリガーが引かれてからの経過時間を検証

指定したユーザーのトリガーの状態に関する条件を検証します。verifyType は ’notTriggerd’、’elapsed’、’notElapsed’ を設定できます。検証条件が満たされない場合はエラーを返します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userId string
~ 128文字 ユーザーID
triggerName string
~ 128文字 トリガー名
トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
verifyType 文字列列挙型
enum {
  “notTriggerd”,
  “elapsed”,
  “notElapsed”
}
検証の種類
定義説明
“notTriggerd”トリガーが引かれていない
“elapsed”指定時間が経過している
“notElapsed”指定時間が経過していない
elapsedMinutes int {verifyType} in [“elapsed”, “notElapsed”]
✓※
0 ~ 2147483646 経過時間(分)
※ verifyType が “elapsed”,“notElapsed"であれば 必須
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明
item Trigger トリガー

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.VerifyTriggerByUserId(
    &schedule.VerifyTriggerByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        UserId: pointy.String("user-0001"),
        TriggerName: pointy.String("trigger-0001"),
        VerifyType: pointy.String("elapsed"),
        ElapsedMinutes: pointy.Int32(60),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\VerifyTriggerByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->verifyTriggerByUserId(
        (new VerifyTriggerByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withUserId("user-0001")
            ->withTriggerName("trigger-0001")
            ->withVerifyType("elapsed")
            ->withElapsedMinutes(60)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.VerifyTriggerByUserIdRequest;
import io.gs2.schedule.result.VerifyTriggerByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    VerifyTriggerByUserIdResult result = client.verifyTriggerByUserId(
        new VerifyTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTriggerName("trigger-0001")
            .withVerifyType("elapsed")
            .withElapsedMinutes(60)
            .withTimeOffsetToken(null)
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.VerifyTriggerByUserIdResult> asyncResult = null;
yield return client.VerifyTriggerByUserId(
    new Gs2.Gs2Schedule.Request.VerifyTriggerByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithUserId("user-0001")
        .WithTriggerName("trigger-0001")
        .WithVerifyType("elapsed")
        .WithElapsedMinutes(60)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.verifyTriggerByUserId(
        new Gs2Schedule.VerifyTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTriggerName("trigger-0001")
            .withVerifyType("elapsed")
            .withElapsedMinutes(60)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.verify_trigger_by_user_id(
        schedule.VerifyTriggerByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_user_id('user-0001')
            .with_trigger_name('trigger-0001')
            .with_verify_type('elapsed')
            .with_elapsed_minutes(60)
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.verify_trigger_by_user_id({
    namespaceName="namespace-0001",
    userId="user-0001",
    triggerName="trigger-0001",
    verifyType="elapsed",
    elapsedMinutes=60,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.verify_trigger_by_user_id_async({
    namespaceName="namespace-0001",
    userId="user-0001",
    triggerName="trigger-0001",
    verifyType="elapsed",
    elapsedMinutes=60,
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

describeEvents

イベントの一覧を取得

リクエストしたユーザーの現在アクティブなイベントの一覧を取得します。スケジュールが現在進行中のイベントのみが返されます。相対スケジュールイベントの場合、結果はユーザーのトリガー状態に依存します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
accessToken string
~ 128文字 アクセストークン

Result

説明
items List<Event> イベントのリスト

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeEvents(
    &schedule.DescribeEventsRequest {
        NamespaceName: pointy.String("namespace-0001"),
        AccessToken: pointy.String("accessToken-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeEventsRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeEvents(
        (new DescribeEventsRequest())
            ->withNamespaceName("namespace-0001")
            ->withAccessToken("accessToken-0001")
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeEventsRequest;
import io.gs2.schedule.result.DescribeEventsResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeEventsResult result = client.describeEvents(
        new DescribeEventsRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
    );
    List<Event> items = result.getItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeEventsResult> asyncResult = null;
yield return client.DescribeEvents(
    new Gs2.Gs2Schedule.Request.DescribeEventsRequest()
        .WithNamespaceName("namespace-0001")
        .WithAccessToken("accessToken-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeEvents(
        new Gs2Schedule.DescribeEventsRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_events(
        schedule.DescribeEventsRequest()
            .with_namespace_name('namespace-0001')
            .with_access_token('accessToken-0001')
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_events({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
client = gs2('schedule')

api_result_handler = client.describe_events_async({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;

describeEventsByUserId

ユーザーIDを指定してイベントの一覧を取得

指定したユーザーの現在アクティブなイベントの一覧を取得します。スケジュールが現在進行中のイベントのみが返されます。相対スケジュールイベントの場合、結果は指定したユーザーのトリガー状態に依存します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userId string
~ 128文字 ユーザーID
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明
items List<Event> イベントのリスト

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeEventsByUserId(
    &schedule.DescribeEventsByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeEventsByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeEventsByUserId(
        (new DescribeEventsByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeEventsByUserIdRequest;
import io.gs2.schedule.result.DescribeEventsByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeEventsByUserIdResult result = client.describeEventsByUserId(
        new DescribeEventsByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    List<Event> items = result.getItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeEventsByUserIdResult> asyncResult = null;
yield return client.DescribeEventsByUserId(
    new Gs2.Gs2Schedule.Request.DescribeEventsByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeEventsByUserId(
        new Gs2Schedule.DescribeEventsByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_events_by_user_id(
        schedule.DescribeEventsByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_events_by_user_id({
    namespaceName="namespace-0001",
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
client = gs2('schedule')

api_result_handler = client.describe_events_by_user_id_async({
    namespaceName="namespace-0001",
    userId="user-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;

describeRawEvents

イベントの一覧を取得

ユーザーコンテキストやスケジュール状態でフィルタリングせずに、ネームスペース内のすべてのイベント定義の一覧を取得します。イベントが現在アクティブかどうかに関係なく、生のイベントデータを返します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
items List<Event> イベントのリスト

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeRawEvents(
    &schedule.DescribeRawEventsRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeRawEventsRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeRawEvents(
        (new DescribeRawEventsRequest())
            ->withNamespaceName("namespace-0001")
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeRawEventsRequest;
import io.gs2.schedule.result.DescribeRawEventsResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeRawEventsResult result = client.describeRawEvents(
        new DescribeRawEventsRequest()
            .withNamespaceName("namespace-0001")
    );
    List<Event> items = result.getItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeRawEventsResult> asyncResult = null;
yield return client.DescribeRawEvents(
    new Gs2.Gs2Schedule.Request.DescribeRawEventsRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeRawEvents(
        new Gs2Schedule.DescribeRawEventsRequest()
            .withNamespaceName("namespace-0001")
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_raw_events(
        schedule.DescribeRawEventsRequest()
            .with_namespace_name('namespace-0001')
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_raw_events({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
client = gs2('schedule')

api_result_handler = client.describe_raw_events_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;

getEvent

イベントを取得

指定されたイベントをスケジュール状態とともに取得します。イベントが現在開催期間中であるかどうか、スケジュールの開始/終了時刻、繰り返しスケジュール情報、グローバルスケジュールであるかどうかを返します。isInSchedule が true に設定されており、イベントが現在アクティブでない場合、NotFound エラーが返されます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
eventName string
~ 128文字 イベント名
イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
accessToken string
~ 128文字 アクセストークン
isInSchedule bool true 現在開催中のイベントのみ取得対象とするか

Result

説明
item Event イベント
inSchedule bool? 現在イベント期間中か
scheduleStartAt long イベント期間開始時刻
scheduleEndAt long イベント期間終了時刻
イベントの種類が absolute なら EventModel の absoluteEnd が格納されます。
イベントの種類が relative なら scheduleEndAt にはトリガーの有効期限または EventModel の absoluteEnd のどちらか終了が近い方が格納されます。
repeatSchedule RepeatSchedule 繰り返し情報
isGlobalSchedule bool? イベントがグローバルスケジュールか

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetEvent(
    &schedule.GetEventRequest {
        NamespaceName: pointy.String("namespace-0001"),
        EventName: pointy.String("event-0001"),
        AccessToken: pointy.String("accessToken-0001"),
        IsInSchedule: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
inSchedule := result.InSchedule
scheduleStartAt := result.ScheduleStartAt
scheduleEndAt := result.ScheduleEndAt
repeatSchedule := result.RepeatSchedule
isGlobalSchedule := result.IsGlobalSchedule
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetEventRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getEvent(
        (new GetEventRequest())
            ->withNamespaceName("namespace-0001")
            ->withEventName("event-0001")
            ->withAccessToken("accessToken-0001")
            ->withIsInSchedule(null)
    );
    $item = $result->getItem();
    $inSchedule = $result->getInSchedule();
    $scheduleStartAt = $result->getScheduleStartAt();
    $scheduleEndAt = $result->getScheduleEndAt();
    $repeatSchedule = $result->getRepeatSchedule();
    $isGlobalSchedule = $result->getIsGlobalSchedule();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetEventRequest;
import io.gs2.schedule.result.GetEventResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetEventResult result = client.getEvent(
        new GetEventRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
            .withAccessToken("accessToken-0001")
            .withIsInSchedule(null)
    );
    Event item = result.getItem();
    boolean inSchedule = result.getInSchedule();
    long scheduleStartAt = result.getScheduleStartAt();
    long scheduleEndAt = result.getScheduleEndAt();
    RepeatSchedule repeatSchedule = result.getRepeatSchedule();
    boolean isGlobalSchedule = result.getIsGlobalSchedule();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetEventResult> asyncResult = null;
yield return client.GetEvent(
    new Gs2.Gs2Schedule.Request.GetEventRequest()
        .WithNamespaceName("namespace-0001")
        .WithEventName("event-0001")
        .WithAccessToken("accessToken-0001")
        .WithIsInSchedule(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var inSchedule = result.InSchedule;
var scheduleStartAt = result.ScheduleStartAt;
var scheduleEndAt = result.ScheduleEndAt;
var repeatSchedule = result.RepeatSchedule;
var isGlobalSchedule = result.IsGlobalSchedule;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getEvent(
        new Gs2Schedule.GetEventRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
            .withAccessToken("accessToken-0001")
            .withIsInSchedule(null)
    );
    const item = result.getItem();
    const inSchedule = result.getInSchedule();
    const scheduleStartAt = result.getScheduleStartAt();
    const scheduleEndAt = result.getScheduleEndAt();
    const repeatSchedule = result.getRepeatSchedule();
    const isGlobalSchedule = result.getIsGlobalSchedule();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_event(
        schedule.GetEventRequest()
            .with_namespace_name('namespace-0001')
            .with_event_name('event-0001')
            .with_access_token('accessToken-0001')
            .with_is_in_schedule(None)
    )
    item = result.item
    in_schedule = result.in_schedule
    schedule_start_at = result.schedule_start_at
    schedule_end_at = result.schedule_end_at
    repeat_schedule = result.repeat_schedule
    is_global_schedule = result.is_global_schedule
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_event({
    namespaceName="namespace-0001",
    eventName="event-0001",
    accessToken="accessToken-0001",
    isInSchedule=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;
client = gs2('schedule')

api_result_handler = client.get_event_async({
    namespaceName="namespace-0001",
    eventName="event-0001",
    accessToken="accessToken-0001",
    isInSchedule=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;

getEventByUserId

ユーザーIDを指定してイベントを取得

指定したユーザーにおける指定されたイベントをスケジュール状態とともに取得します。イベントが現在開催期間中であるかどうか、スケジュールの開始/終了時刻、繰り返しスケジュール情報、グローバルスケジュールであるかどうかを返します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
eventName string
~ 128文字 イベント名
イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userId string
~ 128文字 ユーザーID
isInSchedule bool true 現在開催中のイベントのみ取得対象とするか
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明
item Event イベント
inSchedule bool? 現在イベント期間中か
scheduleStartAt long イベント期間開始時刻
scheduleEndAt long イベント期間終了時刻
イベントの種類が absolute なら EventModel の absoluteEnd が格納されます。
イベントの種類が relative なら scheduleEndAt にはトリガーの有効期限または EventModel の absoluteEnd のどちらか終了が近い方が格納されます。
repeatSchedule RepeatSchedule 繰り返し情報
isGlobalSchedule bool? イベントがグローバルスケジュールか

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetEventByUserId(
    &schedule.GetEventByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        EventName: pointy.String("event-0001"),
        UserId: pointy.String("user-0001"),
        IsInSchedule: nil,
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
inSchedule := result.InSchedule
scheduleStartAt := result.ScheduleStartAt
scheduleEndAt := result.ScheduleEndAt
repeatSchedule := result.RepeatSchedule
isGlobalSchedule := result.IsGlobalSchedule
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetEventByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getEventByUserId(
        (new GetEventByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withEventName("event-0001")
            ->withUserId("user-0001")
            ->withIsInSchedule(null)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
    $inSchedule = $result->getInSchedule();
    $scheduleStartAt = $result->getScheduleStartAt();
    $scheduleEndAt = $result->getScheduleEndAt();
    $repeatSchedule = $result->getRepeatSchedule();
    $isGlobalSchedule = $result->getIsGlobalSchedule();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetEventByUserIdRequest;
import io.gs2.schedule.result.GetEventByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetEventByUserIdResult result = client.getEventByUserId(
        new GetEventByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
            .withUserId("user-0001")
            .withIsInSchedule(null)
            .withTimeOffsetToken(null)
    );
    Event item = result.getItem();
    boolean inSchedule = result.getInSchedule();
    long scheduleStartAt = result.getScheduleStartAt();
    long scheduleEndAt = result.getScheduleEndAt();
    RepeatSchedule repeatSchedule = result.getRepeatSchedule();
    boolean isGlobalSchedule = result.getIsGlobalSchedule();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetEventByUserIdResult> asyncResult = null;
yield return client.GetEventByUserId(
    new Gs2.Gs2Schedule.Request.GetEventByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithEventName("event-0001")
        .WithUserId("user-0001")
        .WithIsInSchedule(null)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var inSchedule = result.InSchedule;
var scheduleStartAt = result.ScheduleStartAt;
var scheduleEndAt = result.ScheduleEndAt;
var repeatSchedule = result.RepeatSchedule;
var isGlobalSchedule = result.IsGlobalSchedule;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getEventByUserId(
        new Gs2Schedule.GetEventByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
            .withUserId("user-0001")
            .withIsInSchedule(null)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
    const inSchedule = result.getInSchedule();
    const scheduleStartAt = result.getScheduleStartAt();
    const scheduleEndAt = result.getScheduleEndAt();
    const repeatSchedule = result.getRepeatSchedule();
    const isGlobalSchedule = result.getIsGlobalSchedule();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_event_by_user_id(
        schedule.GetEventByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_event_name('event-0001')
            .with_user_id('user-0001')
            .with_is_in_schedule(None)
            .with_time_offset_token(None)
    )
    item = result.item
    in_schedule = result.in_schedule
    schedule_start_at = result.schedule_start_at
    schedule_end_at = result.schedule_end_at
    repeat_schedule = result.repeat_schedule
    is_global_schedule = result.is_global_schedule
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_event_by_user_id({
    namespaceName="namespace-0001",
    eventName="event-0001",
    userId="user-0001",
    isInSchedule=nil,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;
client = gs2('schedule')

api_result_handler = client.get_event_by_user_id_async({
    namespaceName="namespace-0001",
    eventName="event-0001",
    userId="user-0001",
    isInSchedule=nil,
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;

getRawEvent

イベントを取得

ユーザーコンテキストなしで生のイベント定義を取得します。特定のユーザーのトリガー状態に対するスケジュール状態の評価なしにイベントデータを返します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
eventName string
~ 128文字 イベント名
イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
item Event イベント

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetRawEvent(
    &schedule.GetRawEventRequest {
        NamespaceName: pointy.String("namespace-0001"),
        EventName: pointy.String("event-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetRawEventRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getRawEvent(
        (new GetRawEventRequest())
            ->withNamespaceName("namespace-0001")
            ->withEventName("event-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetRawEventRequest;
import io.gs2.schedule.result.GetRawEventResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetRawEventResult result = client.getRawEvent(
        new GetRawEventRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
    );
    Event item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetRawEventResult> asyncResult = null;
yield return client.GetRawEvent(
    new Gs2.Gs2Schedule.Request.GetRawEventRequest()
        .WithNamespaceName("namespace-0001")
        .WithEventName("event-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getRawEvent(
        new Gs2Schedule.GetRawEventRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_raw_event(
        schedule.GetRawEventRequest()
            .with_namespace_name('namespace-0001')
            .with_event_name('event-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_raw_event({
    namespaceName="namespace-0001",
    eventName="event-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_raw_event_async({
    namespaceName="namespace-0001",
    eventName="event-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

verifyEvent

イベントの開催期間であるか検証

指定されたイベントが現在アクティブなスケジュール期間内であるかを検証します。verifyType を ‘inSchedule’ に設定するとイベントがアクティブであることを検証し、’notInSchedule’ に設定するとアクティブでないことを検証します。検証条件が満たされない場合はエラーを返します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
accessToken string
~ 128文字 アクセストークン
eventName string
~ 128文字 イベント名
イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
verifyType 文字列列挙型
enum {
  “inSchedule”,
  “notInSchedule”
}
検証の種類
定義説明
“inSchedule”イベントの開催期間である
“notInSchedule”イベントの開催期間ではない

Result

説明
item Event イベント
inSchedule bool? 現在イベント期間中か
scheduleStartAt long イベント期間開始時刻
scheduleEndAt long イベント期間終了時刻
イベントの種類が absolute なら EventModel の absoluteEnd が格納されます。
イベントの種類が relative なら scheduleEndAt にはトリガーの有効期限または EventModel の absoluteEnd のどちらか終了が近い方が格納されます。
repeatSchedule RepeatSchedule 繰り返し情報
isGlobalSchedule bool? イベントがグローバルスケジュールか

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.VerifyEvent(
    &schedule.VerifyEventRequest {
        NamespaceName: pointy.String("namespace-0001"),
        AccessToken: pointy.String("accessToken-0001"),
        EventName: pointy.String("event-0001"),
        VerifyType: pointy.String("inSchedule"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
inSchedule := result.InSchedule
scheduleStartAt := result.ScheduleStartAt
scheduleEndAt := result.ScheduleEndAt
repeatSchedule := result.RepeatSchedule
isGlobalSchedule := result.IsGlobalSchedule
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\VerifyEventRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->verifyEvent(
        (new VerifyEventRequest())
            ->withNamespaceName("namespace-0001")
            ->withAccessToken("accessToken-0001")
            ->withEventName("event-0001")
            ->withVerifyType("inSchedule")
    );
    $item = $result->getItem();
    $inSchedule = $result->getInSchedule();
    $scheduleStartAt = $result->getScheduleStartAt();
    $scheduleEndAt = $result->getScheduleEndAt();
    $repeatSchedule = $result->getRepeatSchedule();
    $isGlobalSchedule = $result->getIsGlobalSchedule();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.VerifyEventRequest;
import io.gs2.schedule.result.VerifyEventResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    VerifyEventResult result = client.verifyEvent(
        new VerifyEventRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withEventName("event-0001")
            .withVerifyType("inSchedule")
    );
    Event item = result.getItem();
    boolean inSchedule = result.getInSchedule();
    long scheduleStartAt = result.getScheduleStartAt();
    long scheduleEndAt = result.getScheduleEndAt();
    RepeatSchedule repeatSchedule = result.getRepeatSchedule();
    boolean isGlobalSchedule = result.getIsGlobalSchedule();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.VerifyEventResult> asyncResult = null;
yield return client.VerifyEvent(
    new Gs2.Gs2Schedule.Request.VerifyEventRequest()
        .WithNamespaceName("namespace-0001")
        .WithAccessToken("accessToken-0001")
        .WithEventName("event-0001")
        .WithVerifyType("inSchedule"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var inSchedule = result.InSchedule;
var scheduleStartAt = result.ScheduleStartAt;
var scheduleEndAt = result.ScheduleEndAt;
var repeatSchedule = result.RepeatSchedule;
var isGlobalSchedule = result.IsGlobalSchedule;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.verifyEvent(
        new Gs2Schedule.VerifyEventRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withEventName("event-0001")
            .withVerifyType("inSchedule")
    );
    const item = result.getItem();
    const inSchedule = result.getInSchedule();
    const scheduleStartAt = result.getScheduleStartAt();
    const scheduleEndAt = result.getScheduleEndAt();
    const repeatSchedule = result.getRepeatSchedule();
    const isGlobalSchedule = result.getIsGlobalSchedule();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.verify_event(
        schedule.VerifyEventRequest()
            .with_namespace_name('namespace-0001')
            .with_access_token('accessToken-0001')
            .with_event_name('event-0001')
            .with_verify_type('inSchedule')
    )
    item = result.item
    in_schedule = result.in_schedule
    schedule_start_at = result.schedule_start_at
    schedule_end_at = result.schedule_end_at
    repeat_schedule = result.repeat_schedule
    is_global_schedule = result.is_global_schedule
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.verify_event({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    eventName="event-0001",
    verifyType="inSchedule",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;
client = gs2('schedule')

api_result_handler = client.verify_event_async({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    eventName="event-0001",
    verifyType="inSchedule",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;

verifyEventByUserId

ユーザーIDを指定してイベントの開催期間であるかを検証

指定したユーザーにおいて、指定されたイベントが現在アクティブなスケジュール期間内であるかを検証します。verifyType は ‘inSchedule’ または ’notInSchedule’ を設定できます。検証条件が満たされない場合はエラーを返します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userId string
~ 128文字 ユーザーID
eventName string
~ 128文字 イベント名
イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
verifyType 文字列列挙型
enum {
  “inSchedule”,
  “notInSchedule”
}
検証の種類
定義説明
“inSchedule”イベントの開催期間である
“notInSchedule”イベントの開催期間ではない
timeOffsetToken string ~ 1024文字 タイムオフセットトークン

Result

説明
item Event イベント
inSchedule bool? 現在イベント期間中か
scheduleStartAt long イベント期間開始時刻
scheduleEndAt long イベント期間終了時刻
イベントの種類が absolute なら EventModel の absoluteEnd が格納されます。
イベントの種類が relative なら scheduleEndAt にはトリガーの有効期限または EventModel の absoluteEnd のどちらか終了が近い方が格納されます。
repeatSchedule RepeatSchedule 繰り返し情報
isGlobalSchedule bool? イベントがグローバルスケジュールか

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.VerifyEventByUserId(
    &schedule.VerifyEventByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        UserId: pointy.String("user-0001"),
        EventName: pointy.String("event-0001"),
        VerifyType: pointy.String("inSchedule"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
inSchedule := result.InSchedule
scheduleStartAt := result.ScheduleStartAt
scheduleEndAt := result.ScheduleEndAt
repeatSchedule := result.RepeatSchedule
isGlobalSchedule := result.IsGlobalSchedule
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\VerifyEventByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->verifyEventByUserId(
        (new VerifyEventByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withUserId("user-0001")
            ->withEventName("event-0001")
            ->withVerifyType("inSchedule")
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
    $inSchedule = $result->getInSchedule();
    $scheduleStartAt = $result->getScheduleStartAt();
    $scheduleEndAt = $result->getScheduleEndAt();
    $repeatSchedule = $result->getRepeatSchedule();
    $isGlobalSchedule = $result->getIsGlobalSchedule();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.VerifyEventByUserIdRequest;
import io.gs2.schedule.result.VerifyEventByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    VerifyEventByUserIdResult result = client.verifyEventByUserId(
        new VerifyEventByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withEventName("event-0001")
            .withVerifyType("inSchedule")
            .withTimeOffsetToken(null)
    );
    Event item = result.getItem();
    boolean inSchedule = result.getInSchedule();
    long scheduleStartAt = result.getScheduleStartAt();
    long scheduleEndAt = result.getScheduleEndAt();
    RepeatSchedule repeatSchedule = result.getRepeatSchedule();
    boolean isGlobalSchedule = result.getIsGlobalSchedule();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.VerifyEventByUserIdResult> asyncResult = null;
yield return client.VerifyEventByUserId(
    new Gs2.Gs2Schedule.Request.VerifyEventByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithUserId("user-0001")
        .WithEventName("event-0001")
        .WithVerifyType("inSchedule")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var inSchedule = result.InSchedule;
var scheduleStartAt = result.ScheduleStartAt;
var scheduleEndAt = result.ScheduleEndAt;
var repeatSchedule = result.RepeatSchedule;
var isGlobalSchedule = result.IsGlobalSchedule;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.verifyEventByUserId(
        new Gs2Schedule.VerifyEventByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withEventName("event-0001")
            .withVerifyType("inSchedule")
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
    const inSchedule = result.getInSchedule();
    const scheduleStartAt = result.getScheduleStartAt();
    const scheduleEndAt = result.getScheduleEndAt();
    const repeatSchedule = result.getRepeatSchedule();
    const isGlobalSchedule = result.getIsGlobalSchedule();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.verify_event_by_user_id(
        schedule.VerifyEventByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_user_id('user-0001')
            .with_event_name('event-0001')
            .with_verify_type('inSchedule')
            .with_time_offset_token(None)
    )
    item = result.item
    in_schedule = result.in_schedule
    schedule_start_at = result.schedule_start_at
    schedule_end_at = result.schedule_end_at
    repeat_schedule = result.repeat_schedule
    is_global_schedule = result.is_global_schedule
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.verify_event_by_user_id({
    namespaceName="namespace-0001",
    userId="user-0001",
    eventName="event-0001",
    verifyType="inSchedule",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;
client = gs2('schedule')

api_result_handler = client.verify_event_by_user_id_async({
    namespaceName="namespace-0001",
    userId="user-0001",
    eventName="event-0001",
    verifyType="inSchedule",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;

exportMaster

モデルマスターを有効化可能なマスターデータ形式でエクスポート

現在登録されているイベントマスターを有効化可能なマスターデータ形式でエクスポートします。エクスポートされたデータには、絶対/相対タイミング、繰り返し設定、トリガー設定を含むすべてのイベントスケジュール定義が含まれます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
item CurrentEventMaster 有効化可能なマスターデータ

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.ExportMaster(
    &schedule.ExportMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\ExportMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->exportMaster(
        (new ExportMasterRequest())
            ->withNamespaceName("namespace-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.ExportMasterRequest;
import io.gs2.schedule.result.ExportMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    ExportMasterResult result = client.exportMaster(
        new ExportMasterRequest()
            .withNamespaceName("namespace-0001")
    );
    CurrentEventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.ExportMasterResult> asyncResult = null;
yield return client.ExportMaster(
    new Gs2.Gs2Schedule.Request.ExportMasterRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.exportMaster(
        new Gs2Schedule.ExportMasterRequest()
            .withNamespaceName("namespace-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.export_master(
        schedule.ExportMasterRequest()
            .with_namespace_name('namespace-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.export_master({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.export_master_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

getCurrentEventMaster

現在アクティブなイベントのマスターデータを取得

スケジュール評価に使用されているすべてのイベントスケジュール定義を含む、現在アクティブなイベントマスターデータを取得します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
item CurrentEventMaster 現在アクティブなイベントのマスターデータ

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetCurrentEventMaster(
    &schedule.GetCurrentEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetCurrentEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getCurrentEventMaster(
        (new GetCurrentEventMasterRequest())
            ->withNamespaceName("namespace-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetCurrentEventMasterRequest;
import io.gs2.schedule.result.GetCurrentEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetCurrentEventMasterResult result = client.getCurrentEventMaster(
        new GetCurrentEventMasterRequest()
            .withNamespaceName("namespace-0001")
    );
    CurrentEventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetCurrentEventMasterResult> asyncResult = null;
yield return client.GetCurrentEventMaster(
    new Gs2.Gs2Schedule.Request.GetCurrentEventMasterRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getCurrentEventMaster(
        new Gs2Schedule.GetCurrentEventMasterRequest()
            .withNamespaceName("namespace-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_current_event_master(
        schedule.GetCurrentEventMasterRequest()
            .with_namespace_name('namespace-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_current_event_master({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_current_event_master_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

preUpdateCurrentEventMaster

現在アクティブなイベントのマスターデータを更新(3フェーズ版)

1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。

  1. このAPIを実行し、アップロード用のトークンとURLを取得します。
  2. 取得したURLに対して、マスターデータをアップロードします。
  3. UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。
詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
uploadToken string アップロード後に結果を反映する際に使用するトークン
uploadUrl string アップロード処理の実行に使用するURL

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.PreUpdateCurrentEventMaster(
    &schedule.PreUpdateCurrentEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
uploadToken := result.UploadToken
uploadUrl := result.UploadUrl
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\PreUpdateCurrentEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->preUpdateCurrentEventMaster(
        (new PreUpdateCurrentEventMasterRequest())
            ->withNamespaceName("namespace-0001")
    );
    $uploadToken = $result->getUploadToken();
    $uploadUrl = $result->getUploadUrl();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.PreUpdateCurrentEventMasterRequest;
import io.gs2.schedule.result.PreUpdateCurrentEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    PreUpdateCurrentEventMasterResult result = client.preUpdateCurrentEventMaster(
        new PreUpdateCurrentEventMasterRequest()
            .withNamespaceName("namespace-0001")
    );
    String uploadToken = result.getUploadToken();
    String uploadUrl = result.getUploadUrl();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.PreUpdateCurrentEventMasterResult> asyncResult = null;
yield return client.PreUpdateCurrentEventMaster(
    new Gs2.Gs2Schedule.Request.PreUpdateCurrentEventMasterRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var uploadToken = result.UploadToken;
var uploadUrl = result.UploadUrl;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.preUpdateCurrentEventMaster(
        new Gs2Schedule.PreUpdateCurrentEventMasterRequest()
            .withNamespaceName("namespace-0001")
    );
    const uploadToken = result.getUploadToken();
    const uploadUrl = result.getUploadUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.pre_update_current_event_master(
        schedule.PreUpdateCurrentEventMasterRequest()
            .with_namespace_name('namespace-0001')
    )
    upload_token = result.upload_token
    upload_url = result.upload_url
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.pre_update_current_event_master({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
uploadToken = result.uploadToken;
uploadUrl = result.uploadUrl;
client = gs2('schedule')

api_result_handler = client.pre_update_current_event_master_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
uploadToken = result.uploadToken;
uploadUrl = result.uploadUrl;

updateCurrentEventMaster

現在アクティブなイベントのマスターデータを更新

現在アクティブなイベントマスターデータを更新します。大容量マスターデータに対応するため、直接更新モードと事前アップロードモードの両方をサポートしています。事前アップロードモードでは、PreUpdate APIで取得したアップロードトークンを使用して設定を読み取ります。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
mode 文字列列挙型
enum {
  “direct”,
  “preUpload”
}
“direct” 更新モード
定義説明
“direct”マスターデータを直接更新
“preUpload”マスターデータをアップロードしてから更新
settings string {mode} == “direct”
✓※
~ 5242880文字 マスターデータ
※ mode が “direct” であれば必須
uploadToken string {mode} == “preUpload”
✓※
~ 1024文字 事前アップロードで取得したトークン
アップロードしたマスターデータを適用するために使用されます。
※ mode が “preUpload” であれば必須

Result

説明
item CurrentEventMaster 更新された現在アクティブなイベントのマスターデータ

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.UpdateCurrentEventMaster(
    &schedule.UpdateCurrentEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
        Mode: nil,
        Settings: pointy.String("{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}"),
        UploadToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\UpdateCurrentEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->updateCurrentEventMaster(
        (new UpdateCurrentEventMasterRequest())
            ->withNamespaceName("namespace-0001")
            ->withMode(null)
            ->withSettings("{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}")
            ->withUploadToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.UpdateCurrentEventMasterRequest;
import io.gs2.schedule.result.UpdateCurrentEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    UpdateCurrentEventMasterResult result = client.updateCurrentEventMaster(
        new UpdateCurrentEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withMode(null)
            .withSettings("{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}")
            .withUploadToken(null)
    );
    CurrentEventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.UpdateCurrentEventMasterResult> asyncResult = null;
yield return client.UpdateCurrentEventMaster(
    new Gs2.Gs2Schedule.Request.UpdateCurrentEventMasterRequest()
        .WithNamespaceName("namespace-0001")
        .WithMode(null)
        .WithSettings("{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}")
        .WithUploadToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.updateCurrentEventMaster(
        new Gs2Schedule.UpdateCurrentEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withMode(null)
            .withSettings("{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}")
            .withUploadToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.update_current_event_master(
        schedule.UpdateCurrentEventMasterRequest()
            .with_namespace_name('namespace-0001')
            .with_mode(None)
            .with_settings('{\n  "version": "2019-03-31",\n  "events": [\n    {\n      "name": "event-0001",\n      "metadata": "EVENT_0001",\n      "scheduleType": "absolute",\n      "absoluteBegin": 10000,\n      "absoluteEnd": 20000,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "event-0002",\n      "metadata": "EVENT_0002",\n      "scheduleType": "relative",\n      "relativeTriggerName": "trigger-0001",\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "daily-0001",\n      "metadata": "EVENT_0003",\n      "scheduleType": "absolute",\n      "absoluteBegin": 1569369600000,\n      "absoluteEnd": 1569456000000,\n      "repeatType": "daily",\n      "repeatBeginHour": 1,\n      "repeatEndHour": 2,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "daily-0002",\n      "metadata": "EVENT_0004",\n      "scheduleType": "absolute",\n      "absoluteBegin": 1569369600000,\n      "absoluteEnd": 1569456000000,\n      "repeatType": "daily",\n      "repeatBeginHour": 3,\n      "repeatEndHour": 1,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "weekly-0001",\n      "metadata": "EVENT_0005",\n      "scheduleType": "absolute",\n      "absoluteBegin": 1569888000000,\n      "absoluteEnd": 1570406400000,\n      "repeatType": "weekly",\n      "repeatBeginDayOfWeek": "tuesday",\n      "repeatEndDayOfWeek": "wednesday",\n      "repeatBeginHour": 1,\n      "repeatEndHour": 2,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "weekly-0002",\n      "metadata": "EVENT_0006",\n      "scheduleType": "absolute",\n      "absoluteBegin": 1569888000000,\n      "absoluteEnd": 1570406400000,\n      "repeatType": "weekly",\n      "repeatBeginDayOfWeek": "wednesday",\n      "repeatEndDayOfWeek": "tuesday",\n      "repeatBeginHour": 3,\n      "repeatEndHour": 1,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "monthly-0001",\n      "metadata": "EVENT_0007",\n      "scheduleType": "absolute",\n      "absoluteBegin": 1570406400000,\n      "absoluteEnd": 1575158400000,\n      "repeatType": "monthly",\n      "repeatBeginDayOfMonth": 10,\n      "repeatEndDayOfMonth": 15,\n      "repeatBeginHour": 1,\n      "repeatEndHour": 2,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "monthly-0002",\n      "metadata": "EVENT_0008",\n      "scheduleType": "absolute",\n      "absoluteBegin": 1570406400000,\n      "absoluteEnd": 1575158400000,\n      "repeatType": "monthly",\n      "repeatBeginDayOfMonth": 16,\n      "repeatEndDayOfMonth": 9,\n      "repeatBeginHour": 3,\n      "repeatEndHour": 0,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    }\n  ]\n}')
            .with_upload_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.update_current_event_master({
    namespaceName="namespace-0001",
    mode=nil,
    settings="{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}",
    uploadToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.update_current_event_master_async({
    namespaceName="namespace-0001",
    mode=nil,
    settings="{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}",
    uploadToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

updateCurrentEventMasterFromGitHub

現在アクティブなイベントのマスターデータをGitHubから更新

指定されたチェックアウト設定を使用してGitHubリポジトリからマスターデータをチェックアウトし、現在アクティブなイベントマスターデータを更新します。GitHubとの認証にはキーサービス経由でAPIキーが復号されます。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
checkoutSetting GitHubCheckoutSetting
GitHubからマスターデータをチェックアウトする設定

Result

説明
item CurrentEventMaster 更新された現在アクティブなイベントのマスターデータ

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.UpdateCurrentEventMasterFromGitHub(
    &schedule.UpdateCurrentEventMasterFromGitHubRequest {
        NamespaceName: pointy.String("namespace-0001"),
        CheckoutSetting: &schedule.GitHubCheckoutSetting{
            ApiKeyId: pointy.String("apiKeyId-0001"),
            RepositoryName: pointy.String("gs2io/master-data"),
            SourcePath: pointy.String("path/to/file.json"),
            ReferenceType: pointy.String("branch"),
            BranchName: pointy.String("develop"),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\UpdateCurrentEventMasterFromGitHubRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->updateCurrentEventMasterFromGitHub(
        (new UpdateCurrentEventMasterFromGitHubRequest())
            ->withNamespaceName("namespace-0001")
            ->withCheckoutSetting((new GitHubCheckoutSetting())
                ->withApiKeyId("apiKeyId-0001")
                ->withRepositoryName("gs2io/master-data")
                ->withSourcePath("path/to/file.json")
                ->withReferenceType("branch")
                ->withBranchName("develop")
            )
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.UpdateCurrentEventMasterFromGitHubRequest;
import io.gs2.schedule.result.UpdateCurrentEventMasterFromGitHubResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    UpdateCurrentEventMasterFromGitHubResult result = client.updateCurrentEventMasterFromGitHub(
        new UpdateCurrentEventMasterFromGitHubRequest()
            .withNamespaceName("namespace-0001")
            .withCheckoutSetting(new GitHubCheckoutSetting()
                .withApiKeyId("apiKeyId-0001")
                .withRepositoryName("gs2io/master-data")
                .withSourcePath("path/to/file.json")
                .withReferenceType("branch")
                .withBranchName("develop")
            )
    );
    CurrentEventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.UpdateCurrentEventMasterFromGitHubResult> asyncResult = null;
yield return client.UpdateCurrentEventMasterFromGitHub(
    new Gs2.Gs2Schedule.Request.UpdateCurrentEventMasterFromGitHubRequest()
        .WithNamespaceName("namespace-0001")
        .WithCheckoutSetting(new Gs2.Gs2Schedule.Model.GitHubCheckoutSetting()
            .WithApiKeyId("apiKeyId-0001")
            .WithRepositoryName("gs2io/master-data")
            .WithSourcePath("path/to/file.json")
            .WithReferenceType("branch")
            .WithBranchName("develop")
        ),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.updateCurrentEventMasterFromGitHub(
        new Gs2Schedule.UpdateCurrentEventMasterFromGitHubRequest()
            .withNamespaceName("namespace-0001")
            .withCheckoutSetting(new Gs2Schedule.model.GitHubCheckoutSetting()
                .withApiKeyId("apiKeyId-0001")
                .withRepositoryName("gs2io/master-data")
                .withSourcePath("path/to/file.json")
                .withReferenceType("branch")
                .withBranchName("develop")
            )
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.update_current_event_master_from_git_hub(
        schedule.UpdateCurrentEventMasterFromGitHubRequest()
            .with_namespace_name('namespace-0001')
            .with_checkout_setting(schedule.GitHubCheckoutSetting()
                .with_api_key_id('apiKeyId-0001')
                .with_repository_name('gs2io/master-data')
                .with_source_path('path/to/file.json')
                .with_reference_type('branch')
                .with_branch_name('develop')
            )
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.update_current_event_master_from_git_hub({
    namespaceName="namespace-0001",
    checkoutSetting={
        api_key_id="apiKeyId-0001",
        repository_name="gs2io/master-data",
        source_path="path/to/file.json",
        reference_type="branch",
        branch_name="develop",
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.update_current_event_master_from_git_hub_async({
    namespaceName="namespace-0001",
    checkoutSetting={
        api_key_id="apiKeyId-0001",
        repository_name="gs2io/master-data",
        source_path="path/to/file.json",
        reference_type="branch",
        branch_name="develop",
    },
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

describeEventMasters

イベントマスターの一覧を取得

イベントマスターのページネーション付きリストを取得します。イベント名のプレフィックスでフィルタリングできます。イベントマスターは、絶対/相対タイミング、繰り返し設定、トリガー関連付けなどのイベントスケジュールを定義します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
namePrefix string ~ 64文字 イベント名のフィルター接頭辞
pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン
limit int 30 1 ~ 1000 データの取得件数

Result

説明
items List<EventMaster> イベントマスターのリスト
nextPageToken string リストの続きを取得するためのページトークン

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeEventMasters(
    &schedule.DescribeEventMastersRequest {
        NamespaceName: pointy.String("namespace-0001"),
        NamePrefix: nil,
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeEventMastersRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeEventMasters(
        (new DescribeEventMastersRequest())
            ->withNamespaceName("namespace-0001")
            ->withNamePrefix(null)
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeEventMastersRequest;
import io.gs2.schedule.result.DescribeEventMastersResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeEventMastersResult result = client.describeEventMasters(
        new DescribeEventMastersRequest()
            .withNamespaceName("namespace-0001")
            .withNamePrefix(null)
            .withPageToken(null)
            .withLimit(null)
    );
    List<EventMaster> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeEventMastersResult> asyncResult = null;
yield return client.DescribeEventMasters(
    new Gs2.Gs2Schedule.Request.DescribeEventMastersRequest()
        .WithNamespaceName("namespace-0001")
        .WithNamePrefix(null)
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeEventMasters(
        new Gs2Schedule.DescribeEventMastersRequest()
            .withNamespaceName("namespace-0001")
            .withNamePrefix(null)
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_event_masters(
        schedule.DescribeEventMastersRequest()
            .with_namespace_name('namespace-0001')
            .with_name_prefix(None)
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_event_masters({
    namespaceName="namespace-0001",
    namePrefix=nil,
    pageToken=nil,
    limit=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;
client = gs2('schedule')

api_result_handler = client.describe_event_masters_async({
    namespaceName="namespace-0001",
    namePrefix=nil,
    pageToken=nil,
    limit=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

createEventMaster

イベントマスターを新規作成

スケジュールタイプ(絶対または相対)、開始/終了時刻、繰り返し設定(日次、週次、月次)、および相対スケジュールイベント用のオプショナルなトリガー名を持つ新しいイベントマスターを作成します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
name string
~ 128文字 イベント名
イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
description string ~ 1024文字 説明文
metadata string ~ 2048文字 メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
scheduleType 文字列列挙型
enum {
  “absolute”,
  “relative”
}
スケジュールタイプ
イベント期間の定義方法を決定します。
“absolute” は全プレイヤー共通の固定開始・終了タイムスタンプを使用します。
“relative” はプレイヤーごとのトリガーを起点として使用し、パーソナライズされたイベント期間を実現します(例: 各プレイヤーの初回ログインから24時間)。
定義説明
“absolute”固定期間
“relative”プレイヤー毎に異なる期間
absoluteBegin long 絶対開始日時
絶対スケジューリングにおけるイベント期間の固定開始時刻。
全プレイヤーが同じ開始時刻を共有します。絶対イベントで未設定の場合、イベントは過去から開始されているものとして扱われます。
UNIX 時間(ミリ秒)で表現されます。
absoluteEnd long 絶対終了日時
絶対スケジューリングにおけるイベント期間の固定終了時刻。
全プレイヤーが同じ終了時刻を共有します。絶対イベントで未設定の場合、イベントは終了しないものとして扱われます。
UNIX 時間(ミリ秒)で表現されます。
relativeTriggerName string {scheduleType} == “relative”
✓※
~ 128文字 イベント開始トリガー名
ゲームプレイヤー毎にイベント期間を設定する (relative) 場合に、イベントの開始の起点とするトリガーの名前を指定します。
英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
※ scheduleType が “relative” であれば必須
repeatSetting RepeatSetting
繰り返し設定
イベント期間内の繰り返し有効時間枠の設定。
アクティブ期間を特定の時間帯、曜日、月の日付、またはカスタムのアクティブ/インアクティブ日サイクルに絞り込むことができます。
繰り返しパターンなしでイベント期間全体を通してアクティブにするには repeatType を “always” に設定します。

Result

説明
item EventMaster 作成したイベントマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.CreateEventMaster(
    &schedule.CreateEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
        Name: pointy.String("event-0001"),
        Description: nil,
        Metadata: nil,
        ScheduleType: pointy.String("absolute"),
        AbsoluteBegin: pointy.Int64(10000),
        AbsoluteEnd: pointy.Int64(20000),
        RelativeTriggerName: pointy.String("trigger-0001"),
        RepeatSetting: &schedule.RepeatSetting{
            BeginDayOfMonth: pointy.Int32(1),
            EndDayOfMonth: pointy.Int32(2),
            BeginDayOfWeek: pointy.String("monday"),
            EndDayOfWeek: pointy.String("sunday"),
            BeginHour: pointy.Int32(5),
            EndHour: pointy.Int32(6),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\CreateEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->createEventMaster(
        (new CreateEventMasterRequest())
            ->withNamespaceName("namespace-0001")
            ->withName("event-0001")
            ->withDescription(null)
            ->withMetadata(null)
            ->withScheduleType("absolute")
            ->withAbsoluteBegin(10000)
            ->withAbsoluteEnd(20000)
            ->withRelativeTriggerName("trigger-0001")
            ->withRepeatSetting((new \Gs2\Schedule\Model\RepeatSetting())
                ->withBeginDayOfMonth(1)
                ->withEndDayOfMonth(2)
                ->withBeginDayOfWeek("monday")
                ->withEndDayOfWeek("sunday")
                ->withBeginHour(5)
                ->withEndHour(6))
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.CreateEventMasterRequest;
import io.gs2.schedule.result.CreateEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    CreateEventMasterResult result = client.createEventMaster(
        new CreateEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withName("event-0001")
            .withDescription(null)
            .withMetadata(null)
            .withScheduleType("absolute")
            .withAbsoluteBegin(10000L)
            .withAbsoluteEnd(20000L)
            .withRelativeTriggerName("trigger-0001")
            .withRepeatSetting(new io.gs2.schedule.model.RepeatSetting()
                .withBeginDayOfMonth(1)
                .withEndDayOfMonth(2)
                .withBeginDayOfWeek("monday")
                .withEndDayOfWeek("sunday")
                .withBeginHour(5)
                .withEndHour(6))
    );
    EventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.CreateEventMasterResult> asyncResult = null;
yield return client.CreateEventMaster(
    new Gs2.Gs2Schedule.Request.CreateEventMasterRequest()
        .WithNamespaceName("namespace-0001")
        .WithName("event-0001")
        .WithDescription(null)
        .WithMetadata(null)
        .WithScheduleType("absolute")
        .WithAbsoluteBegin(10000L)
        .WithAbsoluteEnd(20000L)
        .WithRelativeTriggerName("trigger-0001")
        .WithRepeatSetting(new Gs2.Gs2Schedule.Model.RepeatSetting()
            .WithBeginDayOfMonth(1)
            .WithEndDayOfMonth(2)
            .WithBeginDayOfWeek("monday")
            .WithEndDayOfWeek("sunday")
            .WithBeginHour(5)
            .WithEndHour(6)),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.createEventMaster(
        new Gs2Schedule.CreateEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withName("event-0001")
            .withDescription(null)
            .withMetadata(null)
            .withScheduleType("absolute")
            .withAbsoluteBegin(10000)
            .withAbsoluteEnd(20000)
            .withRelativeTriggerName("trigger-0001")
            .withRepeatSetting(new Gs2Schedule.model.RepeatSetting()
                .withBeginDayOfMonth(1)
                .withEndDayOfMonth(2)
                .withBeginDayOfWeek("monday")
                .withEndDayOfWeek("sunday")
                .withBeginHour(5)
                .withEndHour(6))
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.create_event_master(
        schedule.CreateEventMasterRequest()
            .with_namespace_name('namespace-0001')
            .with_name('event-0001')
            .with_description(None)
            .with_metadata(None)
            .with_schedule_type('absolute')
            .with_absolute_begin(10000)
            .with_absolute_end(20000)
            .with_relative_trigger_name('trigger-0001')
            .with_repeat_setting(
                schedule.RepeatSetting()
                    .with_begin_day_of_month(1)
                    .with_end_day_of_month(2)
                    .with_begin_day_of_week('monday')
                    .with_end_day_of_week('sunday')
                    .with_begin_hour(5)
                    .with_end_hour(6))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.create_event_master({
    namespaceName="namespace-0001",
    name="event-0001",
    description=nil,
    metadata=nil,
    scheduleType="absolute",
    absoluteBegin=10000,
    absoluteEnd=20000,
    relativeTriggerName="trigger-0001",
    repeatSetting={
        beginDayOfMonth=1,
        endDayOfMonth=2,
        beginDayOfWeek="monday",
        endDayOfWeek="sunday",
        beginHour=5,
        endHour=6,
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.create_event_master_async({
    namespaceName="namespace-0001",
    name="event-0001",
    description=nil,
    metadata=nil,
    scheduleType="absolute",
    absoluteBegin=10000,
    absoluteEnd=20000,
    relativeTriggerName="trigger-0001",
    repeatSetting={
        beginDayOfMonth=1,
        endDayOfMonth=2,
        beginDayOfWeek="monday",
        endDayOfWeek="sunday",
        beginHour=5,
        endHour=6,
    },
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

getEventMaster

イベントマスターを取得

スケジュールタイプ、開始/終了時刻、繰り返し設定、トリガー設定を含む、指定されたイベントマスターを取得します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
eventName string
~ 128文字 イベント名
イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
item EventMaster イベントマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetEventMaster(
    &schedule.GetEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
        EventName: pointy.String("event-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getEventMaster(
        (new GetEventMasterRequest())
            ->withNamespaceName("namespace-0001")
            ->withEventName("event-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetEventMasterRequest;
import io.gs2.schedule.result.GetEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetEventMasterResult result = client.getEventMaster(
        new GetEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
    );
    EventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetEventMasterResult> asyncResult = null;
yield return client.GetEventMaster(
    new Gs2.Gs2Schedule.Request.GetEventMasterRequest()
        .WithNamespaceName("namespace-0001")
        .WithEventName("event-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getEventMaster(
        new Gs2Schedule.GetEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_event_master(
        schedule.GetEventMasterRequest()
            .with_namespace_name('namespace-0001')
            .with_event_name('event-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_event_master({
    namespaceName="namespace-0001",
    eventName="event-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_event_master_async({
    namespaceName="namespace-0001",
    eventName="event-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

updateEventMaster

イベントマスターを更新

指定されたイベントマスターのスケジュールタイプ、開始/終了時刻、繰り返し設定、トリガー設定、その他のプロパティを更新します。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
eventName string
~ 128文字 イベント名
イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
description string ~ 1024文字 説明文
metadata string ~ 2048文字 メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
scheduleType 文字列列挙型
enum {
  “absolute”,
  “relative”
}
スケジュールタイプ
イベント期間の定義方法を決定します。
“absolute” は全プレイヤー共通の固定開始・終了タイムスタンプを使用します。
“relative” はプレイヤーごとのトリガーを起点として使用し、パーソナライズされたイベント期間を実現します(例: 各プレイヤーの初回ログインから24時間)。
定義説明
“absolute”固定期間
“relative”プレイヤー毎に異なる期間
absoluteBegin long 絶対開始日時
絶対スケジューリングにおけるイベント期間の固定開始時刻。
全プレイヤーが同じ開始時刻を共有します。絶対イベントで未設定の場合、イベントは過去から開始されているものとして扱われます。
UNIX 時間(ミリ秒)で表現されます。
absoluteEnd long 絶対終了日時
絶対スケジューリングにおけるイベント期間の固定終了時刻。
全プレイヤーが同じ終了時刻を共有します。絶対イベントで未設定の場合、イベントは終了しないものとして扱われます。
UNIX 時間(ミリ秒)で表現されます。
relativeTriggerName string {scheduleType} == “relative”
✓※
~ 128文字 イベント開始トリガー名
ゲームプレイヤー毎にイベント期間を設定する (relative) 場合に、イベントの開始の起点とするトリガーの名前を指定します。
英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
※ scheduleType が “relative” であれば必須
repeatSetting RepeatSetting
繰り返し設定
イベント期間内の繰り返し有効時間枠の設定。
アクティブ期間を特定の時間帯、曜日、月の日付、またはカスタムのアクティブ/インアクティブ日サイクルに絞り込むことができます。
繰り返しパターンなしでイベント期間全体を通してアクティブにするには repeatType を “always” に設定します。

Result

説明
item EventMaster 更新したイベントマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.UpdateEventMaster(
    &schedule.UpdateEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
        EventName: pointy.String("event-0001"),
        Description: pointy.String("description1"),
        Metadata: pointy.String("{\"hoge\": \"fuga\"}"),
        ScheduleType: pointy.String("absolute"),
        AbsoluteBegin: pointy.Int64(20000),
        AbsoluteEnd: pointy.Int64(30000),
        RelativeTriggerName: pointy.String("trigger-0001"),
        RepeatSetting: &schedule.RepeatSetting{
            BeginDayOfMonth: pointy.Int32(1),
            EndDayOfMonth: pointy.Int32(2),
            BeginDayOfWeek: pointy.String("monday"),
            EndDayOfWeek: pointy.String("sunday"),
            BeginHour: pointy.Int32(5),
            EndHour: pointy.Int32(6),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\UpdateEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->updateEventMaster(
        (new UpdateEventMasterRequest())
            ->withNamespaceName("namespace-0001")
            ->withEventName("event-0001")
            ->withDescription("description1")
            ->withMetadata("{\"hoge\": \"fuga\"}")
            ->withScheduleType("absolute")
            ->withAbsoluteBegin(20000)
            ->withAbsoluteEnd(30000)
            ->withRelativeTriggerName("trigger-0001")
            ->withRepeatSetting((new \Gs2\Schedule\Model\RepeatSetting())
                ->withBeginDayOfMonth(1)
                ->withEndDayOfMonth(2)
                ->withBeginDayOfWeek("monday")
                ->withEndDayOfWeek("sunday")
                ->withBeginHour(5)
                ->withEndHour(6))
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.UpdateEventMasterRequest;
import io.gs2.schedule.result.UpdateEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    UpdateEventMasterResult result = client.updateEventMaster(
        new UpdateEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
            .withDescription("description1")
            .withMetadata("{\"hoge\": \"fuga\"}")
            .withScheduleType("absolute")
            .withAbsoluteBegin(20000L)
            .withAbsoluteEnd(30000L)
            .withRelativeTriggerName("trigger-0001")
            .withRepeatSetting(new io.gs2.schedule.model.RepeatSetting()
                .withBeginDayOfMonth(1)
                .withEndDayOfMonth(2)
                .withBeginDayOfWeek("monday")
                .withEndDayOfWeek("sunday")
                .withBeginHour(5)
                .withEndHour(6))
    );
    EventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.UpdateEventMasterResult> asyncResult = null;
yield return client.UpdateEventMaster(
    new Gs2.Gs2Schedule.Request.UpdateEventMasterRequest()
        .WithNamespaceName("namespace-0001")
        .WithEventName("event-0001")
        .WithDescription("description1")
        .WithMetadata("{\"hoge\": \"fuga\"}")
        .WithScheduleType("absolute")
        .WithAbsoluteBegin(20000L)
        .WithAbsoluteEnd(30000L)
        .WithRelativeTriggerName("trigger-0001")
        .WithRepeatSetting(new Gs2.Gs2Schedule.Model.RepeatSetting()
            .WithBeginDayOfMonth(1)
            .WithEndDayOfMonth(2)
            .WithBeginDayOfWeek("monday")
            .WithEndDayOfWeek("sunday")
            .WithBeginHour(5)
            .WithEndHour(6)),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.updateEventMaster(
        new Gs2Schedule.UpdateEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
            .withDescription("description1")
            .withMetadata("{\"hoge\": \"fuga\"}")
            .withScheduleType("absolute")
            .withAbsoluteBegin(20000)
            .withAbsoluteEnd(30000)
            .withRelativeTriggerName("trigger-0001")
            .withRepeatSetting(new Gs2Schedule.model.RepeatSetting()
                .withBeginDayOfMonth(1)
                .withEndDayOfMonth(2)
                .withBeginDayOfWeek("monday")
                .withEndDayOfWeek("sunday")
                .withBeginHour(5)
                .withEndHour(6))
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.update_event_master(
        schedule.UpdateEventMasterRequest()
            .with_namespace_name('namespace-0001')
            .with_event_name('event-0001')
            .with_description('description1')
            .with_metadata('{"hoge": "fuga"}')
            .with_schedule_type('absolute')
            .with_absolute_begin(20000)
            .with_absolute_end(30000)
            .with_relative_trigger_name('trigger-0001')
            .with_repeat_setting(
                schedule.RepeatSetting()
                    .with_begin_day_of_month(1)
                    .with_end_day_of_month(2)
                    .with_begin_day_of_week('monday')
                    .with_end_day_of_week('sunday')
                    .with_begin_hour(5)
                    .with_end_hour(6))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.update_event_master({
    namespaceName="namespace-0001",
    eventName="event-0001",
    description="description1",
    metadata="{\"hoge\": \"fuga\"}",
    scheduleType="absolute",
    absoluteBegin=20000,
    absoluteEnd=30000,
    relativeTriggerName="trigger-0001",
    repeatSetting={
        beginDayOfMonth=1,
        endDayOfMonth=2,
        beginDayOfWeek="monday",
        endDayOfWeek="sunday",
        beginHour=5,
        endHour=6,
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.update_event_master_async({
    namespaceName="namespace-0001",
    eventName="event-0001",
    description="description1",
    metadata="{\"hoge\": \"fuga\"}",
    scheduleType="absolute",
    absoluteBegin=20000,
    absoluteEnd=30000,
    relativeTriggerName="trigger-0001",
    repeatSetting={
        beginDayOfMonth=1,
        endDayOfMonth=2,
        beginDayOfWeek="monday",
        endDayOfWeek="sunday",
        beginHour=5,
        endHour=6,
    },
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

deleteEventMaster

イベントマスターを削除

指定されたイベントマスターを削除します。これはマスター定義のみを削除するもので、現在アクティブなイベントマスターデータは次回のマスターデータ更新まで影響を受けません。

詳細

Request

有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
eventName string
~ 128文字 イベント名
イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。

Result

説明
item EventMaster 削除したイベントマスター

実装例

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DeleteEventMaster(
    &schedule.DeleteEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
        EventName: pointy.String("event-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DeleteEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->deleteEventMaster(
        (new DeleteEventMasterRequest())
            ->withNamespaceName("namespace-0001")
            ->withEventName("event-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DeleteEventMasterRequest;
import io.gs2.schedule.result.DeleteEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DeleteEventMasterResult result = client.deleteEventMaster(
        new DeleteEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
    );
    EventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DeleteEventMasterResult> asyncResult = null;
yield return client.DeleteEventMaster(
    new Gs2.Gs2Schedule.Request.DeleteEventMasterRequest()
        .WithNamespaceName("namespace-0001")
        .WithEventName("event-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.deleteEventMaster(
        new Gs2Schedule.DeleteEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.delete_event_master(
        schedule.DeleteEventMasterRequest()
            .with_namespace_name('namespace-0001')
            .with_event_name('event-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.delete_event_master({
    namespaceName="namespace-0001",
    eventName="event-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.delete_event_master_async({
    namespaceName="namespace-0001",
    eventName="event-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;