Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

476
Visualizações
Función de paso de AWS: verificar nulo

La función de paso se define así:

 { "StartAt": "Decision_Maker", "States": { "Decision_Maker":{ "Type": "Choice", "Choices": [ { "Variable": "$.body.MyData", "StringEquals": "null", //that doesn't work :( "Next": "Run_Task1" }], "Default": "Run_Task2" }, "Run_Task1": { "Type": "Task", "Resource": "url_1", "Next": "Run_Task2" }, "Run_Task2": { "Type": "Task", "Resource": "url_2", "End": true } } }

Básicamente es una elección entre 2 tareas. Los datos de entrada son así:

 { "body": { "prop1": "value1", "myData": { "otherProp": "value" } } }

El problema es que a veces no hay myData en JSON. Así que la entrada puede venir así:

 { "body": { "prop1": "value1", "myData": null } }

¿Cómo verifico si myData es nulo o no?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

A partir de agosto de 2020, Amazon States Language ahora tiene una regla de elección isNull y isPresent . Con estos, puede verificar de forma nativa si hay un null o la existencia de una clave en la entrada de estado dentro de un estado Choice.

Ejemplo:

 { "Variable": "$.possiblyNullValue", "IsNull": true }

https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-choice-state.html#amazon-states-language-choice-state-rules

over 4 years ago · Santiago Trujillo Relatório

0

El orden importa. Establezca " IsPresent": false primero, luego "IsNull": true , finalmente la comparación escalar al final.

 "Check MyValue": { "Comment": "Check MyValue", "Type": "Choice", "Default": "ContinueWithMyValue", "Choices": [ { "Or": [ { "Variable": "$.MyValue", "IsPresent": false }, { "Variable": "$.MyValue", "IsNull": true }, { "Variable": "$.MyValue", "BooleanEquals": false } ], "Next": "HaltProcessing" }, { "Variable": "$.MyValue", "BooleanEquals": true, "Next": "ContinueWithMyValue" } ] },
over 4 years ago · Santiago Trujillo Relatório

0

Según mi experiencia, Choice Type no puede lidiar con valores nulos. La mejor manera podría ser preprocesar su entrada usando un lambda en el primer estado y devolver el evento formateándolo como "nulo". El siguiente fragmento de código podría ayudar.

 def lambda_handler(event, context): if event['body']['MyData']: return event else: event['body']['MyData']="null" return event

Nota: Esto también maneja cadenas vacías.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda