Cet article est l'article du 9ème jour du Web Crew Advent Calendar 2017. Hier était le "Comment mettre en œuvre la notification push WEB" de @ kadota.
J'avais besoin de me lier à Google Cloud Storage (GCS) dans une application Java (Java 6) fonctionnant sur CentOS 5 fonctionnant en tant que serveur d'applications. Je l'ai réalisé de manière légèrement acrobatique, j'ai donc écrit cet article.
Une façon courante de travailler avec des applications Java consiste à utiliser la bibliothèque cliente Google Cloud pour Java pour travailler avec GCS. Lorsque nous avons mis en œuvre une fonction nécessitant l'intégration de GCS dans une autre application, nous avons utilisé la bibliothèque cliente Google Cloud pour Java pour l'intégrer à GCS.
Cependant, la bibliothèque cliente Google Cloud pour Java nécessite un environnement d'exécution Java 7 ou supérieur. Cette fois, la version Java de l'application liée était Java 6, une autre méthode était donc nécessaire.
** Installez CLOUD SDK sur CentOS5 et exécutez la commande CLOUD SDK par appel externe de Java **
La procédure d'installation du SDK CLOUD pour Cent OS 5 est divisée en gros comme suit.
J'expliquerai chacun d'eux en fonction des points à noter.
Le SDK CLOUD nécessite l'installation de Python 2.7. La version Python par défaut pour Cent OS 5 est 2.4. Je vais donc commencer par mettre à jour Python.
** Vous devriez penser que vous ne pouvez pas mettre à jour Python en utilisant yum sur Cent OS 5 ** ** Vous devriez penser que vous ne pouvez pas mettre à jour Python en utilisant yum sur Cent OS 5 ** ** Vous devriez penser que vous ne pouvez pas mettre à jour Python en utilisant yum sur Cent OS 5 **
Je l'ai dit trois fois parce que c'est important.
Si vous recherchez "centos python update" sur google teacher, la méthode utilisant yum peut être utilisée, mais il est préférable de penser que la mise à jour Python à l'aide du référentiel yum n'est pas possible dans Cent OS 5.
Le référentiel officiel yum pour Cent OS 5 est EOL et
Même si vous remplacez le référentiel par un site miroir, vous pouvez utiliser yum install comme centos-release-scl-rh (Software Collections for CentOS)
.
Visons la mise à jour en décompressant régulièrement le fichier compressé.
Téléchargez et décompressez le fichier compressé
wget --no-check-certificate https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar xvzf Python-2.7.9.tgz
Installez Python
cd Python-2.7.9
./configure --prefix=/usr/local
make
make altinstall
Remplacement de Python
mv /usr/bin/python /usr/bin/python_bk
Téléchargez et décompressez le fichier compressé
cd /usr/local
L'emplacement du SDK CLOUD est comme ci-dessus.
wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-158.0.0-linux-x86_64.tar.gz?hl=ja tar xfvz google-cloud-sdk-158.0.0-linux-x86_64.tar.gz?hl=ja
Installez le SDK CLOUD
./google-cloud-sdk/install.sh
Confirmez l'installation du SDK CLOUD
/usr/local/google-cloud-sdk/bin/gcloud --help
Après avoir installé le SDK CLOUD sur le serveur d'applications, exécutez la commande SDK par appel externe dans l'application Java.
Cette section décrit la procédure de téléchargement de fichiers du serveur d'applications vers GCS.
L'approbation est accordée à l'aide d'un compte de service Consultez Autorisation de l'outil du SDK Cloud pour plus d'informations.
```java
ProcessBuilder pb = new ProcessBuilder({"/usr/local/google-cloud-sdk/bin/gcloud", "auth", "activate-service-account", "--key-file", "[Fichier de clé de compte de service]"});
process =pb.start();
processRes = process.waitFor();
//Effectuer la gestion des erreurs en fonction du résultat de processRes
```
Téléchargement du serveur d'applications vers GCS avec gsutil
ProcessBuilder pb = new ProcessBuilder({"/usr/local/google-cloud-sdk/bin/gsutil","mv","[Télécharger le chemin du fichier]","[Importer l'URL du bucket GCS de destination]"});
process =pb.start();
processRes = process.waitFor();
//Effectuer la gestion des erreurs en fonction du résultat de processRes
Commençant par une légère panique de "intégration GCS sans utiliser la bibliothèque cliente Google Cloud pour Java!? Que dois-je faire !!", "CentOS 5, Python par défaut est 2.4!? Que dois-je faire !!", "yum ne peut pas être utilisé!" Il y a eu de nombreux cas tels que "Que dois-je faire !!" et "Je ne connais pas le jugement de succès de l'appel externe de la commande SDK!? Que dois-je faire !!", mais en conséquence, j'ai visité divers sites et reçu des conseils de mon patron. J'ai pu le mettre en œuvre fermement. Évidemment, il est important de ne pas arrêter de penser parce que vous ne pouvez pas le faire, mais d'essayer l'approche du «alors». Ce cas n'est peut-être pas très courant, mais j'espère que vous vous habituerez à aider quelqu'un qui a des problèmes avec un phénomène similaire.
Demain, c'est @ t-itou. Je vous remercie.
L'équipe Web est toujours à la recherche de personnes avec qui travailler. N'hésitez pas à entrer.
Recrutement d'ingénieurs de développement Recrutement d'ingénieurs front-end Recrutement d'ingénieurs de bases de données
Recommended Posts