FTP de Stockage Google
Certains fichiers sont téléchargés sur une base quotidienne à un serveur FTP et j'ai besoin de ces fichiers dans Google Cloud Storage. Je ne veux pas embêter les utilisateurs de télécharger des fichiers à installer de logiciels supplémentaires et les laisser continuer à utiliser leur client FTP.
Est-il possible d'utiliser GCS comme un serveur FTP? Si non, comment puis-je créer un travail qui périodiquement ramasse les fichiers à partir d'un emplacement FTP et les met dans CG?
En d'autres termes: quelle est la meilleure et la plus simple façon de le faire?
Semble comme une façon est de mettre en place un serveur FTP sur une machine virtuelle et l'utilisation gcsfs de se connecter à ce serveur à GCS, comme décrit ici ilyapimenov.com/blog/2015/01/19/ftp-proxy-to-gcs.html - est-ce de travailler pour vous?
OriginalL'auteur CCC | 2017-04-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez écrire vous-même un serveur FTP qui télécharge à GCS, par exemple basé sur pyftpdlib
Définir un gestionnaire personnalisé magasins GCS lorsqu'un fichier est reçu
J'ai réussi à l'exécuter sur Google Container Engine (il nécessite un certain effort arriver passive FTP fonctionne correctement), mais il devrait être assez simple à faire sur Compute Engine. Selon la configuration ci-dessus, ouvrir le port 21 et ports 60000 - 60999 sur le pare-feu.
Pour l'exécuter,
python my_ftp_server.py
- si vous souhaitez écouter sur le port 21 vous aurez besoin des privilèges root.Je pense que crazystick est ce qui suggère que l'utilisateur s'authentifie auprès du serveur FTP comme vous l'aimez, et que le serveur FTP, vous êtes en cours d'exécution, dispose d'informations d'identification pour télécharger les objets de GCS. Si vous écrivez à un serveur FTP, serveur FTP transfère de téléchargement de flux sur de GCS.
Oui - vérifier les documents pour pyftpdlib et vous trouverez un certain nombre d'options pour l'authentification. Dans l'exemple ci-dessus, tout le monde peut se connecter au serveur FTP en utilisant le nom d'utilisateur "utilisateur" et le mot de passe "mot de passe", et tous les fichiers sont sous-évaluées dans le même GCS seau avec de sécurité par défaut. En cours d'exécution sur Compute Engine / Conteneur Moteur vous obtient les informations d'identification pour les GCS
Merci... je sais que je suis peut-être trop demander, mais où ce fichier, allez et ce que les modifications de configuration de la machine virtuelle dans Compute Engine? Aussi, devrait-il y avoir aucune considération pour le mode FTP passif et de se connecter à l'adresse IP externe?
J'ai ajouté quelques options de configuration vous aurez probablement envie de le faire fonctionner sur GCE. Pour l'avoir démarrer automatiquement, vous devez écrire un systemd service de celle-ci. Cela devrait être assez trivial et il y a beaucoup de ressources en expliquant comment.
OriginalL'auteur crazystick
Vous pourriez utiliser un cron et rsync entre le serveur FTP et Google Cloud de Stockage à l'aide de gsutil rsync ou open source rclone outil.
Si vous ne pouvez pas exécuter ces commandes sur le serveur FTP périodiquement, vous pouvez monter le serveur FTP comme un système de fichiers local ou en voiture (Linux, Windows)
OriginalL'auteur Lukasz Cwik
J'ai réussi à mettre en place un proxy FTP à GCS à l'aide de gcsfs dans une machine virtuelle dans Google Compute (mentionné par jkff dans le commentaire à ma question), avec ces instructions:
http://ilyapimenov.com/blog/2015/01/19/ftp-proxy-to-gcs.html
Certains changements sont nécessaires, si:
write_enable=YES
l'accès aux ports 21 et de ports passifs 15393 à 15592 (https://console.cloud.google.com/networking/firewalls/list)
Certains problèmes possibles:
Aussi, votre client ftp doit utiliser le transfert en mode "passif".
OriginalL'auteur CCC
Configurer une machine virtuelle dans le cloud google, à l'aide de certains *nix saveur. Configurer ftp sur elle, et de pointer vers un dossier abc. Utiliser google fusible pour monter abc comme un GCS seau. Voila - et-vient entre les tables /ftp sans avoir à écrire de n'importe quel logiciel.
(Petits caractères: fusible de rouleaux et meurt si vous poussez trop de données, afin de rebondir périodiquement, une fois par semaine ou une fois par jour; aussi, vous pourriez avoir besoin pour définir le montage ou le fusible pour accorder des autorisations pour tous les utilisateurs)
OriginalL'auteur user3688176