-
Notifications
You must be signed in to change notification settings - Fork 9.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhancement: Step Functions for Express Workflows #11570
Enhancement: Step Functions for Express Workflows #11570
Conversation
log.Printf("[DEBUG] Updating Step Function State Machine: %#v", params) | ||
|
||
if d.HasChange("logging_configuration") && d.Get("type").(string) == sfn.StateMachineTypeExpress { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if d.HasChange("logging_configuration") && d.Get("type").(string) == sfn.StateMachineTypeExpress { | |
if d.HasChange("logging_configuration") { |
|
||
### Logging | ||
|
||
~> *NOTE:* Logging is only accepted for EXPRESS Workflows. See the [AWS Step Functions Developer Guide](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) for more information about enabling Step Function logging. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
~> *NOTE:* Logging is only accepted for EXPRESS Workflows. See the [AWS Step Functions Developer Guide](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) for more information about enabling Step Function logging. |
@@ -43,6 +102,13 @@ The following arguments are supported: | |||
* `definition` - (Required) The Amazon States Language definition of the state machine. | |||
* `role_arn` - (Required) The Amazon Resource Name (ARN) of the IAM role to use for this state machine. | |||
* `tags` - (Optional) Key-value mapping of resource tags | |||
* `logging_configuration` - (Optional) Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. By default, the level is set to OFF. For more information see [Logging Express Workflows](https://docs.aws.amazon.com/step-functions/latest/dg/cw-logs.html) and [Log Levels](https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html) in the AWS Step Functions User Guide. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* `logging_configuration` - (Optional) Defines what execution history events are logged and where they are logged. The logging_configuration parameter is only valid when type is set to EXPRESS. By default, the level is set to OFF. For more information see [Logging Express Workflows](https://docs.aws.amazon.com/step-functions/latest/dg/cw-logs.html) and [Log Levels](https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html) in the AWS Step Functions User Guide. | |
* `logging_configuration` - (Optional) Defines what execution history events are logged and where they are logged. By default, the level is set to OFF. For more information see [Logging Express Workflows](https://docs.aws.amazon.com/step-functions/latest/dg/cw-logs.html) and [Log Levels](https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html) in the AWS Step Functions User Guide. |
@rockycore I added a few suggestions for removing the constraint for only logging with express workflows. |
Hi. Is there any estimation for this to be merged? I see it's conflicts with docs, which I could even try to fix. I'm interested on logging configuration. Thanks. |
I was testing this today. From AWS documentation: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html When running a plan/apply on an existing state machine this implementation advertises that the existing resource will be modified. This is incorrect. It needs to destroy and rebuild a new state machine with the desired type if it needs to be changed.
I am new to the code base. Happy to investigate the fix. EDIT: Just realized that I was running terraform v11.11 for this test. Will setup a new test with the latest. Unsure if that would change the results. |
@grahamjenson , could you fix the conflicts? I'm very interested in implementing this feature |
@manherfo @dkujawski @joanayma I am developing this feature on #12249 where I have fixed the conflicts |
Replaced by #12249. |
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks! |
This adds support for AWS Step Functions for Express Workflows, that are ideal for high-volume, event-processing workloads such as IoT data ingestion, streaming data processing and transformation, and mobile application backends. They can run for up to five minutes. Execution history is optionally available in Amazon CloudWatch Logs. Express Workflows employ an at-least-once model, where there is a possibility that an execution might be run more than once. This makes them ideal for orchestrating idempotent actions such as transforming input data and storing via PUT in Amazon DynamoDB. Express Workflow executions are billed by the number of executions, the duration of execution, and the memory consumed.
Changes proposed in this pull request:
resource_aws_sfn_state_machine.go: Add
type
andlogging_configuration
argumentsresource_aws_sfn_state_machine_test.go: Extend acceptance tests
sfn_state_machine.html.markdown: Extend documentation
Community Note
Relates OR Closes 11348 11374
Release note for CHANGELOG:
Output from acceptance testing: