Doc AWS SDK ExamplesWord リポジトリには、さらに多くの GitHub の例があります。 AWS SDK
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した Amazon SWF の例 AWS CLI
次のコード例は、Amazon SWF AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には、完全なソースコードへのリンクが含まれています。このリンクでは、コンテキストでコードを設定および実行する手順を確認できます。
トピック
アクション
次の例は、count-closed-workflow-executions
を使用する方法を説明しています。
- AWS CLI
-
終了したワークフロー実行のカウント
swf count-closed-workflow-executions
を使用して、特定のドメインのクローズドワークフロー実行数を取得できます。フィルターを指定して、特定の実行クラスをカウントできます。--domain
および--close-time-filter
または 引--start-time-filter
数が必要です。その他の引数はオプションです。aws swf count-closed-workflow-executions \ --domain
DataFrobtzz
\ --close-time-filter "{ \"latestDate\" : 1377129600, \"oldestDate\" : 1370044800 }"出力:
{ "count": 2, "truncated": false }
「truncated」が の場合
true
、「count」は Amazon SWF によって返される最大数を表します。その他の結果は切り捨てられます。返される結果の数を減らすには、次の操作を行います。
--close-time-filter
または--start-time-filter
値を変更して、検索する時間範囲を絞り込みます。それぞれが相互に排他的です。リクエストで指定できるのは、いずれか 1 つだけです。--close-status-filter
、--execution-filter
、--tag-filter
または--type-filter
引数を使用して、結果をさらにフィルタリングします。ただし、これらの引数も相互に排他的です。Amazon Simple Workflow Service CountClosedWorkflowExecutions リファレンスの AlsoWord を参照してください。 API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のCountClosedWorkflowExecutions
」を参照してください。
-
次のコード例は、count-open-workflow-executions
を使用する方法を示しています。
- AWS CLI
-
オープンワークフロー実行のカウント
swf count-open-workflow-executions
を使用して、特定のドメインのオープンワークフロー実行数を取得できます。フィルターを指定して、特定の実行クラスをカウントできます。引数
--domain
と引--start-time-filter
数は必須です。その他の引数はオプションです。aws swf count-open-workflow-executions \ --domain
DataFrobtzz
\ --start-time-filter "{ \"latestDate\" : 1377129600, \"oldestDate\" : 1370044800 }"出力:
{ "count": 4, "truncated": false }
「truncated」が の場合
true
、「count」は Amazon SWF によって返される最大数を表します。その他の結果は切り捨てられます。返される結果の数を減らすには、次の操作を行います。
--start-time-filter
値を変更して、検索する時間範囲を絞り込みます。--close-status-filter
、--execution-filter
、--tag-filter
または--type-filter
引数を使用して結果をさらにフィルタリングします。これらはそれぞれ相互に排他的です。リクエストで指定できるのは、いずれか 1 つだけです。詳細については、Amazon Simple Workflow Service CountOpenWorkflowExecutions リファレンスの「Word」を参照してください。 API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のCountOpenWorkflowExecutions
」を参照してください。
-
次のコード例は、deprecate-domain
を使用する方法を示しています。
- AWS CLI
-
ドメインの非推奨
ドメインを廃止するには、
swf deprecate-domain
を使用します(まだ表示できますが、新しいワークフロー実行の作成、またはタイプを登録することはできません)。これには、唯一の必須パラメータ--name
があり、廃止するドメイン名を取得します。aws swf deprecate-domain \ --name
MyNeatNewDomain
""register-domain
と同様に、出力は返されません。ただし、list-domains
を使用して登録済みドメインを表示すると、ドメインが非推奨になり、返されたデータに表示されなくなります。aws swf list-domains \ --registration-status
REGISTERED
{
"domainInfos":[
{
"status": "REGISTERED", "name":"DataFrobotz"
},
{
"status": "REGISTERED", "name":"erontest"
}
]
}
--registration-status DEPRECATED
で を使用するとlist-domains
、廃止されたドメインが表示されます。aws swf list-domains \ --registration-status
DEPRECATED
{
"domainInfos":[
{
"status": "DEPRECATED", "name":"MyNeatNewDomain"
}
]
}
describe-domain
を使用して、非推奨ドメインに関する情報を取得することもできます。aws swf describe-domain \ --name
MyNeatNewDomain
{
"domainInfo":{
"status": "DEPRECATED", "name":"MyNeatNewDomain"
},
"configuration":{
"workflowExecutionRetentionPeriodInDays":"0"
}
}
Amazon Simple Workflow Service DeprecateDomain リファレンスの「 AlsoWord」を参照してください。 API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeprecateDomain
」を参照してください。
-
次のコード例は、describe-domain
を使用する方法を示しています。
- AWS CLI
-
ドメインに関する情報の取得
特定のドメインに関する詳細情報を取得するには、
swf describe-domain
コマンドを使用します。--name
という必須パラメータが 1 つあり、これは情報が必要なドメインの名前を取得します。aws swf describe-domain \ --name
DataFrobotz
{
"domainInfo":{
"status": "REGISTERED", "name":"DataFrobotz"
},
"configuration":{
"workflowExecutionRetentionPeriodInDays":"1"
}
}
describe-domain
を使用して、廃止されたドメインに関する情報を取得することもできます。aws swf describe-domain \ --name
MyNeatNewDomain
{
"domainInfo":{
"status": "DEPRECATED", "name":"MyNeatNewDomain"
},
"configuration":{
"workflowExecutionRetentionPeriodInDays":"0"
}
}
Amazon Simple Workflow Service DescribeDomain リファレンスの「 AlsoWord」を参照してください。 API
-
API の詳細については、 AWS CLI コマンドリファレンスの DescribeDomain
を参照してください。
-
次の例は、list-activity-types
を使用する方法を説明しています。
- AWS CLI
-
アクティビティタイプの一覧表示
ドメインのアクティビティタイプのリストを取得するには、 を使用します
swf list-activity-types
。引数--domain
と引--registration-status
数は必須です。aws swf list-activity-types \ --domain
DataFrobtzz
\ --registration-statusREGISTERED
出力:
{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.451, "activityType": { "version": "1", "name": "confirm-user-email" }, "description": "subscribe confirm-user-email activity" }, { "status": "REGISTERED", "creationDate": 1371454150.709, "activityType": { "version": "1", "name": "confirm-user-phone" }, "description": "subscribe confirm-user-phone activity" }, { "status": "REGISTERED", "creationDate": 1371454149.871, "activityType": { "version": "1", "name": "get-subscription-info" }, "description": "subscribe get-subscription-info activity" }, { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" }, { "status": "REGISTERED", "creationDate": 1371454150.085, "activityType": { "version": "1", "name": "subscribe-user-sns" }, "description": "subscribe subscribe-user-sns activity" } ] }
--name
引数を使用して、特定の名前のアクティビティタイプのみを選択できます。aws swf list-activity-types \ --domain
DataFrobtzz
\ --registration-statusREGISTERED
\ --name"send-subscription-success"
出力:
{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" } ] }
ページで結果を取得するには、
--maximum-page-size
引数を設定できます。結果のページに収まるよりも多くの結果が返された場合、nextPageToken」が結果セットに返されます。aws swf list-activity-types \ --domain
DataFrobtzz
\ --registration-statusREGISTERED
\ --maximum-page-size2
出力:
{ "nextPageToken": "AAAAKgAAAAEAAAAAAAAAA1Gp1BelJq+PmHvAnDxJYbup8+0R4LVtbXLDl7QNY7C3OpHo9Sz06D/GuFz1OyC73umBQ1tOPJ/gC/aYpzDMqUIWIA1T9W0s2DryyZX4OC/6Lhk9/o5kdsuWMSBkHhgaZjgwp3WJINIFJFdaSMxY2vYAX7AtRtpcqJuBDDRE9RaRqDGYqIYUMltarkiqpSY1ZVveBasBvlvyUb/WGAaqehiDz7/JzLT/wWNNUMOd+Nhe", "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.451, "activityType": { "version": "1", "name": "confirm-user-email" }, "description": "subscribe confirm-user-email activity" }, { "status": "REGISTERED", "creationDate": 1371454150.709, "activityType": { "version": "1", "name": "confirm-user-phone" }, "description": "subscribe confirm-user-phone activity" } ] }
nextPageToken 値を引
list-activity-types
--next-page-token
数の次の呼び出しに渡すと、結果の次のページを取得できます。aws swf list-activity-types \ --domain
DataFrobtzz
\ --registration-statusREGISTERED
\ --maximum-page-size2
\ --next-page-token"AAAAKgAAAAEAAAAAAAAAA1Gp1BelJq+PmHvAnDxJYbup8+0R4LVtbXLDl7QNY7C3OpHo9Sz06D/GuFz1OyC73umBQ1tOPJ/gC/aYpzDMqUIWIA1T9W0s2DryyZX4OC/6Lhk9/o5kdsuWMSBkHhgaZjgwp3WJINIFJFdaSMxY2vYAX7AtRtpcqJuBDDRE9RaRqDGYqIYUMltarkiqpSY1ZVveBasBvlvyUb/WGAaqehiDz7/JzLT/wWNNUMOd+Nhe"
出力:
{ "nextPageToken": "AAAAKgAAAAEAAAAAAAAAAw+7LZ4GRZPzTqBHsp2wBxWB8m1sgLCclgCuq3J+h/m3+vOfFqtkcjLwV5cc4OjNAzTCuq/XcylPumGwkjbajtqpZpbqOcVNfjFxGoi0LB2Olbvv0krbUISBvlpFPmSWpDSZJsxg5UxCcweteSlFn1PNSZ/MoinBZo8OTkjMuzcsTuKOzH9wCaR8ITcALJ3SaqHU3pyIRS5hPmFA3OLIc8zaAepjlaujo6hntNSCruB4" "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454149.871, "activityType": { "version": "1", "name": "get-subscription-info" }, "description": "subscribe get-subscription-info activity" }, { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" } ] }
返す結果がまだある場合は、nextPageToken」が結果とともに返されます。返す結果のページがこれ以上ない場合、nextPageToken」は結果セットには返されません。
--reverse-order
引数を使用して、返された結果の順序を逆にすることができます。これは、ページ分割結果にも影響します。aws swf list-activity-types \ --domain
DataFrobtzz
\ --registration-statusREGISTERED
\ --maximum-page-size2
\ --reverse-order出力:
{ "nextPageToken": "AAAAKgAAAAEAAAAAAAAAAwXcpu5ePSyQkrC+8WMbmSrenuZC2ZkIXQYBPB/b9xIOVkj+bMEFhGj0KmmJ4rF7iddhjf7UMYCsfGkEn7mk+yMCgVc1JxDWmB0EH46bhcmcLmYNQihMDmUWocpr7To6/R7CLu0St1gkFayxOidJXErQW0zdNfQaIWAnF/cwioBbXlkz1fQzmDeU3M5oYGMPQIrUqkPq7pMEW0q0lK5eDN97NzFYdZZ/rlcLDWPZhUjY", "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.085, "activityType": { "version": "1", "name": "subscribe-user-sns" }, "description": "subscribe subscribe-user-sns activity" }, { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" } ] }
Amazon Simple Workflow Service ListActivityTypes リファレンスの AlsoWord を参照してください。 API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のListActivityTypes
」を参照してください。
-
次のコード例は、list-domains
を使用する方法を示しています。
- AWS CLI
-
例 1: 登録済みドメインを一覧表示するには
次の
list-domains
コマンド例では、アカウントに登録した SWFREGISTERED
ドメインを一覧表示します。aws swf list-domains \ --registration-status
REGISTERED
出力:
{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "erontest" } ] }
詳細については、「Amazon Simple Workflow Service ListDomains リファレンス」の「Word」を参照してください。 API
例 2: 非推奨ドメインを一覧表示するには
次の
list-domains
コマンド例では、アカウントに登録した SWFDEPRECATED
ドメインを一覧表示します。非推奨ドメインは、新しいワークフローやアクティビティを登録することはできませんが、クエリすることはできます。aws swf list-domains \ --registration-status
DEPRECATED
出力:
{ "domainInfos": [ { "status": "DEPRECATED", "name": "MyNeatNewDomain" } ] }
詳細については、「Amazon Simple Workflow Service ListDomains リファレンス」の「Word」を参照してください。 API
例 3: 登録済みドメインの最初のページを一覧表示するには
次の
list-domains
コマンド例では、--maximum-page-size
オプションを使用してアカウントに登録した最初のページ SWFREGISTERED
ドメインを一覧表示します。aws swf list-domains \ --registration-status
REGISTERED
\ --maximum-page-size1
出力:
{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" } ], "nextPageToken": "AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ==" }
詳細については、「Amazon Simple Workflow Service ListDomains リファレンス」の「Word」を参照してください。 API
例 4: 登録済みドメインの指定された 1 ページを一覧表示するには
次の
list-domains
コマンド例では、--maximum-page-size
オプションを使用してアカウントに登録した最初のページ SWFREGISTERED
ドメインを一覧表示します。再度呼び出しを行うと、引
--next-page-token
数nextPageToken
に の値を指定すると、結果の別のページが表示されます。aws swf list-domains \ --registration-status
REGISTERED
\ --maximum-page-size1
\ --next-page-token"AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ=="
出力:
{ "domainInfos": [ { "status": "REGISTERED", "name": "erontest" } ] }
取得する結果のページがそれ以上存在しない場合、
nextPageToken
が、結果に返されることはありません。詳細については、「Amazon Simple Workflow Service ListDomains リファレンス」の「Word」を参照してください。 API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のListDomains
」を参照してください。
-
次の例は、list-workflow-types
を使用する方法を説明しています。
- AWS CLI
-
ワークフロータイプの一覧表示
ドメインのワークフロータイプのリストを取得するには、 を使用します
swf list-workflow-types
。引数--domain
と引--registration-status
数は必須です。以下に簡単な例を示します。aws swf list-workflow-types \ --domain
DataFrobtzz
\ --registration-statusREGISTERED
出力:
{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454149.598, "description": "DataFrobtzz subscribe workflow", "workflowType": { "version": "v3", "name": "subscribe" } } ] }
と同様に
list-activity-types
、--name
引数を使用して特定の名前のワークフロータイプのみを選択し、 と連携して--maximum-page-size
引数を使用して結果をページ--next-page-token
ングできます。結果が返される順序を逆にするには、 を使用します--reverse-order
。Amazon Simple Workflow Service ListWorkflowTypes リファレンスの AlsoWord を参照してください。 API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のListWorkflowTypes
」を参照してください。
-
次の例は、register-domain
を使用する方法を説明しています。
- AWS CLI
-
ドメインの登録
AWS CLI を使用して新しいドメインを登録できます。
swf register-domain
コマンドを実行します。ドメイン名--name
を使用する と、このドメインのワークフロー実行データを保持する日数を指定するには整数--workflow-execution-retention-period-in-days
の の 2 つの必須パラメータがあり、最大期間は 90 日間です (詳細については、SWF FAQ <https://aws.amazon.com/swf/ faqs/#retain_limit> を参照してください)。ワークフロー実行データは、指定された日数が経過した後は保持されません。aws swf register-domain \ --name
MyNeatNewDomain
\ --workflow-execution-retention-period-in-days0
""ドメインを登録すると何も返されませんが ("")、
swf list-domains
またはswf describe-domain
を使用して、新しいドメインを表示できます。aws swf list-domains \ --registration-status
REGISTERED
{
"domainInfos":[
{
"status": "REGISTERED", "name":"DataFrobotz"
},
{
"status": "REGISTERED", "name":"MyNeatNewDomain"
},
{
"status": "REGISTERED", "name":"erontest"
}
]
}
swf describe-domain
を使用する:aws swf describe-domain --name
MyNeatNewDomain
{
"domainInfo":{
"status": "REGISTERED", "name":"MyNeatNewDomain"
},
"configuration":{
"workflowExecutionRetentionPeriodInDays":"0"
}
}
Amazon Simple Workflow Service RegisterDomain リファレンスの AlsoWord を参照してください。 API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のRegisterDomain
」を参照してください。
-
次のコード例は、register-workflow-type
を使用する方法を示しています。
- AWS CLI
-
ワークフロータイプの登録
ワークフロータイプを AWS CLI に登録するには、
swf register-workflow-type
コマンドを使用します。aws swf register-workflow-type \ --domain
DataFrobtzz
\ --name"MySimpleWorkflow"
\ --workflow-version"v1"
成功すると、 コマンドは出力を生成しません。
エラーの場合 (例えば、同じワークフローを 2 回登録しようとする場合、または存在しないドメインを指定しようとする場合)、JSON でレスポンスが表示されます。
{ "message": "WorkflowType=[name=MySimpleWorkflow, version=v1]", "__type": "com.amazonaws.swf.base.model#TypeAlreadyExistsFault" }
--domain
、--name
、--workflow-version
は必須です。ワークフローの説明、タイムアウト、子ワークフローポリシーを設定することもできます。詳細については、「Amazon Simple Workflow Service RegisterWorkflowType リファレンス」の「Word」を参照してください。 API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のRegisterWorkflowType
」を参照してください。
-