Quiero crear las mismas métricas/alarmas de CW para varias tablas de DynamoDB en cdk. Mi instinto fue intentar usar un ciclo for para agregar el nombre de la tabla de DDB a la alarma de CW, pero al hacerlo se genera el siguiente error: No se pueden usar tokens en el ID de construcción
Tiene sentido, porque el token aún no se ha evaluado, por lo que es solo un valor de marcador de posición. Pero entonces, ¿cuál sería una buena alternativa para nombrar secuencialmente las alarmas?
Mi caso de uso no es tan complicado. Podría simplemente repetir el mismo código X veces y modificar el nombre cada vez, pero parece un enfoque incorrecto.
Estoy usando el siguiente código como inspiración, pero no puedo ver a qué valores puedo llamar que no desencadenarían este error.
https://aws.amazon.com/blogs/developer/aws-cdk-developer-preview/
Debe usar la id o identificación uniqueId de la tabla, algo como:
for (const table of tables) { new cloudwatch.Alarm(this, `AlarmFor${table.node.id}`, ...); // or table.node.uniqueId } Pero un patrón mejor podría ser crear una construcción TableWithAlarm e instanciarla varias veces en su pila.