ETL | Mage.ai – Nastavení databází v io_config.yaml a secrets (hesla)

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
Rubrika: Mage AI - Návody a informace

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

Jmenuji se Honza Zedníček a působím jako data engineer freelancer. Během cca 10 let jsem zde shromáždil přes 600 IT case studies, průvodců, návodů a tipů určených zejména odborné veřejnosti, studentům a zájemcům o informace z oblastí Data Engineeringu, korporátních financí a reportingu. Zaměřuji se především na Microsoft technologie (on-prem i cloud) a různé synergické efekty v rámci jejich produktového portfolia pro dataře a finanční profesionály. Věnuji se také dalším platformám a významným hráčům z oblasti open source technologií. 🔥 Pokud vám tento článek pomohl, ocením referenci na vašem webu nebo zmínku v komunitě. A mám pro vás ještě tip: řešíte-li nějaký zapeklitý Excel problém, 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 *