Using AWS Step Functions with a Choice state, how can one check if a value in the input is equal to an empty string?
IsPresentmay be used to check if a particular key exists in the input, but it will return true for an empty string.StringEqualsmay be used to compare a string key against a non-empty valueStringMatchesmay be used to compare a string key against a non-empty wildcard (*) pattern
Setting StringEmpty's or StringMatches's comparison value to empty is invalid in the Workflow Studio UI.
Update
This is a bug/issue in the current version of the AWS Console Workflow Studio. Comparing to empty is valid, but the UI disallows this configuration via client-side validation.
CodePudding user response:
The StringEquals condition matches an empty string as you would expect.
"EmptyString?": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.TestField",
"StringEquals": "",
"Next": "EmptyString"
}
],
"Default": "NotEmptyString"
},
An empty string in the input matches the StringEquals "" choice:
{
"TestField": ""
}
