2016-05-18 3 views
0

Je travaille avec des fichiers stockés sur S3. Parce qu'il pourrait y avoir beaucoup de fichiers, la liste classique ne retournera que 1000 fichiers qui sont sur S3, mais je n'ai besoin que de nouveaux fichiers à télécharger dans le dossier local. Cela pourrait être fait par synchronisation entre le dossier local et S3.Synchronisation Amazon S3 au dossier local - Java

Je sais que cela est possible grâce à amazon cli, mais est-ce possible à travers Amazon Java SDK. J'ai essayé de le chercher et de lire la documentation, mais je n'ai pas réussi. J'ai trouvé qu'il y a une version dans PHP SDK (PHP version), alors existe-t-il une version similaire pour Java?

Répondre

0

Le SDK Java offre certainement des fonctionnalités suffisantes pour créer une application Java qui synchronisera un répertoire local avec un compartiment S3. Je ne connais pas d'appel API de haut niveau que vous pouvez faire qui encapsule exactement cette fonctionnalité, mais il peut être construit à partir des méthodes API existantes. TransferManager.downloadDirectory() va télécharger récursivement les fichiers, mais il ne va pas ignorer ceux qui existent déjà.

Cela devrait être facile à construire:

  1. En utilisant les API Java normales, obtenir des informations sur les fichiers locaux existants.
  2. À l'aide du SDK Java S3, obtenez des informations sur les objets S3 existants dans le compartiment.
  3. Comparez les deux ensembles de fichiers et téléchargez les nouveaux.
+0

Merci. J'en étais conscient, mais ce n'est pas ce que j'ai en tête. Dans Amazon Cli, il y a synchronisation des commandes qui va télécharger les fichiers qui ne sont pas dans le dossier actuel et aussi vous pourriez ajouter un motif et similaire et j'espérais que quelque chose de similaire pourrait être fait avec SDK. – Boris