V tomto návodu se podíváme na to, jak provést v Mage.ai nastavení io_config.yaml souboru. Koukneme se také na to, jak zakrýt a zašifrovat přístupová hesla tak, aby nebyla v tomto konfiguračním souboru k dispozici.

Mage.ai io_config.yaml konfigurace a umístění

Soubor io_config.yaml je hlavním konfiguračním souborem pro nastavení profilů, které se pak používají v blocích pro ETL pipelines. Soubor najdeme v kořenovém adresáři projektu. V mém případě: /home/src/mage-ai

mage.ai io_config

Kdž tento soubor otevřeme poprvé, vidíme tam profil, který se jmenuje default a obsahuje templates pro konfiguraci různých zdrojů, například:

  • AWS
  • Google
  • MSSQL
  • MongoDb
  • Mysql
  • PostgresSQL
  • Azure
  • Chroma, Clickhouse, Druid, DuckDb, aj.

Já pro své návody používám připojení k AdventureWorks na Azure jako zdroj (díky sqlservercentral.com) a lokální SQL Server databázi jako destination. Takže pro mě bude nastavení vypadat takto:

io_config.yaml konfigurace a nastaveni databaze

Založil jsem si v Mage 2 nové profily

  • AdventureWorks – volně dostupná databáze
  • AW_FULL_LOAD – Moje databáze kam loaduji data

Můžete si všimnout, že moje databáze neobsahuje žádné konfigurační údaje, ale obsahuje odkaz na secret.

Správa projektových secrets (hesla, adresy, účty) v Mage.ai

Jak vidíte v předchozím screenshotu, tak není samozřejmě žádoucí mít odkryté přihlašovací údaje z bezpečnostních důvodů. Mage.ai umožňuje založení secrets, na které je pak možné odkazovat dynamicky v kódu nebo třeba v konfiguračních souborech.

Secrets mají v Mage.ai scope na projekt. Dle dokumentace je však v plánu funkcionalita umožňující scope na různé prvky – environment, pipeline a podobně. Secrets si zobrazíme v pravé liště:

mage.ai secrets settings

Zde si můžeme založit secret a následně na něj odkazujeme pomocí parametru – “{{ mage_secret_var(‘<secret_name>’) }}” 

Secret je uložen v db lokálního envirinmentu kde je zašifrován. Klíč je uložen v souboru ~/.mage_data. Pokud tedy pracujeme v týmu a máme Mage.ai každý v lokálním prostředí a vyvíjíme do remote repozitáře, tak každý člen týmu musí mít secret nastaven zvlášť = nesdílí se (secret je v lokálním environmentu a šifrovací klíč ve složce projektu).

Rate this post

Ing. Jan Zedníček - Data Engineer & Controlling

Jmenuji se Honza Zedníček a působím jako freelancer. Pracoval jsem dříve také jako BI developer, finanční controller a analytik. Vše pro společnosti z oblasti IT, bankovnictví, consultingu a výroby. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a občas neúspěšně odpálím pár balónků v golfu 🏌️

Již cca 10 let zapisuji na tento web různé návody určené zejména odborné veřejnosti, studentům a zájemcům o informace z oblastí Business intelligence, korporátních financí a reportingu.

🔥 Přihlašte se do naší Excel facebook skupiny (2.4k+ členů), kde si pomáháme Excel CZ/SK diskuse »

Leave a Reply

Your email address will not be published. Required fields are marked *