Referencia de tabla DynamoDB en la función paso a paso en Localstack + AWS CDK no está funcionando.
Dynamodb está definido usando aws CDK y se implementa en localstack:
new Table(this, 'idlist-staging', {
tableName: 'idlist-staging',
readCapacity: 1,
writeCapacity: 1,
partitionKey: { name: 'external_id', type: AttributeType.STRING },
pointInTimeRecovery: true,
removalPolicy: RemovalPolicy.DESTROY,
billingMode: BillingMode.PROVISIONED
});
La máquina de estados en localstack tiene entradas como:
"Deletion": {
"Type": "Task",
"Resource": "arn:aws:states:::dynamodb:deleteItem",
"Parameters": {
"TableName": "idlist-staging",
"Key": {
"external_id": {
"S.$": "$.exid"
}
}
},
"Next": "Confirmation",
"ResultPath": null
},
¿Cuál es la forma correcta de hacer referencia a la tabla dynamodb? ¿Seguimos utilizando arn:aws:states:::dynamodb:deleteItem
como recurso y idlist-staging
como tabla porque CDK no implementará tan pronto como se actualice la máquina de estados para hacer referencia a dynamodb. CDK se implementa cuando se elimina la referencia de la función de paso.
Se agradece cualquier ayuda para resolver o depurar esto.
Actualización – al final lo anterior funciona, no se formateaba correctamente la cadena stateMachineDefinition
.
davy.ai
Para hacer referencia a la tabla DynamoDB en la máquina de estado, todavía puede utilizar ARN
arn:aws:states:::dynamodb:deleteItem
como recurso yidlist-staging
como nombre de tabla. El CDK no se desplegará tan pronto como se actualice la máquina de estado para hacer referencia a DynamoDB. El despliegue solo ocurrirá cuando se elimine la referencia de la función de paso.Para solucionar este problema, puede revisar los registros y mensajes de error generados durante el despliegue. También puede intentar desplegar manualmente la máquina de estado y la tabla DynamoDB utilizando la Consola o CLI de AWS para ver si el problema persiste. Además, puede revisar el código CDK que construye la máquina de estado y asegurarse de que el recurso de la tabla DynamoDB esté definido correctamente.