Aller au contenu
  • Société
    • Qui sommes-nous
    • Nos valeurs
    • Nos partenaires
    • Entreprise citoyenne
    • Régions
  • Services
    • Expertise
    • Formation
    • Développement
    • Migration
    • Infogérance
  • Join the Team
  • Actualités
  • Blog
    • Blog easyteam.fr
    • Blog Cloud Natives
  • Formations
  • Rugb’Easyteam
  • Contact
Menu
  • Société
    • Qui sommes-nous
    • Nos valeurs
    • Nos partenaires
    • Entreprise citoyenne
    • Régions
  • Services
    • Expertise
    • Formation
    • Développement
    • Migration
    • Infogérance
  • Join the Team
  • Actualités
  • Blog
    • Blog easyteam.fr
    • Blog Cloud Natives
  • Formations
  • Rugb’Easyteam
  • Contact
Inscrivez-vous à la newsletter

Inscrivez-vous à la newsletter

Abonnez-vous maintenant et nous vous tiendrons au courant.
Nous respectons votre vie privée. Vous pouvez vous désabonner à tout moment.

Bienvenue sur le Blog d'EASYTEAM (ex ArKZoYd)

  • Accueil
  • Actualités
  • Cloud
  • Infrastructure
  • Données / Sécurité
  • Intégration
  • Dev / DevOps
  • SAM / FinOps
Menu
  • Accueil
  • Actualités
  • Cloud
  • Infrastructure
  • Données / Sécurité
  • Intégration
  • Dev / DevOps
  • SAM / FinOps
  • le 08/07/2020
  • Mouakkat
  • Cloud, GCP

GCP Cloud Function pour Cloud Database

Partager sur linkedin
LinkedIn
Partager sur twitter
Twitter
Partager sur facebook
Facebook

Comment créer une fonction GCP dans le Cloud et établir la communication entre cette fonction et une base de données hébergée dans le Cloud.

 

Créer le script de la fonction Cloud

Pré-requis

  • Connaissance des Nodejs, Python ou Go
  • Besoin de connaissances sur la bibliothèque de connecteurs db

Script pour une base de données SQL
Pour cette démo, nous utiliserons Nodejs avec une base de données PostgreSQL, donc nous utiliserons la bibliothèque sequelize.

const { Sequelize } = require('sequelize')
//All script outside of export functions will be execute during the "cold start", see: https://cloud.google.com/functions/docs/bestpractices/tips
//Check environment variable
if (!process.env.DB_TYPE || !process.env.DB_USER || !process.env.DB_PWD || !process.env.DB_HOST || !process.env.DB_PORT || !process.env.DB_NAME) {
throw new Error(`One or many environment variables are missing`)
}
// We use the sql client like a global parameter, to avoid having to recreate the database connection on each trigger of the same instance. See: https://cloud.google.com/sql/docs/mysql/connect-functions#connection_pools_2
// For more information about sequilize see: https://sequelize.org/master/
const sequelize = new Sequelize(process.env.DB_NAME, process.env.DB_USER, process.env.DB_PWD, {
host: process.env.DB_HOST,
port: process.env.DB_PORT,
dialect: process.env.DB_TYPE,
dialectOptions: {
ssl: true
},
pool: {
// max at 1 see: https://cloud.google.com/sql/docs/mysql/connect-functions#connection_limits_2
max: 1,
min: 0,
idle: 5000,
},
logging: false
})
// This is the method used by the cloud function, we use a http trigger cloud function so we need to handle http request & response
exports.test = (req, res) => {
sequelize.authenticate().then(() => {
res.status(200).send('connection ok')
}).catch((err) => {
res.status(500).send(err)
})
}

 

Paramètres de la base de données

Pré-requis

  • Un environnement de base de données fonctionnel
  • Adapter les rôles en conséquence
  • La fonction Cloud peut être invoquée plusieurs fois pendant un petit délai. Pour garantir les performances, GCP exécutera plusieurs instances de notre fonction « Cloud », et chaque instance sera appelée plusieurs fois.

 

Créer une fonction GCP

Pré-requis

  • Un projet de GCP valable
  • IAM roles pour Cloudfunction
  • IAM rôles pour VPC (facultatif)

Avec l’interface GUI
Créer une nouvelle Cloudfunction

  • Sélectionnez le nom de la fonction Cloud
  • Sélectionnez la mémoire allouée
  • Définissez le déclencheur de la fonction Cloud
  • Importez votre script ou écrivez-le directement
  • Définissez la fonction d’exportation à exécuter
  • Choisissez la région la plus proche de l’endroit où votre base de données est hébergée (dans les paramètres avancés)

 

Mouakkat
Mouakkat
Voir tous ses articles
Partager sur linkedin
LinkedIn
Partager sur twitter
Twitter
Partager sur facebook
Facebook

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Les derniers articles

  • Master Note Middleware 2020 27/01/2021
  • Synchronisation standby avec Dbvisit 25/01/2021
  • La fin d’OVM – L’essor d’OLVM 18/01/2021
  • Azure Netapp Files 11/01/2021
  • AWS – Choisir entre les services de messagerie pour les applications Serverless AWS 04/01/2021

Les derniers commentaires

  • Synchronisation standby avec Dbvisit - EASYTEAM dans DUPLICATE…FROM ACTIVE DATABASE
  • Laurent GALLET dans Chiffrement du flux SQL*NET
  • SylvainF dans Oracle et VMware : risques, enjeux et solutions
  • Développer avec Oracle Functions - EASYTEAM dans Oracle Cloud Infrastructure Container Engine for Kubernetes
  • Younes dans Les bonnes raisons d’utiliser un CDN (réseau de diffusion de contenus / Content Delivery Network)
Espace Membres
Mot de passe perdu ?
EASYTEAM

Tour Nova, 71 Boulevard National,
92250 La Garenne-Colombes
Tél. 0800 40 60 40
contact@easyteam.fr

Facebook
Linkedin
Twitter
Navigation
  • Accueil
  • Qui sommes-nous
  • Entreprise citoyenne
  • Nos valeurs
  • Régions
  • Partenaires
  • Contact
  • Support
Menu
  • Accueil
  • Qui sommes-nous
  • Entreprise citoyenne
  • Nos valeurs
  • Régions
  • Partenaires
  • Contact
  • Support
Services
  • Développement
  • Migration
  • Infogérance
  • Expertise
  • Formation
Menu
  • Développement
  • Migration
  • Infogérance
  • Expertise
  • Formation
Blog
  • Cloud
  • Infrastructures
  • Data
  • Intégration
  • Dev / DevOps
  • SAM / FinOps
  • Applications
Menu
  • Cloud
  • Infrastructures
  • Data
  • Intégration
  • Dev / DevOps
  • SAM / FinOps
  • Applications
Copyright 2018 - EASYTEAM, Tous droits réservés
Mentions légales
Politique de confidentialité​