DynamoDB in SFN -> Why does it request an ITEM value when it clearly shouldn't

0

I'm trying to push a DynamoDB record through SFN while setting up a conditional expression but for some reason it requests an "ITEM" field.

I don't want to push an ITEM. I want to push a conditional expression.

According to the API Docs, it should work.

Here's my code:

{
  "StartAt": "MyStep",
  "States": {
    "MyStep": {
      "Type": "Task",
      "Resource": "arn:aws:states:::dynamodb:putItem",
      "Parameters": {
        "TableName.$": "$.table_name",
        "Key": {
          "test_id_path_method_executor_id": {"S.$": "$.update_key.test_id_path_method_executor_id"},
          "result_timestamp": {"S.$": "$.update_key.result_timestamp"}
        },
        "ConditionExpression": "#max_db < :max_values",
        "ExpressionAttributeValues": {
          ":max_values": {"N.$": "$.result_value"}
        },
        "ExpressionAttributeNames": {
          "#max_db": "max"
        },
        "UpdateExpression": "SET #max_db = :max_values"
      },
      "Next": "EndSuccess"
    },
    "EndSuccess": {
      "Type":"Succeed"
    }
  }
}

The error I get is this:

There are Amazon States Language errors in your state machine definition. Fix the errors to continue.
The field 'Item' is required but was missing (at /States/MyStep/Parameters)

Am I doing something wrong?

Or is it an AWS problem and I should create a Support ticket instead?

Thanks!

preguntada hace 2 años204 visualizaciones
1 Respuesta
0
Respuesta aceptada

I used "putItem", instead of "updateItem"...

respondido hace 2 años

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