GS2-StateMachine SDK API リファレンス
モデル
Namespace
ネームスペース
ネームスペースは一つのプロジェクトで同じサービスを異なる用途で複数利用できるようにするための仕組みです。
GS2 のサービスは基本的にネームスペースというレイヤーがあり、ネームスペースが異なれば同じサービスでもまったく別のデータ空間として取り扱われます。
そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceId | string | | ✓ | | ~ 1024文字 | ネームスペースGRN |
name | string | | ✓ | | ~ 32文字 | ネームスペース名 |
description | string | | | | ~ 1024文字 | 説明文 |
startScript | ScriptSetting | | | | | ステートマシンを起動した時に実行するスクリプト |
passScript | ScriptSetting | | | | | ステートマシンが正常終了した時に実行するスクリプト |
errorScript | ScriptSetting | | | | | ステートマシンが異常終了した時に実行するスクリプト |
lowestStateMachineVersion | long | | | | | ステートマシンの最低バージョン |
logSetting | LogSetting | | | | | ログの出力設定 |
createdAt | long | | ✓ | | | 作成日時 |
updatedAt | long | | ✓ | | | 最終更新日時 |
revision | long | | | 0 | ~ 9223372036854775805 | リビジョン |
StateMachineMaster
ステートマシン定義
GSLで記述されたステートマシンを管理します。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
stateMachineId | string | | ✓ | | ~ 1024文字 | ステートマシンマスターGRN |
mainStateMachineName | string | | ✓ | | ~ 128文字 | メインステートマシン名 |
payload | string | | ✓ | | ~ 5242880文字 | ステートマシン定義 |
version | long | | ✓ | | | バージョン |
createdAt | long | | ✓ | | | 作成日時 |
updatedAt | long | | ✓ | | | 最終更新日時 |
revision | long | | | 0 | ~ 9223372036854775805 | リビジョン |
Status
ステートマシンの状態
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
statusId | string | | ✓ | | ~ 1024文字 | ステートマシンの状態GRN |
userId | string | | ✓ | | ~ 128文字 | ユーザーID |
name | string | | ✓ | UUID | ~ 36文字 | ステータス名 |
stateMachineVersion | long | | ✓ | | | ステートマシンのバージョン |
stacks | List<StackEntry> | | | | | スタック |
variables | List<Variable> | | | | | ステートマシンごとの状態変数 |
status | enum [‘Running’, ‘Wait’, ‘Pass’, ‘Error’] | | ✓ | “Running” | ~ 128文字 | ステータス |
lastError | string | | | | ~ 1024文字 | 最後のエラー |
transitionCount | int | | ✓ | 0 | ~ 2147483645 | 遷移回数 |
createdAt | long | | ✓ | | | 作成日時 |
updatedAt | long | | ✓ | | | 最終更新日時 |
StackEntry
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
stateMachineName | string | | ✓ | | ~ 128文字 | ステートマシン名 |
taskName | string | | ✓ | | ~ 128文字 | タスク名 |
Variable
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
stateMachineName | string | | ✓ | | ~ 128文字 | ステートマシン名 |
value | string | | ✓ | | ~ 1048576文字 | 値 |
LogSetting
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
loggingNamespaceId | string | | ✓ | | ~ 1024文字 | ネームスペースGRN |
ScriptSetting
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
triggerScriptId | string | | | | ~ 1024文字 | スクリプトGRN |
doneTriggerTargetType | enum [’none’, ‘gs2_script’, ‘aws’] | | ✓ | “none” | ~ 128文字 | 完了通知の通知先 |
doneTriggerScriptId | string | {doneTriggerTargetType} == “gs2_script” | | | ~ 1024文字 | スクリプトGRN |
doneTriggerQueueNamespaceId | string | {doneTriggerTargetType} == “gs2_script” | | | ~ 1024文字 | ネームスペースGRN |
メソッド
describeNamespaces
ネームスペースの一覧を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
pageToken | string | | | | ~ 1024文字 | データの取得を開始する位置を指定するトークン |
limit | int | | ✓ | 30 | 1 ~ 1000 | データの取得件数 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.DescribeNamespaces(
&state_machine.DescribeNamespacesRequest {
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\DescribeNamespacesRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->describeNamespaces(
(new DescribeNamespacesRequest())
->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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.DescribeNamespacesRequest;
import io.gs2.stateMachine.result.DescribeNamespacesResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
DescribeNamespacesResult result = client.describeNamespaces(
new DescribeNamespacesRequest()
.withPageToken(null)
.withLimit(null)
);
List<Namespace> items = result.getItems();
String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.DescribeNamespacesRequest;
using Gs2.Gs2StateMachine.Result.DescribeNamespacesResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.DescribeNamespacesResult> asyncResult = null;
yield return client.DescribeNamespaces(
new Gs2.Gs2StateMachine.Request.DescribeNamespacesRequest()
.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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.describeNamespaces(
new Gs2StateMachine.DescribeNamespacesRequest()
.withPageToken(null)
.withLimit(null)
);
const items = result.getItems();
const nextPageToken = result.getNextPageToken();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.describe_namespaces(
state_machine.DescribeNamespacesRequest()
.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('stateMachine')
api_result = client.describe_namespaces({
pageToken=nil,
limit=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;
createNamespace
ネームスペースを新規作成
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
name | string | | ✓ | | ~ 32文字 | ネームスペース名 |
description | string | | | | ~ 1024文字 | 説明文 |
startScript | ScriptSetting | | | | | ステートマシンを起動した時に実行するスクリプト |
passScript | ScriptSetting | | | | | ステートマシンが正常終了した時に実行するスクリプト |
errorScript | ScriptSetting | | | | | ステートマシンが異常終了した時に実行するスクリプト |
lowestStateMachineVersion | long | | | | | ステートマシンの最低バージョン |
logSetting | LogSetting | | | | | ログの出力設定 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.CreateNamespace(
&state_machine.CreateNamespaceRequest {
Name: pointy.String("namespace1"),
Description: nil,
StartScript: nil,
PassScript: nil,
ErrorScript: nil,
LowestStateMachineVersion: nil,
LogSetting: &stateMachine.LogSetting{
LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1"),
},
}
)
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\CreateNamespaceRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->createNamespace(
(new CreateNamespaceRequest())
->withName(self::namespace1)
->withDescription(null)
->withStartScript(null)
->withPassScript(null)
->withErrorScript(null)
->withLowestStateMachineVersion(null)
->withLogSetting((new \Gs2\StateMachine\Model\LogSetting())
->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:\namespace1"))
);
$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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.CreateNamespaceRequest;
import io.gs2.stateMachine.result.CreateNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
CreateNamespaceResult result = client.createNamespace(
new CreateNamespaceRequest()
.withName("namespace1")
.withDescription(null)
.withStartScript(null)
.withPassScript(null)
.withErrorScript(null)
.withLowestStateMachineVersion(null)
.withLogSetting(new io.gs2.stateMachine.model.LogSetting()
.withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1"))
);
Namespace item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.CreateNamespaceRequest;
using Gs2.Gs2StateMachine.Result.CreateNamespaceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.CreateNamespaceResult> asyncResult = null;
yield return client.CreateNamespace(
new Gs2.Gs2StateMachine.Request.CreateNamespaceRequest()
.WithName("namespace1")
.WithDescription(null)
.WithStartScript(null)
.WithPassScript(null)
.WithErrorScript(null)
.WithLowestStateMachineVersion(null)
.WithLogSetting(new Gs2.Gs2StateMachine.Model.LogSetting()
.WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1")),
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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.createNamespace(
new Gs2StateMachine.CreateNamespaceRequest()
.withName("namespace1")
.withDescription(null)
.withStartScript(null)
.withPassScript(null)
.withErrorScript(null)
.withLowestStateMachineVersion(null)
.withLogSetting(new Gs2StateMachine.model.LogSetting()
.withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1"))
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.create_namespace(
state_machine.CreateNamespaceRequest()
.with_name(self.hash1)
.with_description(None)
.with_start_script(None)
.with_pass_script(None)
.with_error_script(None)
.with_lowest_state_machine_version(None)
.with_log_setting(
state_machine.LogSetting()
.with_logging_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1'))
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.create_namespace({
name='namespace1',
description=nil,
startScript=nil,
passScript=nil,
errorScript=nil,
lowestStateMachineVersion=nil,
logSetting={
loggingNamespaceId='grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1',
},
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
getNamespaceStatus
ネームスペースの状態を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.GetNamespaceStatus(
&state_machine.GetNamespaceStatusRequest {
NamespaceName: pointy.String("namespace1"),
}
)
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\GetNamespaceStatusRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->getNamespaceStatus(
(new GetNamespaceStatusRequest())
->withNamespaceName(self::namespace1)
);
$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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.GetNamespaceStatusRequest;
import io.gs2.stateMachine.result.GetNamespaceStatusResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
GetNamespaceStatusResult result = client.getNamespaceStatus(
new GetNamespaceStatusRequest()
.withNamespaceName("namespace1")
);
String status = result.getStatus();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.GetNamespaceStatusRequest;
using Gs2.Gs2StateMachine.Result.GetNamespaceStatusResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.GetNamespaceStatusResult> asyncResult = null;
yield return client.GetNamespaceStatus(
new Gs2.Gs2StateMachine.Request.GetNamespaceStatusRequest()
.WithNamespaceName("namespace1"),
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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.getNamespaceStatus(
new Gs2StateMachine.GetNamespaceStatusRequest()
.withNamespaceName("namespace1")
);
const status = result.getStatus();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.get_namespace_status(
state_machine.GetNamespaceStatusRequest()
.with_namespace_name(self.hash1)
)
status = result.status
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.get_namespace_status({
namespaceName='namespace1',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
status = result.status;
getNamespace
ネームスペースを取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.GetNamespace(
&state_machine.GetNamespaceRequest {
NamespaceName: pointy.String("namespace1"),
}
)
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\GetNamespaceRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->getNamespace(
(new GetNamespaceRequest())
->withNamespaceName(self::namespace1)
);
$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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.GetNamespaceRequest;
import io.gs2.stateMachine.result.GetNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
GetNamespaceResult result = client.getNamespace(
new GetNamespaceRequest()
.withNamespaceName("namespace1")
);
Namespace item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.GetNamespaceRequest;
using Gs2.Gs2StateMachine.Result.GetNamespaceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.GetNamespaceResult> asyncResult = null;
yield return client.GetNamespace(
new Gs2.Gs2StateMachine.Request.GetNamespaceRequest()
.WithNamespaceName("namespace1"),
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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.getNamespace(
new Gs2StateMachine.GetNamespaceRequest()
.withNamespaceName("namespace1")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.get_namespace(
state_machine.GetNamespaceRequest()
.with_namespace_name(self.hash1)
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.get_namespace({
namespaceName='namespace1',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
updateNamespace
ネームスペースを更新
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
description | string | | | | ~ 1024文字 | 説明文 |
startScript | ScriptSetting | | | | | ステートマシンを起動した時に実行するスクリプト |
passScript | ScriptSetting | | | | | ステートマシンが正常終了した時に実行するスクリプト |
errorScript | ScriptSetting | | | | | ステートマシンが異常終了した時に実行するスクリプト |
lowestStateMachineVersion | long | | | | | ステートマシンの最低バージョン |
logSetting | LogSetting | | | | | ログの出力設定 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.UpdateNamespace(
&state_machine.UpdateNamespaceRequest {
NamespaceName: pointy.String("namespace1"),
Description: pointy.String("description1"),
StartScript: nil,
PassScript: nil,
ErrorScript: nil,
LowestStateMachineVersion: nil,
LogSetting: &stateMachine.LogSetting{
LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1"),
},
}
)
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\UpdateNamespaceRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->updateNamespace(
(new UpdateNamespaceRequest())
->withNamespaceName(self::namespace1)
->withDescription("description1")
->withStartScript(null)
->withPassScript(null)
->withErrorScript(null)
->withLowestStateMachineVersion(null)
->withLogSetting((new \Gs2\StateMachine\Model\LogSetting())
->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:\namespace1"))
);
$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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.UpdateNamespaceRequest;
import io.gs2.stateMachine.result.UpdateNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
UpdateNamespaceResult result = client.updateNamespace(
new UpdateNamespaceRequest()
.withNamespaceName("namespace1")
.withDescription("description1")
.withStartScript(null)
.withPassScript(null)
.withErrorScript(null)
.withLowestStateMachineVersion(null)
.withLogSetting(new io.gs2.stateMachine.model.LogSetting()
.withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1"))
);
Namespace item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.UpdateNamespaceRequest;
using Gs2.Gs2StateMachine.Result.UpdateNamespaceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.UpdateNamespaceResult> asyncResult = null;
yield return client.UpdateNamespace(
new Gs2.Gs2StateMachine.Request.UpdateNamespaceRequest()
.WithNamespaceName("namespace1")
.WithDescription("description1")
.WithStartScript(null)
.WithPassScript(null)
.WithErrorScript(null)
.WithLowestStateMachineVersion(null)
.WithLogSetting(new Gs2.Gs2StateMachine.Model.LogSetting()
.WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1")),
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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.updateNamespace(
new Gs2StateMachine.UpdateNamespaceRequest()
.withNamespaceName("namespace1")
.withDescription("description1")
.withStartScript(null)
.withPassScript(null)
.withErrorScript(null)
.withLowestStateMachineVersion(null)
.withLogSetting(new Gs2StateMachine.model.LogSetting()
.withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1"))
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.update_namespace(
state_machine.UpdateNamespaceRequest()
.with_namespace_name(self.hash1)
.with_description('description1')
.with_start_script(None)
.with_pass_script(None)
.with_error_script(None)
.with_lowest_state_machine_version(None)
.with_log_setting(
state_machine.LogSetting()
.with_logging_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1'))
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.update_namespace({
namespaceName='namespace1',
description='description1',
startScript=nil,
passScript=nil,
errorScript=nil,
lowestStateMachineVersion=nil,
logSetting={
loggingNamespaceId='grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1',
},
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
deleteNamespace
ネームスペースを削除
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.DeleteNamespace(
&state_machine.DeleteNamespaceRequest {
NamespaceName: pointy.String("namespace1"),
}
)
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\DeleteNamespaceRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->deleteNamespace(
(new DeleteNamespaceRequest())
->withNamespaceName(self::namespace1)
);
$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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.DeleteNamespaceRequest;
import io.gs2.stateMachine.result.DeleteNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
DeleteNamespaceResult result = client.deleteNamespace(
new DeleteNamespaceRequest()
.withNamespaceName("namespace1")
);
Namespace item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.DeleteNamespaceRequest;
using Gs2.Gs2StateMachine.Result.DeleteNamespaceResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.DeleteNamespaceResult> asyncResult = null;
yield return client.DeleteNamespace(
new Gs2.Gs2StateMachine.Request.DeleteNamespaceRequest()
.WithNamespaceName("namespace1"),
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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.deleteNamespace(
new Gs2StateMachine.DeleteNamespaceRequest()
.withNamespaceName("namespace1")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.delete_namespace(
state_machine.DeleteNamespaceRequest()
.with_namespace_name(self.hash1)
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.delete_namespace({
namespaceName='namespace1',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
describeStateMachineMasters
ステートマシンマスターの一覧を取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
pageToken | string | | | | ~ 1024文字 | データの取得を開始する位置を指定するトークン |
limit | int | | ✓ | 30 | 1 ~ 1000 | データの取得件数 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.DescribeStateMachineMasters(
&state_machine.DescribeStateMachineMastersRequest {
NamespaceName: pointy.String("namespace1"),
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\DescribeStateMachineMastersRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->describeStateMachineMasters(
(new DescribeStateMachineMastersRequest())
->withNamespaceName(self::namespace1)
->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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.DescribeStateMachineMastersRequest;
import io.gs2.stateMachine.result.DescribeStateMachineMastersResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
DescribeStateMachineMastersResult result = client.describeStateMachineMasters(
new DescribeStateMachineMastersRequest()
.withNamespaceName("namespace1")
.withPageToken(null)
.withLimit(null)
);
List<StateMachineMaster> items = result.getItems();
String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.DescribeStateMachineMastersRequest;
using Gs2.Gs2StateMachine.Result.DescribeStateMachineMastersResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.DescribeStateMachineMastersResult> asyncResult = null;
yield return client.DescribeStateMachineMasters(
new Gs2.Gs2StateMachine.Request.DescribeStateMachineMastersRequest()
.WithNamespaceName("namespace1")
.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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.describeStateMachineMasters(
new Gs2StateMachine.DescribeStateMachineMastersRequest()
.withNamespaceName("namespace1")
.withPageToken(null)
.withLimit(null)
);
const items = result.getItems();
const nextPageToken = result.getNextPageToken();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.describe_state_machine_masters(
state_machine.DescribeStateMachineMastersRequest()
.with_namespace_name(self.hash1)
.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('stateMachine')
api_result = client.describe_state_machine_masters({
namespaceName='namespace1',
pageToken=nil,
limit=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;
updateStateMachineMaster
ステートマシンマスターを新規作成
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
mainStateMachineName | string | | ✓ | | ~ 128文字 | メインステートマシン名 |
payload | string | | ✓ | | ~ 5242880文字 | ステートマシン定義 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.UpdateStateMachineMaster(
&state_machine.UpdateStateMachineMasterRequest {
NamespaceName: pointy.String("namespace1"),
MainStateMachineName: pointy.String("MainStateMachine"),
Payload: pointy.String("\nStateMachine MainStateMachine {\n EntryPoint Task1;\n\n Task Task1(int initCounter) {\n Event Pass();\n Event Error(string Reason);\n\n Script grn:gs2:ap-northeast-1:YourOwnerId:script:state-machine-0001:script:Task1\n }\n\n PassTask Pass;\n\n ErrorTask Error(string reason);\n\n Transition Task1 handling Pass -> Pass;\n Transition Task1 handling Error -> Error;\n}\n "),
}
)
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\UpdateStateMachineMasterRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->updateStateMachineMaster(
(new UpdateStateMachineMasterRequest())
->withNamespaceName(self::namespace1)
->withMainStateMachineName("MainStateMachine")
->withPayload("\nStateMachine MainStateMachine {\n EntryPoint Task1;\n\n Task Task1(int initCounter) {\n Event Pass();\n Event Error(string Reason);\n\n Script grn:gs2:ap-northeast-1:YourOwnerId:script:state-machine-0001:script:Task1\n }\n\n PassTask Pass;\n\n ErrorTask Error(string reason);\n\n Transition Task1 handling Pass -> Pass;\n Transition Task1 handling Error -> Error;\n}\n ")
);
$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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.UpdateStateMachineMasterRequest;
import io.gs2.stateMachine.result.UpdateStateMachineMasterResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
UpdateStateMachineMasterResult result = client.updateStateMachineMaster(
new UpdateStateMachineMasterRequest()
.withNamespaceName("namespace1")
.withMainStateMachineName("MainStateMachine")
.withPayload("\nStateMachine MainStateMachine {\n EntryPoint Task1;\n\n Task Task1(int initCounter) {\n Event Pass();\n Event Error(string Reason);\n\n Script grn:gs2:ap-northeast-1:YourOwnerId:script:state-machine-0001:script:Task1\n }\n\n PassTask Pass;\n\n ErrorTask Error(string reason);\n\n Transition Task1 handling Pass -> Pass;\n Transition Task1 handling Error -> Error;\n}\n ")
);
StateMachineMaster item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.UpdateStateMachineMasterRequest;
using Gs2.Gs2StateMachine.Result.UpdateStateMachineMasterResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.UpdateStateMachineMasterResult> asyncResult = null;
yield return client.UpdateStateMachineMaster(
new Gs2.Gs2StateMachine.Request.UpdateStateMachineMasterRequest()
.WithNamespaceName("namespace1")
.WithMainStateMachineName("MainStateMachine")
.WithPayload("\nStateMachine MainStateMachine {\n EntryPoint Task1;\n\n Task Task1(int initCounter) {\n Event Pass();\n Event Error(string Reason);\n\n Script grn:gs2:ap-northeast-1:YourOwnerId:script:state-machine-0001:script:Task1\n }\n\n PassTask Pass;\n\n ErrorTask Error(string reason);\n\n Transition Task1 handling Pass -> Pass;\n Transition Task1 handling Error -> Error;\n}\n "),
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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.updateStateMachineMaster(
new Gs2StateMachine.UpdateStateMachineMasterRequest()
.withNamespaceName("namespace1")
.withMainStateMachineName("MainStateMachine")
.withPayload("\nStateMachine MainStateMachine {\n EntryPoint Task1;\n\n Task Task1(int initCounter) {\n Event Pass();\n Event Error(string Reason);\n\n Script grn:gs2:ap-northeast-1:YourOwnerId:script:state-machine-0001:script:Task1\n }\n\n PassTask Pass;\n\n ErrorTask Error(string reason);\n\n Transition Task1 handling Pass -> Pass;\n Transition Task1 handling Error -> Error;\n}\n ")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.update_state_machine_master(
state_machine.UpdateStateMachineMasterRequest()
.with_namespace_name(self.hash1)
.with_main_state_machine_name('MainStateMachine')
.with_payload('\nStateMachine MainStateMachine {\n EntryPoint Task1;\n\n Task Task1(int initCounter) {\n Event Pass();\n Event Error(string Reason);\n\n Script grn:gs2:ap-northeast-1:YourOwnerId:script:state-machine-0001:script:Task1\n }\n\n PassTask Pass;\n\n ErrorTask Error(string reason);\n\n Transition Task1 handling Pass -> Pass;\n Transition Task1 handling Error -> Error;\n}\n ')
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.update_state_machine_master({
namespaceName='namespace1',
mainStateMachineName='MainStateMachine',
payload='\nStateMachine MainStateMachine {\n EntryPoint Task1;\n\n Task Task1(int initCounter) {\n Event Pass();\n Event Error(string Reason);\n\n Script grn:gs2:ap-northeast-1:YourOwnerId:script:state-machine-0001:script:Task1\n }\n\n PassTask Pass;\n\n ErrorTask Error(string reason);\n\n Transition Task1 handling Pass -> Pass;\n Transition Task1 handling Error -> Error;\n}\n ',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
getStateMachineMaster
ステートマシンマスターを取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
version | long | | ✓ | | | バージョン |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.GetStateMachineMaster(
&state_machine.GetStateMachineMasterRequest {
NamespaceName: pointy.String("namespace1"),
Version: pointy.Int64(1000),
}
)
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\GetStateMachineMasterRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->getStateMachineMaster(
(new GetStateMachineMasterRequest())
->withNamespaceName(self::namespace1)
->withVersion(1000)
);
$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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.GetStateMachineMasterRequest;
import io.gs2.stateMachine.result.GetStateMachineMasterResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
GetStateMachineMasterResult result = client.getStateMachineMaster(
new GetStateMachineMasterRequest()
.withNamespaceName("namespace1")
.withVersion(1000L)
);
StateMachineMaster item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.GetStateMachineMasterRequest;
using Gs2.Gs2StateMachine.Result.GetStateMachineMasterResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.GetStateMachineMasterResult> asyncResult = null;
yield return client.GetStateMachineMaster(
new Gs2.Gs2StateMachine.Request.GetStateMachineMasterRequest()
.WithNamespaceName("namespace1")
.WithVersion(1000L),
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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.getStateMachineMaster(
new Gs2StateMachine.GetStateMachineMasterRequest()
.withNamespaceName("namespace1")
.withVersion(1000)
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.get_state_machine_master(
state_machine.GetStateMachineMasterRequest()
.with_namespace_name(self.hash1)
.with_version(1000)
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.get_state_machine_master({
namespaceName='namespace1',
version=1000,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
deleteStateMachineMaster
ステートマシンマスターを削除
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
version | long | | ✓ | | | バージョン |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.DeleteStateMachineMaster(
&state_machine.DeleteStateMachineMasterRequest {
NamespaceName: pointy.String("namespace1"),
Version: pointy.Int64(1000),
}
)
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\DeleteStateMachineMasterRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->deleteStateMachineMaster(
(new DeleteStateMachineMasterRequest())
->withNamespaceName(self::namespace1)
->withVersion(1000)
);
$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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.DeleteStateMachineMasterRequest;
import io.gs2.stateMachine.result.DeleteStateMachineMasterResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
DeleteStateMachineMasterResult result = client.deleteStateMachineMaster(
new DeleteStateMachineMasterRequest()
.withNamespaceName("namespace1")
.withVersion(1000L)
);
StateMachineMaster item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.DeleteStateMachineMasterRequest;
using Gs2.Gs2StateMachine.Result.DeleteStateMachineMasterResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.DeleteStateMachineMasterResult> asyncResult = null;
yield return client.DeleteStateMachineMaster(
new Gs2.Gs2StateMachine.Request.DeleteStateMachineMasterRequest()
.WithNamespaceName("namespace1")
.WithVersion(1000L),
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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.deleteStateMachineMaster(
new Gs2StateMachine.DeleteStateMachineMasterRequest()
.withNamespaceName("namespace1")
.withVersion(1000)
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.delete_state_machine_master(
state_machine.DeleteStateMachineMasterRequest()
.with_namespace_name(self.hash1)
.with_version(1000)
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.delete_state_machine_master({
namespaceName='namespace1',
version=1000,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
describeStatuses
ステートマシンの状態のリストを取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
accessToken | string | | ✓ | | ~ 128文字 | ユーザーID |
status | enum [‘Running’, ‘Wait’, ‘Pass’, ‘Error’] | | | | ~ 128文字 | ステータス |
pageToken | string | | | | ~ 1024文字 | データの取得を開始する位置を指定するトークン |
limit | int | | ✓ | 30 | 1 ~ 1000 | データの取得件数 |
Result
| 型 | 説明 |
---|
items | List<Status> | ステートマシンの状態のリスト |
nextPageToken | string | リストの続きを取得するためのページトークン |
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.DescribeStatuses(
&state_machine.DescribeStatusesRequest {
NamespaceName: pointy.String("namespace1"),
AccessToken: pointy.String("$access_token_0001"),
Status: pointy.String("Running"),
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\DescribeStatusesRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->describeStatuses(
(new DescribeStatusesRequest())
->withNamespaceName(self::namespace1)
->withAccessToken(self::$accessToken0001)
->withStatus("Running")
->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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.DescribeStatusesRequest;
import io.gs2.stateMachine.result.DescribeStatusesResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
DescribeStatusesResult result = client.describeStatuses(
new DescribeStatusesRequest()
.withNamespaceName("namespace1")
.withAccessToken("$access_token_0001")
.withStatus("Running")
.withPageToken(null)
.withLimit(null)
);
List<Status> items = result.getItems();
String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.DescribeStatusesRequest;
using Gs2.Gs2StateMachine.Result.DescribeStatusesResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.DescribeStatusesResult> asyncResult = null;
yield return client.DescribeStatuses(
new Gs2.Gs2StateMachine.Request.DescribeStatusesRequest()
.WithNamespaceName("namespace1")
.WithAccessToken("$access_token_0001")
.WithStatus("Running")
.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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.describeStatuses(
new Gs2StateMachine.DescribeStatusesRequest()
.withNamespaceName("namespace1")
.withAccessToken("$access_token_0001")
.withStatus("Running")
.withPageToken(null)
.withLimit(null)
);
const items = result.getItems();
const nextPageToken = result.getNextPageToken();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.describe_statuses(
state_machine.DescribeStatusesRequest()
.with_namespace_name(self.hash1)
.with_access_token(self.access_token_0001)
.with_status('Running')
.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('stateMachine')
api_result = client.describe_statuses({
namespaceName='namespace1',
accessToken='$access_token_0001',
status='Running',
pageToken=nil,
limit=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;
describeStatusesByUserId
ユーザーIDを指定してステートマシンの状態のリストを取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
userId | string | | ✓ | | ~ 128文字 | ユーザーID |
status | enum [‘Running’, ‘Wait’, ‘Pass’, ‘Error’] | | | | ~ 128文字 | ステータス |
pageToken | string | | | | ~ 1024文字 | データの取得を開始する位置を指定するトークン |
limit | int | | ✓ | 30 | 1 ~ 1000 | データの取得件数 |
Result
| 型 | 説明 |
---|
items | List<Status> | ステートマシンの状態のリスト |
nextPageToken | string | リストの続きを取得するためのページトークン |
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.DescribeStatusesByUserId(
&state_machine.DescribeStatusesByUserIdRequest {
NamespaceName: pointy.String("namespace1"),
UserId: pointy.String("user-0001"),
Status: 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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\DescribeStatusesByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->describeStatusesByUserId(
(new DescribeStatusesByUserIdRequest())
->withNamespaceName(self::namespace1)
->withUserId("user-0001")
->withStatus(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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.DescribeStatusesByUserIdRequest;
import io.gs2.stateMachine.result.DescribeStatusesByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
DescribeStatusesByUserIdResult result = client.describeStatusesByUserId(
new DescribeStatusesByUserIdRequest()
.withNamespaceName("namespace1")
.withUserId("user-0001")
.withStatus(null)
.withPageToken(null)
.withLimit(null)
);
List<Status> items = result.getItems();
String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.DescribeStatusesByUserIdRequest;
using Gs2.Gs2StateMachine.Result.DescribeStatusesByUserIdResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.DescribeStatusesByUserIdResult> asyncResult = null;
yield return client.DescribeStatusesByUserId(
new Gs2.Gs2StateMachine.Request.DescribeStatusesByUserIdRequest()
.WithNamespaceName("namespace1")
.WithUserId("user-0001")
.WithStatus(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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.describeStatusesByUserId(
new Gs2StateMachine.DescribeStatusesByUserIdRequest()
.withNamespaceName("namespace1")
.withUserId("user-0001")
.withStatus(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 state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.describe_statuses_by_user_id(
state_machine.DescribeStatusesByUserIdRequest()
.with_namespace_name(self.hash1)
.with_user_id('user-0001')
.with_status(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('stateMachine')
api_result = client.describe_statuses_by_user_id({
namespaceName='namespace1',
userId='user-0001',
status=nil,
pageToken=nil,
limit=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;
getStatus
ステートマシンを取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
accessToken | string | | ✓ | | ~ 128文字 | ユーザーID |
statusName | string | | ✓ | | ~ 36文字 | ステータス名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.GetStatus(
&state_machine.GetStatusRequest {
NamespaceName: pointy.String("namespace1"),
AccessToken: pointy.String("$access_token_0001"),
StatusName: pointy.String("$status1.name"),
}
)
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\GetStatusRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->getStatus(
(new GetStatusRequest())
->withNamespaceName(self::namespace1)
->withAccessToken(self::$accessToken0001)
->withStatusName(self::$status1.name)
);
$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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.GetStatusRequest;
import io.gs2.stateMachine.result.GetStatusResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
GetStatusResult result = client.getStatus(
new GetStatusRequest()
.withNamespaceName("namespace1")
.withAccessToken("$access_token_0001")
.withStatusName("$status1.name")
);
Status item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.GetStatusRequest;
using Gs2.Gs2StateMachine.Result.GetStatusResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.GetStatusResult> asyncResult = null;
yield return client.GetStatus(
new Gs2.Gs2StateMachine.Request.GetStatusRequest()
.WithNamespaceName("namespace1")
.WithAccessToken("$access_token_0001")
.WithStatusName("$status1.name"),
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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.getStatus(
new Gs2StateMachine.GetStatusRequest()
.withNamespaceName("namespace1")
.withAccessToken("$access_token_0001")
.withStatusName("$status1.name")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.get_status(
state_machine.GetStatusRequest()
.with_namespace_name(self.hash1)
.with_access_token(self.access_token_0001)
.with_status_name(self.status1.name)
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.get_status({
namespaceName='namespace1',
accessToken='$access_token_0001',
statusName='$status1.name',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
getStatusByUserId
ユーザIDを指定してステートマシンを取得
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
userId | string | | ✓ | | ~ 128文字 | ユーザーID |
statusName | string | | ✓ | | ~ 36文字 | ステータス名 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.GetStatusByUserId(
&state_machine.GetStatusByUserIdRequest {
NamespaceName: pointy.String("namespace1"),
UserId: pointy.String("user-0001"),
StatusName: pointy.String("status-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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\GetStatusByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->getStatusByUserId(
(new GetStatusByUserIdRequest())
->withNamespaceName(self::namespace1)
->withUserId("user-0001")
->withStatusName("status-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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.GetStatusByUserIdRequest;
import io.gs2.stateMachine.result.GetStatusByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
GetStatusByUserIdResult result = client.getStatusByUserId(
new GetStatusByUserIdRequest()
.withNamespaceName("namespace1")
.withUserId("user-0001")
.withStatusName("status-0001")
);
Status item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.GetStatusByUserIdRequest;
using Gs2.Gs2StateMachine.Result.GetStatusByUserIdResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.GetStatusByUserIdResult> asyncResult = null;
yield return client.GetStatusByUserId(
new Gs2.Gs2StateMachine.Request.GetStatusByUserIdRequest()
.WithNamespaceName("namespace1")
.WithUserId("user-0001")
.WithStatusName("status-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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.getStatusByUserId(
new Gs2StateMachine.GetStatusByUserIdRequest()
.withNamespaceName("namespace1")
.withUserId("user-0001")
.withStatusName("status-0001")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.get_status_by_user_id(
state_machine.GetStatusByUserIdRequest()
.with_namespace_name(self.hash1)
.with_user_id('user-0001')
.with_status_name('status-0001')
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.get_status_by_user_id({
namespaceName='namespace1',
userId='user-0001',
statusName='status-0001',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
startStateMachineByUserId
ユーザIDを指定してステートマシンを開始
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
userId | string | | ✓ | | ~ 128文字 | ユーザーID |
args | string | | ✓ | “{}” | ~ 4096文字 | ステートマシンに渡す引数 |
ttl | int | | | | 1 ~ 525600 | 有効期間(分) |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.StartStateMachineByUserId(
&state_machine.StartStateMachineByUserIdRequest {
NamespaceName: pointy.String("namespace1"),
UserId: pointy.String("user-0001"),
Args: nil,
Ttl: 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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\StartStateMachineByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->startStateMachineByUserId(
(new StartStateMachineByUserIdRequest())
->withNamespaceName(self::namespace1)
->withUserId("user-0001")
->withArgs(null)
->withTtl(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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.StartStateMachineByUserIdRequest;
import io.gs2.stateMachine.result.StartStateMachineByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
StartStateMachineByUserIdResult result = client.startStateMachineByUserId(
new StartStateMachineByUserIdRequest()
.withNamespaceName("namespace1")
.withUserId("user-0001")
.withArgs(null)
.withTtl(null)
);
Status item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.StartStateMachineByUserIdRequest;
using Gs2.Gs2StateMachine.Result.StartStateMachineByUserIdResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.StartStateMachineByUserIdResult> asyncResult = null;
yield return client.StartStateMachineByUserId(
new Gs2.Gs2StateMachine.Request.StartStateMachineByUserIdRequest()
.WithNamespaceName("namespace1")
.WithUserId("user-0001")
.WithArgs(null)
.WithTtl(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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.startStateMachineByUserId(
new Gs2StateMachine.StartStateMachineByUserIdRequest()
.withNamespaceName("namespace1")
.withUserId("user-0001")
.withArgs(null)
.withTtl(null)
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.start_state_machine_by_user_id(
state_machine.StartStateMachineByUserIdRequest()
.with_namespace_name(self.hash1)
.with_user_id('user-0001')
.with_args(None)
.with_ttl(None)
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.start_state_machine_by_user_id({
namespaceName='namespace1',
userId='user-0001',
args=nil,
ttl=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
startStateMachineByStampSheet
スタンプシートを使用してステートマシンを開始
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
stampSheet | string | | ✓ | | ~ 5242880文字 | スタンプシート |
keyId | string | | ✓ | | ~ 1024文字 | 暗号鍵GRN |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.StartStateMachineByStampSheet(
&state_machine.StartStateMachineByStampSheetRequest {
StampSheet: pointy.String("$stampSheet"),
KeyId: pointy.String("$key1.keyId"),
}
)
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\StartStateMachineByStampSheetRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->startStateMachineByStampSheet(
(new StartStateMachineByStampSheetRequest())
->withStampSheet(self::$stampSheet)
->withKeyId(self::$key1.keyId)
);
$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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.StartStateMachineByStampSheetRequest;
import io.gs2.stateMachine.result.StartStateMachineByStampSheetResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
StartStateMachineByStampSheetResult result = client.startStateMachineByStampSheet(
new StartStateMachineByStampSheetRequest()
.withStampSheet("$stampSheet")
.withKeyId("$key1.keyId")
);
Status item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.StartStateMachineByStampSheetRequest;
using Gs2.Gs2StateMachine.Result.StartStateMachineByStampSheetResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.StartStateMachineByStampSheetResult> asyncResult = null;
yield return client.StartStateMachineByStampSheet(
new Gs2.Gs2StateMachine.Request.StartStateMachineByStampSheetRequest()
.WithStampSheet("$stampSheet")
.WithKeyId("$key1.keyId"),
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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.startStateMachineByStampSheet(
new Gs2StateMachine.StartStateMachineByStampSheetRequest()
.withStampSheet("$stampSheet")
.withKeyId("$key1.keyId")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.start_state_machine_by_stamp_sheet(
state_machine.StartStateMachineByStampSheetRequest()
.with_stamp_sheet(self.stamp_sheet)
.with_key_id(self.key1.key_id)
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.start_state_machine_by_stamp_sheet({
stampSheet='$stampSheet',
keyId='$key1.keyId',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
emit
ステートマシンにメッセージを送信
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
accessToken | string | | ✓ | | ~ 128文字 | ユーザーID |
statusName | string | | ✓ | | ~ 36文字 | ステータス名 |
eventName | string | | ✓ | | ~ 36文字 | イベントの名前 |
args | string | | ✓ | “{}” | ~ 4096文字 | ステートマシンに渡す引数 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.Emit(
&state_machine.EmitRequest {
NamespaceName: pointy.String("namespace1"),
AccessToken: pointy.String("$access_token_0001"),
StatusName: pointy.String("$status1.name"),
EventName: pointy.String("event-0001"),
Args: pointy.String("{\"value1\": \"value1\", \"value2\": 2.0, \"value3\": 3}"),
}
)
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\EmitRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->emit(
(new EmitRequest())
->withNamespaceName(self::namespace1)
->withAccessToken(self::$accessToken0001)
->withStatusName(self::$status1.name)
->withEventName("event-0001")
->withArgs("{\"value1\": \"value1\", \"value2\": 2.0, \"value3\": 3}")
);
$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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.EmitRequest;
import io.gs2.stateMachine.result.EmitResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
EmitResult result = client.emit(
new EmitRequest()
.withNamespaceName("namespace1")
.withAccessToken("$access_token_0001")
.withStatusName("$status1.name")
.withEventName("event-0001")
.withArgs("{\"value1\": \"value1\", \"value2\": 2.0, \"value3\": 3}")
);
Status item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.EmitRequest;
using Gs2.Gs2StateMachine.Result.EmitResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.EmitResult> asyncResult = null;
yield return client.Emit(
new Gs2.Gs2StateMachine.Request.EmitRequest()
.WithNamespaceName("namespace1")
.WithAccessToken("$access_token_0001")
.WithStatusName("$status1.name")
.WithEventName("event-0001")
.WithArgs("{\"value1\": \"value1\", \"value2\": 2.0, \"value3\": 3}"),
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 Gs2StateMachine from '@/gs2/stateMachine';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2StateMachine.Gs2StateMachineRestClient(session);
try {
const result = await client.emit(
new Gs2StateMachine.EmitRequest()
.withNamespaceName("namespace1")
.withAccessToken("$access_token_0001")
.withStatusName("$status1.name")
.withEventName("event-0001")
.withArgs("{\"value1\": \"value1\", \"value2\": 2.0, \"value3\": 3}")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}
from gs2 import core
from gs2 import state_machine
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = state_machine.Gs2StateMachineRestClient(session)
try:
result = client.emit(
state_machine.EmitRequest()
.with_namespace_name(self.hash1)
.with_access_token(self.access_token_0001)
.with_status_name(self.status1.name)
.with_event_name('event-0001')
.with_args('{"value1": "value1", "value2": 2.0, "value3": 3}')
)
item = result.item
except core.Gs2Exception as e:
exit(1)
client = gs2('stateMachine')
api_result = client.emit({
namespaceName='namespace1',
accessToken='$access_token_0001',
statusName='$status1.name',
eventName='event-0001',
args='{"value1": "value1", "value2": 2.0, "value3": 3}',
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['message'])
end
result = api_result.result
item = result.item;
emitByUserId
ユーザIDを指定してステートマシンにメッセージを送信
Request
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | | ✓ | | ~ 32文字 | ネームスペース名 |
userId | string | | ✓ | | ~ 128文字 | ユーザーID |
statusName | string | | ✓ | | ~ 36文字 | ステータス名 |
eventName | string | | ✓ | | ~ 36文字 | イベントの名前 |
args | string | | ✓ | “{}” | ~ 4096文字 | ステートマシンに渡す引数 |
Result
実装例
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/state_machine"
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 := state_machine.Gs2StateMachineRestClient{
Session: &session,
}
result, err := client.EmitByUserId(
&state_machine.EmitByUserIdRequest {
NamespaceName: pointy.String("namespace1"),
UserId: pointy.String("user-0001"),
StatusName: pointy.String("status-0001"),
EventName: pointy.String("event-0001"),
Args: pointy.String("{\"value1\": \"value1\", \"value2\": 2.0, \"value3\": 3}"),
}
)
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\StateMachine\Gs2StateMachineRestClient;
use Gs2\StateMachine\Request\EmitByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2AccountRestClient(
$session
);
try {
$result = $client->emitByUserId(
(new EmitByUserIdRequest())
->withNamespaceName(self::namespace1)
->withUserId("user-0001")
->withStatusName("status-0001")
->withEventName("event-0001")
->withArgs("{\"value1\": \"value1\", \"value2\": 2.0, \"value3\": 3}")
);
$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.stateMachine.rest.Gs2StateMachineRestClient;
import io.gs2.stateMachine.request.EmitByUserIdRequest;
import io.gs2.stateMachine.result.EmitByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
'your client id',
'your client secret'
)
);
session.connect();
Gs2StateMachineRestClient client = new Gs2StateMachineRestClient(session);
try {
EmitByUserIdResult result = client.emitByUserId(
new EmitByUserIdRequest()
.withNamespaceName("namespace1")
.withUserId("user-0001")
.withStatusName("status-0001")
.withEventName("event-0001")
.withArgs("{\"value1\": \"value1\", \"value2\": 2.0, \"value3\": 3}")
);
Status item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}
using Gs2.Core.Model.Region;
using Gs2.Core.Model.BasicGs2Credential;
using Gs2.Core.Net.Gs2RestSession;
using Gs2.Core.Exception.Gs2Exception;
using Gs2.Core.AsyncResult;
using Gs2.Gs2StateMachine.Gs2StateMachineRestClient;
using Gs2.Gs2StateMachine.Request.EmitByUserIdRequest;
using Gs2.Gs2StateMachine.Result.EmitByUserIdResult;
var session = new Gs2RestSession(
new BasicGs2Credential(
'your client id',
'your client secret'
),
Region.ApNortheast1
);
yield return session.Open();
var client = new Gs2StateMachineRestClient(session);
AsyncResult<Gs2.Gs2StateMachine.Result.EmitByUserIdResult> asyncResult = null;
yield return client.EmitByUserId(
new Gs2.Gs2StateMachine.Request.EmitByUserIdRequest()
.WithNamespaceName(