2017-09-15 1 views
0

J'ai une exigence où j'ai besoin de copier les données d'une table d'Oracle à une autre table sur une base quotidienne. Actuellement, je récupère des données de la base de données et les écrit dans un fichier Excel par le biais du code Java. Donc, j'ai un list of POJO prêt avec moi pour insérer. Mais je suis ouvert à une approche où je peux directement exporter les données de ma table Oracle vers la deuxième table (encore une fois je suis ouvert à la base de données appropriée pour cela comme Oracle ou Amazon dynamoDB etc). Voici les approches auxquelles je pouvais penser. Je suis toujours à la recherche de différentes approches, je vais mettre à jour le poste en conséquence.AWS Lambda pour Dumping excelle dans la base de données

1) L'approche naïve consiste simplement à lancer des requêtes d'insertion depuis le code java lui-même. Oui, j'utilise hibernate donc je peux le faire un peu plus facile.

2) Deuxièmement, j'ai pensé à utiliser Amazon Lambda. Je n'ai pas lu complètement à ce sujet, j'en ai juste une idée fondamentale. Mais j'ouvre cette question parce que je suis novice et je veux choisir une approche efficace pour cela.

Pourriez-vous jeter un peu de lumière sur mes approches ou en suggérer une complètement différente?

+0

Où se trouve votre instance Oracle? Est-ce dans AWS? –

+0

@ Vijayanath Viswanathan Non ce n'est pas sur AWS. A quoi pensais-je, est-ce que je peux ajouter ces fichiers sur S3 et écrire un lambda qui copie les données de celui-ci dans une base de données? C'est juste une pensée, j'ai besoin de réfléchir beaucoup à ce sujet. Quelle est votre suggestion? – tv1902

+0

Oui c'est une bonne idée car nous pouvons déclencher lambda lors du téléchargement de fichier sur S3 et vous pouvez obtenir ce fichier dans Lambda et l'enregistrer dans DynamoDB –

Répondre

1

Comme Lambda a différents déclencheurs, vous pouvez en utiliser un pour charger l'Excel. Une solution serait de configurer une API via une passerelle API qui déclenche Lambda. Appelez la passerelle API avec des données sérialisées d'Excel, qui à son tour appellent Lambda et désérialisent les données dans Lambda et les enregistrent dans DynamoDB. Une autre solution est S3 que vous avez mentionné dans les commentaires

0

La meilleure approche consiste à déclencher quotidiennement une fonction lambda en utilisant cloudwatch qui peut copier les données d'une table à l'autre dans oracle ou d'oracle à dynamodb. Pas besoin de passerelle S3 ou API qui est plus complexe et qui vous coûtera plus cher.

+0

L'instance oracle n'est pas dans AWS –