Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

278
Views
AWS-CDK - Datos iniciales de DynamoDB

Uso el CDK de AWS para un proyecto sin servidor, pero he llegado a un punto conflictivo. Mi proyecto implementa una tabla de DynamoDB que necesito completar con datos antes de ejecutar mi función Lambda.

Los datos que deben cargarse se generan mediante llamadas a la API y no son datos estáticos que puedan cargarse mediante un archivo .json o algo simple.

¿Alguna idea sobre cómo abordar este requisito para una carga de trabajo de producción?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Puede usar AwsCustomResource para realizar una llamada PutItem a la tabla.

 AwsSdkCall initializeData = AwsSdkCall.builder() .service("DynamoDB") .action("putItem") .physicalResourceId(PhysicalResourceId.of(tableName + "_initialization")) .parameters(Map.ofEntries( Map.entry("TableName", tableName), Map.entry("Item", Map.ofEntries( Map.entry("id", Map.of("S", "0")), Map.entry("data", Map.of("S", data)) )), Map.entry("ConditionExpression", "attribute_not_exists(id)") )) .build(); AwsCustomResource tableInitializationResource = AwsCustomResource.Builder.create(this, "TableInitializationResource") .policy(AwsCustomResourcePolicy.fromStatements(List.of( PolicyStatement.Builder.create() .effect(Effect.ALLOW) .actions(List.of("dynamodb:PutItem")) .resources(List.of(table.getTableArn())) .build() ))) .onCreate(initializeData) .onUpdate(initializeData) .build(); tableInitializationResource.getNode().addDependency(table);

La operación PutItem se activará si se crea la pila o si se actualiza la table (se supone que tableName es diferente en ese caso). Si no funciona por alguna razón, puede configurar el ID de recurso physicalResourceId en un valor aleatorio, es decir, UUID, para activar la operación para cada actualización de la pila (la operación es idempotente debido a ConditionExpression )

over 4 years ago · Santiago Trujillo Report

0

CustomResource le permite escribir una lógica de aprovisionamiento personalizada. En este caso, podría usar algo como una función AWS Lambda en un recurso personalizado para leer el json personalizado y actualizar DynamoDb.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!