Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save yokada/ffc92d84a5844008fbab14ab6aeda054 to your computer and use it in GitHub Desktop.
Save yokada/ffc92d84a5844008fbab14ab6aeda054 to your computer and use it in GitHub Desktop.
AWS Cli StepFunctions commands starter in local with docker

@see For running aws stepfunctions local in docker https://gist.github.com/yokada/5e7ff39b91caff0eb6446a3e41465c3d

Create State Machine

$ aws stepfunctions create-state-machine \
  --endpoint http://localhost:18083 \
  --definition "$(gist -r 799bc111ce4ea7801b2f251e21177aec)" \
  --name WaitExecution \
  --role-arn arn:aws:iam::012345678901:role/DummyRole \
  --region ap-northeast-1
{
    "stateMachineArn": "arn:aws:states:ap-northeast-1:123456789012:stateMachine:WaitExecution",
    "creationDate": 1562439346.751
}

List State Machines

$ aws stepfunctions list-state-machines \
  --endpoint http://localhost:18083 \
  --region ap-northeast-1
{
    "stateMachines": [
        {
            "stateMachineArn": "arn:aws:states:ap-northeast-1:123456789012:stateMachine:WaitExecution",
            "name": "WaitExecution",
            "creationDate": 1562439346.751
        }
    ]
}

Get stateMachineArn by name

$ aws stepfunctions list-state-machines \
  --endpoint http://localhost:18083 \
  --region ap-northeast-1 \
  --query 'stateMachines[?name==`WaitExecution`].stateMachineArn' \
  --output text
arn:aws:states:ap-northeast-1:123456789012:stateMachine:WaitExecution

Execute state machine

$ aws stepfunctions start-execution --endpoint http://localhost:18083 --region ap-northeast-1 --state-machine-arn arn:aws:states:ap-northeast-1:123456789012:stateMachine:WaitExecution
{
    "executionArn": "arn:aws:states:ap-northeast-1:123456789012:execution:WaitExecution:ec6a8426-07f1-4cae-9d8a-11852fcff0e9",
    "startDate": 1562439682.032
}

Checking execution status

$ aws stepfunctions describe-execution \
  --endpoint http://localhost:18083 \
  --execution-arn arn:aws:states:ap-northeast-1:123456789012:execution:WaitExecution:ec6a8426-07f1-4cae-9d8a-11852fcff0e9 \
  --region ap-northeast-1
{
    "executionArn": "arn:aws:states:ap-northeast-1:123456789012:execution:WaitExecution:ec6a8426-07f1-4cae-9d8a-11852fcff0e9",
    "stateMachineArn": "arn:aws:states:ap-northeast-1:123456789012:stateMachine:WaitExecution",
    "name": "ec6a8426-07f1-4cae-9d8a-11852fcff0e9",
    "status": "SUCCEEDED",
    "startDate": 1562439682.032,
    "stopDate": 1562439692.057,
    "input": "{}",
    "output": "{}"
}

Update statemachine definition

$ aws stepfunctions update-state-machine \
  --endpoint http://localhost:18083 \
  --definition file://path/to/your/statemachine.json \
  --role-arn arn:aws:iam::012345678901:role/DummyRole \
  --region ap-northeast-1 \
  --state-machine-arn arn:aws:states:ap-northeast-1:123456789012:stateMachine:WaitExecution

Delete statemachine by statemachineArn

$ aws stepfunctions delete-state-machine \
  --endpoint http://localhost:18083 \
  --region ap-northeast-1 \
  --state-machine-arn arn:aws:states:ap-northeast-1:123456789012:stateMachine:WaitExecution
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment