Documentation index for AI agents

GS2-StateMachine トランザクションアクション

検証/消費/入手の各トランザクションアクションの仕様

アクションの組み合わせと同時実行

すべてのサービスに共通する前提は トランザクションアクションの組み合わせ にまとめています。先にそちらを読んでください。この節の残りは GS2-StateMachine 固有の内容です。

GS2-StateMachine がトランザクションに指定できるアクションは 1 つです。ステートマシンの開始は毎回新しいステータスを作るので、対象を奪い合うことがありません。

操作同じ行を重ねたとき入れ子越し別の対象になる境界
ステートマシンの開始
StartStateMachineByUserId
それぞれが自分のステートマシンを開始する。衝突しない衝突しない開始のたびに別の対象

進行中のステートマシンの各ステップもそれぞれ独立したトランザクションなので、開始したトランザクションと統合されることはありません。ステートマシンがステップの中で何をするかは、触るサービスの制限を受けます。

入れ子になったトランザクションに注意

ステートマシンの開始はこの影響を受けません。開始のたびに自分のステータスを作るためです。その後のステップも別のトランザクションなので、開始したトランザクションと統合されることはありません。

同時実行とリトライ

ステートマシンを同時に開始しても、GS2-StateMachine 自身がコンフリクトを返すことはありません。ステップが衝突するかどうかは、そこで何を書き込むかによって決まり、リトライの指針もそのサービスのものが当てはまります。


Acquire Action

入手アクション

Gs2StateMachine:StartStateMachineByUserId

ユーザーIDを指定してステートマシンを開始

最新のマスターバージョンを使用して、指定したユーザーの新しいステートマシンインスタンスを開始します。引数はJSONとして渡され、ステートマシン変数にパースされます。オプションのTTL(分単位)を設定できます。省略した場合、ステートマシンは約10年間有効です。

数量指定可能なアクション:いいえ

反転可能なアクション:いいえ

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
argsstring“{}”~ 4096文字ステートマシンに渡す引数
ttlint1 ~ 525600有効期間(分)
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2StateMachine:StartStateMachineByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "args": "[string]ステートマシンに渡す引数",
        "ttl": "[int]有効期間(分)",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2StateMachine:StartStateMachineByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  args: "[string]ステートマシンに渡す引数"
  ttl: "[int]有効期間(分)"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stateMachine").acquire.start_state_machine_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    args="[string]ステートマシンに渡す引数",
    ttl="[int]有効期間(分)",
    timeOffsetToken="[string]タイムオフセットトークン",
})