database authentication

develop
gwen 3 years ago
parent 34e36c56b2
commit e723425094

@ -1,5 +1,9 @@
# Actes princiers -- data transformations # Actes princiers -- data transformations
1. kedro run --tags="etl_transform"
2. run --tags="populate_database"
## Project Name ## Project Name
human readable name : `Actes Princiers` human readable name : `Actes Princiers`

@ -1,26 +1,31 @@
import logging import logging
import urllib.parse
from pathlib import Path from pathlib import Path
from typing import Dict from typing import Dict
from kedro.framework.session import KedroSession from kedro.framework.session import KedroSession
from actesdataset import JSONDataSetCollection from actesdataset import JSONDataSetCollection
import pymongo import pymongo
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def populate_mongo(jsondoc: JSONDataSetCollection, storage_ip: str, db_name: str, db_collection_name: str) -> None: def populate_mongo(jsondoc: JSONDataSetCollection, storage_ip: str, db_name: str, db_collection_name: str, mongodb_admin: str, mongodb_password: str) -> None:
#logger.info(storage_ip) #logger.info(storage_ip)
#logger.info(db_name) #logger.info(db_name)
#logger.info(db_collection_name) #logger.info(db_collection_name)
jsondatasets = jsondoc.datasets jsondatasets = jsondoc.datasets
housename = jsondoc._housename housename = jsondoc._housename
mongodb_url = "mongodb://{}:27017/".format(storage_ip) #mongodb://%s:%s@149.202.41.75:27017' % (username, password)
# FIXME passer en parametres
username = urllib.parse.quote_plus(mongodb_admin)
password = urllib.parse.quote_plus(mongodb_password)
mongodb_url = f"mongodb://{username}:{password}@{storage_ip}:27017/"
#mongodb_url = "mongodb://{}:27017/".format(storage_ip)
logger.info("connection to the mongodb server: " + mongodb_url) logger.info("connection to the mongodb server: " + mongodb_url)
# pymongo settings # pymongo settings

@ -9,7 +9,8 @@ def create_pipeline(**kwargs) -> Pipeline:
node( node(
func=populate_mongo, func=populate_mongo,
inputs=["bourbon_fulljsonoutput", "params:storage_ip", "params:db_name", inputs=["bourbon_fulljsonoutput", "params:storage_ip", "params:db_name",
"params:db_collection_name"], "params:db_collection_name", "params:mongodb_admin",
"params:mongodb_password"],
outputs=None, outputs=None,
name="populate_mongo", name="populate_mongo",
tags="populate_database", tags="populate_database",

Loading…
Cancel
Save