Get min/max value between 2 argument in step function

0

Hi I have scenario to get min value between 2 argument and compare it with constant to make condition true/false, I can see interstice function but don't get this method like min/max. Other than that, I can get this approach using lambda.

So since this simple operation, can I get this inside step function instead ?

preguntada hace 6 meses532 visualizaciones
2 Respuestas
1

There is no intrinsic function to get min/max of two numbers. Besides using a Lambda function, you can use a choice state to check which one of the two numbers is larger, and then another choice state to check if it is equal to the constant value.

profile pictureAWS
EXPERTO
Uri
respondido hace 6 meses
0

As you noticed, there are no min/max functions available in Step Functions, however you can try something like this to compare two variables between each other and constant.

It's based on simple logic that can be coded as

a = 4
b = 5
const = 1

if a < b and a < const:
    print("a is smaller")
elif b < a and b < const:
    print("b is smaller")

Ecample (working) Step Function code:

{
  "Comment": "Check minimum state machine",
  "StartAt": "Choice",
  "States": {
    "Choice": {
      "Type": "Choice",
      "Choices": [
        {
          "And": [
            {
              "Variable": "$.a",
              "NumericLessThanPath": "$.b"
            },
            {
              "Variable": "$.a",
              "NumericLessThanPath": "$.const"
            }
          ],
          "Next": "A is smaller"
        },
        {
          "And": [
            {
              "Variable": "$.b",
              "NumericLessThanPath": "$.a"
            },
            {
              "Variable": "$.b",
              "NumericLessThanPath": "$.const"
            }
          ],
          "Next": "B is smaller"
        }
      ],
      "Default": "Const not reached"
    },
    "A is smaller": {
      "Type": "Pass",
      "End": true
    },
    "Const not reached": {
      "Type": "Pass",
      "End": true
    },
    "B is smaller": {
      "Type": "Pass",
      "End": true
    }
  }
}
respondido hace 6 meses

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas