Yleinen Python Script
Yleinen Python Script
Yleinen Python Script (aiemmin tunnettu nimillä Custom script ja Custom backend) on osa natiiveja liittimiä, ja sitä voidaan käyttää datan lukemiseen minkä tahansa tyyppisestä sovelluksesta ja sen viemiseen asiakkaan Matrix42 Core , Pro and IGA ratkaisuun. Toiminnallisuus toteutetaan Python-skriptillä (asiakas toimittaa skriptin), joka suoritetaan asiakkaan ratkaisun isäntäkoneessa. Skripti vastaa tietojen lukemisesta kohdesovelluksesta, ja sen on sitten luotava JSON-tiedosto lukemistaan tiedoista.
Kun mukautettu komentosarjaliitin otetaan käyttöön, se edellyttää, että
- Liittimelle on tehty Python-skripti, joka on tallennettu asiakkaan Efecte-ratkaisun isäntäkoneeseen.
- Liittimen tiedot on täytetty ja ajoitettu tehtävä on määritetty tietojen tuomiseksi asiakkaan ratkaisuun.

Yleiset toiminnot
Liittimet - yleiset toiminnot
Liittimet - yleiset toiminnot
Tässä artikkelissa kuvataan yleisiä toimintoja natiivien liittimien hallintaan ratkaisussa. Kaikkia natiiveja liittimiä hallitaan samasta liittimien hallintakäyttöliittymästä.
Huomaa, että jokaiselle liittimelle on omat kuvauksensa, joissa liittimen toiminnot ja konfigurointiohjeet on kuvattu yksityiskohtaisesti.
Päästäkseen liittimien hallintaan käyttäjällä on oltava järjestelmänvalvojan tason oikeudet asiakkaan alustan määrityksiin. Kun käyttöoikeudet on myönnetty oikein, liittimien välilehti tulee näkyviin ja käyttäjä voi hallita liittimiä.

Vasen valikko
Liittimien hallinta on jaettu neljään välilehteen:

- Yleiskatsaus – natiivien liittimien luomiseen ja päivittämiseen. Järjestelmänvalvoja voi nähdä niiden tilan, tyypin ja kuinka monta ajoitettua tai tapahtumatehtävää niihin liittyy.
- Todennus – todennustehtävien luomiseen ja päivittämiseen. Todennuksen Pro tarvitaan, jotta Secure Access voi määrittää, mitkä asiakkaiden loppukäyttäjät voivat käyttää Matrix42 Core , Pro and IGA -kirjautumissivua.
- Lokit – Native Connector- ja Secure Access -lokien lataamiseen käyttöliittymästä.
- Asetukset – yleiset asetukset natiiveille liittimille ja Secure Access , mukaan lukien lokinkirjauksen ja valvonnan ympäristötyyppi.
Liittimien yleiskatsausvälilehti
Yleiskatsaussivulta käyttäjä voi helposti ja nopeasti nähdä kaikkien liittimien tilan.

Yläpalkki:
- Natiiviliittimien (EPE) tila
- Vihreä teksti osoittaa, että Native Connectors on verkossa. Kaikki tarvittavat palvelut ovat toiminnassa.
- Punainen teksti osoittaa, että natiiviliittimissä on ongelma, eivätkä kaikki palvelut ole käynnissä.
- Secure Access tila ( ESA )
- Vihreä teksti osoittaa, että Secure Access on verkossa. Kaikki tarvittavat palvelut ovat käytettävissä.
- Punainen teksti osoittaa, että Secure Access on ongelma eikä mikään palvelut ole käynnissä.
- Natiiviliittimien versionumero näkyy oikeassa yläkulmassa
Listanäkymän yläpalkki:

- Uusi liitin - avaa uuden ikkunan uuden liittimen lisäämistä ja määrittämistä varten
- Poista yhdistin(et) - työnkulkuviittaukset lasketaan ja näkyviin tulee ponnahdusikkuna poiston vahvistamiseksi (huomaa, että viittausten laskeminen voi kestää useita sekunteja)
- Vienti - Ylläpitäjä voi viedä yhden tai useamman liittimen (ja tehtävän) ympäristöstä. Yleensä käytetään liittimien ja liittimien (ja tehtävien) viemiseen testiympäristöstä tuotantoympäristöön. Natiivien liittimien salaiset tiedot on suojattu salasanalla.
- Tuonti – Ylläpitäjä voi tuoda yhden tai useamman liittimen (ja tehtävän) ympäristöön. Yleensä käytetään liittimien (ja tehtävien) tuomiseen testistä tuotantoympäristöön.
- Ylläpitäjä ei voi tuoda tietoja vanhasta EPE-käyttöliittymästä (vanhempi kuin 2024.1) uuteen. Lähde- ja kohdeympäristöjen versioiden on oltava samat.
- Tuonti epäonnistuu, jos määritykset (mallit, määritteet) eivät ole samat – esimerkiksi jos jokin määrite puuttuu.
- Jos tuot jotain, jolla on samat liittimen tiedot, se yhdistetään olemassa olevan liittimen alle.
- Päivitä – Ylläpitäjä voi päivittää yhdistinnäkymän napsauttamalla painiketta .
Yleiskatsaus luettelonäkymässä,

- Valitse liittimet - Valitse yksi liitin napsauttamalla liitinrivin edessä olevaa valintaruutua tai napsauta otsikkorivin valintaruutua, jolloin kaikki liittimet valitaan.
- Id - Liittimen automaattisesti luotu yksilöllinen tunnus. Sitä ei voi muokata tai muuttaa.
- Tila - ilmaisee ajoitetun tehtävän tilan
-
Vihreä valintamerkki - Tehtävä suoritetaan ilman virheitä
-
Punainen risti - Tehtävä on suoritettu, mutta on tapahtunut virhe
-
Harmaa kello - Tehtävää ei ole vielä suoritettu, odotetaan ajoitusta -
Oranssi - yhdessä tehtävistä on ongelma
- Ei arvoa - Ajoitettu tehtäväpohjainen tieto puuttuu
-
- Nimi - Liittimen nimi lisätty liittimen asetuksiin. Yhden tietolähteen kokoonpanoa sisältävän liittimen yksilöllinen nimi.
- Tyyppi - osoittaa kohde-/lähdejärjestelmän
- Ajoitettu - kertoo, kuinka monta ajoitettua tehtävää on määritetty
- Tapahtuma - kertoo, kuinka monta tapahtumatehtävää on määritetty
- Hallitse
- Kynäkuvake - avaa yhdistimen asetukset (yhdistimen rivin kaksoisnapsauttaminen avaa myös asetukset)
- Paperikuvake - kopioi liittimen
- Pysäytä - työnkulkuviittaukset lasketaan ja näkyviin tulee ponnahdusikkuna poiston vahvistamiseksi
- Haku - Käyttäjä voi hakea liitintä kirjoittamalla hakusanan vastaavaan kenttään. Haku voidaan tehdä kentistä Tunnus, Tila, Nimi, Tyyppi, Aikataulutettu ja Tapahtuma.
Ajoitetun tehtävän tiedot (napsauta yhdistimen edessä olevaa nuolta)
Kun napsautat yhdistinrivin alussa olevaa nuolta, kaikki asiaankuuluvat ajoitetut tehtävät ja tapahtumatehtävät tulevat näkyviin.

Yläpalkki ajoitetuille tehtäville
- Uusi tehtävä - avaa uuden tehtävän määrityssivun
- Poista tehtävä(t) - poistaa valitut tehtävät järjestelmästä, eikä niitä voida enää palauttaa.
- Päivitä - päivitä ajoitettujen tehtävien näkymä
- Haku – käyttäjä voi hakea tehtäviä kirjoittamalla hakusanan vastaavaan kenttään, kuten Tunnus, Nimi, Käytössä tai Poiminnan/Lataamisen tila.
Ajoitettujen tehtävien luettelonäkymä

- Valitse tehtävä(t) - Valitse poistettava tehtävä luettelonäkymästä rastittamalla se.
- Id - Tehtävän yksilöllinen tunniste. Luodaan automaattisesti, eikä sitä voi muuttaa.
- Nimi - Tehtävän nimi lisätty tehtäväasetuksiin, tehtävän yksilöivä nimi.
- Käytössä - Näyttää, onko tehtävä ajoitettu vai ei
-
Vihreä valintamerkki - Tehtävä on ajoitettu
-
Punainen Risti - Tehtävää ei ole ajoitettu
-
- Poiminnan tila – Näyttää kohdehakemistosta/järjestelmästä poimitun tiedon tilan
-
Vihreä valintamerkki - tiedot on purettu onnistuneesti
-
Punainen risti - tiedot on poimittu virheellisesti tai poiminta epäonnistui
-
Kello - Tehtävä odottaa suoritusta
-
- Lataustila - Näyttää datan viennin tilan JSON-tiedostosta asiakkaan ratkaisuun
-
Vihreä valintamerkki - tiedot on tuotu onnistuneesti asiakkaan ratkaisuun
-
Punainen risti - tietojen tuonnissa on virheitä tai tuonti epäonnistui
-
- Hallitse
- Kynäkuvake - avaa tehtävän asetukset omaan ikkunaansa (tehtävärivin kaksoisnapsauttaminen avaa myös tehtävän asetukset)
- Paperikuvake - kopioi tehtävän
- Kellokuvake - avaa tehtävähistorianäkymän
- Pysäytä - poista tehtävä, ponnahdusikkuna avautuu poiston vahvistamiseksi
Ajoitettujen tehtävien historianäkymä
Napsauttamalla ajoitettujen tehtävien rivillä olevaa kellokuvaketta saat näkyviin ajoituksen historian.

Katseluhistorian yläpalkki
- Päivitä - päivittää ajoitetun tehtävän tilan. Tämä ei vaikuta tehtävään, vaan päivittää käyttöliittymän näyttämään tehtävän suorituksen uusimmat tiedot.
Ajoitettujen tehtävien historian luettelonäkymä
- Rivin väri ilmaisee tilan
-
Vihreä - tehtävä suoritettu onnistuneesti
-
Punainen - suorituksen aikana tapahtui virhe
-
- Suoritustunnus – ajoitetun tehtävärivin yksilöivä tunnus
- Suunniteltu purkuaika - milloin seuraava purku hakemistosta/sovelluksesta on ajoitettu tapahtumaan
- Poiminnan valmistumisaika - milloin poiminta valmistui
- Purkamisen tila - hakemistosta/sovelluksesta haettavien tietojen tila
- Kuorman aloitusaika - milloin seuraava lataus asiakkaalle on ajoitettu tapahtumaan
- Kuormauksen valmistumisaika - milloin kuormitus on valmis
- Lataustila - tiedon lataustila asiakasratkaisuun
Ajoitettujen tehtävien tilan luettelonäkymä
- Todellinen aloitusaika - todellisen aloituksen aikaleima
- Käyttäjätiedosto - JSON-tiedosto, joka sisältää hakemistosta/sovelluksesta luetut käyttäjätiedot
- Ryhmätiedosto - JSON-tiedosto, joka sisältää hakemistosta/sovelluksesta luetut ryhmätiedot
- Yleinen tiedosto - JSON-tiedosto, joka sisältää hakemistosta/sovelluksesta luettuja yleisiä tietoja
- Poimi tiedot - yksityiskohtaisia tietoja tietojen lukemisesta hakemistosta/sovelluksesta
- Lataustiedot - yksityiskohtaiset tiedot tietojen lataamisesta asiakkaille Matrix42 Core , Pro and IGA -ratkaisussa
Ajoitetun tehtävän muokkausikkuna
Ajoitetun tehtävän määritykset voidaan avata napsauttamalla kynäkuvaketta tai kaksoisnapsauttamalla tehtäväriviä.
Vasemmanpuoleinen valikko ja ominaisuudet vaihtelevat valittujen asetusten mukaan, joten tarkemmat ohjeet tehtävien muokkaamiseen löytyvät liittimen kuvauksesta, mutta kaikille ajoitetuille tehtäville on yhteisiä toimintoja, jotka on kuvattu alla.

Tehtävän tallentaminen
Jos tehtävästä puuttuu pakollisia tietoja, hiiren vieminen tallennuspainikkeen päälle näyttää, mitkä ominaisuudet ovat vielä tyhjiä.
Yläpalkki ajoitetun tehtävän muokkaamista varten
- Suorita tehtävä manuaalisesti - ylläpitäjä voi suorittaa tehtävän manuaalisesti määritetyn aikataulun ulkopuolella
- Pysäytä tehtävä - ylläpitäjä voi pysäyttää parhaillaan käynnissä olevan ajoitetun tehtävän. Tehtävä pysäytetään ja sen tilaksi muutetaan pysäytetty. Se odottaa tässä tilassa seuraavaa ajastusta.
- Tyhjennä datavälimuisti - Käyttäjien ja ryhmien seuraavan käyttöönoton datavälimuisti tyhjennetään. Tämä tarkoittaa, että seuraava suoritus suoritetaan ensimmäisenä suorituksena.
- Oletusarvoisesti tyhjennämme välimuistin joka päivä klo 00:00 UTC
- Jos haluat tyhjentää välimuistin eri aikoina, sen on määritettävä jokin eri arvo isäntätiedostossa 'custom.properties'.
- EPE-välimuisti tyhjennetään myös, kun EPE käynnistetään uudelleen, koko ympäristö käynnistetään uudelleen tai EPE-määrityksiä on muutettu.
Tapahtuman tehtävän tiedot
Kun napsautat yhdistinrivin alussa olevaa nuolta, kaikki asiaankuuluvat ajoitetut tehtävät ja tapahtumatehtävät tulevat näkyviin.

Tapahtumatehtävien yläpalkki
- Uusi tehtävä - avaa uuden tapahtumatehtävän määrityssivun
- Poista tehtävä(t) - poistaa valitut tehtävät, näkyviin tulee ponnahdusikkuna poiston vahvistamiseksi
- Päivitä – päivittää tapahtuman tehtävänäkymän
- Näytä työnkulkuviittaukset - laskee tehtäviin liittyvät työnkulkujen suhteet ja tilat. Tämä on erittäin hyödyllistä, jos et tiedä, mistä työnkuluista tapahtumapohjaisia tehtäviä käytetään.
Tapahtumatehtävien luettelonäkymä
- Valitse tehtävä(t) - Valitse poistettava tehtävä luettelonäkymästä rastittamalla se.
- Id - Tehtävän yksilöllinen tunniste. Luodaan automaattisesti, eikä sitä voi muuttaa.
- Nimi - Tehtävän nimi lisätty tehtäväasetuksiin, tehtävän yksilöivä nimi.
- Työnkulkusuhteet
- Kysymysmerkki näyttää ponnahdusikkunan, jossa on yksityiskohtaisia tietoja viitteestä
- Työnkulun tila
- Ei käytössä - Ei yhteyksiä työnkulkuun
- Käytössä - Työnkulku(t) on liitetty tehtävään, tehtävää ei voi poistaa
- Hallitse
- Kynäkuvake - avaa tehtävän asetukset omaan ikkunaan
- Paperikuvake - kopioi tehtävän
- Pysäytä-kuvake - poistaa tehtävän, näkyviin tulee ponnahdusikkuna poiston vahvistamiseksi
Tapahtumatehtävän muokkausikkuna
Tapahtumatehtävän määritykset voidaan avata napsauttamalla kynäkuvaketta tai kaksoisnapsauttamalla tehtäväriviä.
Vasemmanpuoleinen valikko ja ominaisuudet vaihtelevat valittujen asetusten mukaan, joten tarkemmat ohjeet muokkaustehtäviin löytyvät liittimen kuvauksesta, mutta kaikille tapahtumatehtäville on yhteisiä toimintoja, jotka on kuvattu alla.

Muokkaa tapahtumaa -tehtäväikkuna
- Tehtävän käyttö, muokattavissa? - tämä tulee näkyviin, kun olemassa olevan tehtävän muokkaaminen ja tehtävän käyttötyypin muuttaminen rikkoo työnkulut
- Määritysten tyyppi, muokattavissa? - Tämä tulee näkyviin, kun muokataan olemassa olevaa tehtävää ja määritysten tyypin muuttaminen rikkoo työnkulut
Tehtävän tallentaminen
Jos tehtävästä puuttuu pakollisia tietoja, hiiren vieminen tallennuspainikkeen päälle näyttää, mitkä ominaisuudet ovat vielä tyhjiä.
Todennus-välilehti
Matrix42 Core , Pro and IGA ratkaisujen todennus määritetään todennusvälilehdeltä. Huomaa, että vain osa liittimistä (hakemistoliittimet) tukee todennusta, joten todennustehtäviä ei ole mahdollista luoda kaikille käytettävissä oleville liittimille.

Yläpalkki todennusta varten
- Uusi liitin - avaa uuden ikkunan uuden liittimen määrittämiseen (huomaa, että kaikki liittimet eivät tue todennusta)
- Poista yhdistin(et) - poistaa valitut tehtävät, näkyviin tulee ponnahdusikkuna poiston vahvistamiseksi
- Vienti - käyttäjä voi viedä yhden tai useamman tehtävän ympäristöstä. Yleensä käytetään tehtävien vientiin testiympäristöstä tuotantoympäristöön. EPE-liittimet on suojattu salasanalla.
- Huomaa, että todennustehtävien aluetta ei viedä, se on määritettävä manuaalisesti tuonnin jälkeen.
- Tuonti - käyttäjä voi tuoda yhden tai useamman tehtävän ympäristöön. Yleensä käytetään tehtävien tuomiseen testistä tuotantoympäristöön.
- Päivitä – päivittää todennustehtävien näkymän
Todennuksen yleiskatsauksen luettelonäkymä
- Valitse liittimet - Valitse yksi liitin napsauttamalla liitinrivin edessä olevaa valintaruutua tai napsauta otsikkorivin valintaruutua, jolloin kaikki liittimet valitaan.
- Id - Liittimen automaattisesti luotu yksilöllinen tunnus. Sitä ei voi muokata tai muuttaa.
- Nimi - Liittimen nimi lisätty liittimen asetuksiin. Yhden tietolähteen kokoonpanoa sisältävän liittimen yksilöllinen nimi.
- Tyyppi - osoittaa kohde-/lähdejärjestelmän
- Määrä - kertoo, kuinka monta todennustehtävää on määritetty
- Hallitse
- Kynäkuvake - avaa todennustehtävän asetukset omaan ikkunaansa
- Paperikuvake - kopioi tehtävän
- Pysäytä-kuvake - poistaa valitun tehtävän
Todennustehtävän tiedot
Kun napsautat yhdistinrivin alussa olevaa nuolta, kaikki asiaankuuluvat ajoitetut ja tapahtumatehtävät tulevat näkyviin.

Yläpalkki todennuksen yleiskatsaukseen
- Luo uusi tehtävä - avaa uuden todennustehtävän määrityssivun
- Poista tehtävä(t) - poistaa valitut tehtävät, näkyviin tulee ponnahdusikkuna poiston vahvistamiseksi
- Päivitä – päivittää todennustehtävien näkymän
Listanäkymä todennuksen yleiskatsaukseen,
- Valitse tehtävä(t) - Valitse poistettava tehtävä luettelonäkymästä rastittamalla se.
- Id - Tehtävän yksilöllinen tunniste. Luodaan automaattisesti, eikä sitä voi muuttaa.
- Nimi - Tehtävän nimi lisätty tehtäväasetuksiin, tehtävän yksilöivä nimi.
- Hallitse
- Kynäkuvake - avaa tehtävän asetukset omaan ikkunaansa (tehtävärivin kaksoisnapsauttaminen avaa myös asetusikkunan)
- Paperikuvake - kopioi tehtävän
- Pysäytä-kuvake - poistaa tehtävän, näkyviin tulee ponnahdusikkuna poiston vahvistamiseksi
Lokit-välilehti
Lokit-välilehdellä voi ladata käyttöliittymästä Native Connector- ja Secure Access -lokeja yksityiskohtaista vianmääritystä varten.

- epe-master -lokit - sisältää varoitus-, virhe- ja virheilmoituksia natiiveista liittimistä sekä tietoa siitä, kuinka kauan tehtäviin liittyviä toimia on suoritettu.
- epe-worker-ad lokit - Sisältää Active Directory -liittimen tilan tiedot (mitä Native Connector lataa asiakkaan Matrix42 Core , Pro and IGA ratkaisuun). Jos valinta on tyhjä, hakemisto ei ole käytössä tässä ympäristössä.
- epe-worker-azure -lokit - sisältää Entra ID :n tilatiedot (mitä Native Connector lataa asiakkaan Matrix42 Core , Pro and IGA ratkaisuun). Jos valinta on tyhjä, hakemisto ei ole käytössä tässä ympäristössä.
- epe-worker-ldap lokit - sisältää LDAP:n tilatiedot (mitä Native Connector lataa asiakkaan Matrix42 Core , Pro and IGA ratkaisuun). Jos valinta on tyhjä, hakemisto ei ole käytössä tässä ympäristössä.
- epe-laukaisujen lokit - sisältää tietoa EPE-laukaisuista
- datapump-itsm-l ogs - Sisältää tietoa datan viennistä asiakkaille Matrix42 Core , Pro and IGA ratkaisuissa.
- esa -lokit - Sisältää tietoa Secure Access -todennuksesta.
Asetukset-välilehti
Asetukset-välilehtiä käytetään yhdistimiä sisältävien ympäristöjen valvontaan.

- Ympäristötyyppi - on pakollinen valinta ja tietoja käytetään esimerkiksi hälytyksen kriittiseen määrittelyyn.
- Testi – valitse tämä, kun ympäristöäsi käytetään testiympäristönä
- Pro d - valitse tämä, kun ympäristöäsi käytetään tuotantoympäristönä
- Demo – valitse tämä, kun ympäristöäsi käytetään demo- tai harjoitusympäristönä
- Kehittäjä – valitse tämä, kun ympäristöäsi käytetään kehitysympäristönä
Mitä me valvomme?
- Aikataulun mukaisen provisioinnin epäonnistumiset (tietojen poimiminen, tietojen vienti ESM:ään, vanhentuneet varmenteet, virheelliset salasanat, virheellinen hakukanta/suodatin, virheelliset määritykset jne.)
- Tapahtumapohjaisen provisioinnin epäonnistumiset ( AD / Azure kirjoittaminen jne. epäonnistuu)
- Tapahtumapohjainen valmistelu – mitä liittimiä käytetään tietojen kirjoittamiseen sovelluksiin/hakemistoihin.
- ESA yli kymmenen epäonnistunutta kirjautumisyritystä yhdelle käyttäjälle viimeisen kolmen päivän aikana
- Ympäristötyyppi - on pakollinen valinta ja tietoja käytetään esimerkiksi hälytyksen kriittiseen määrittelyyn.
Tietojen migraatiot
Älä napsauta ”Siirrä attribuuttimääritykset” tai ”Siirrä työnkulut”, ellei Matrix42 pyydä sinua tekemään niin.
Luo Python-skripti
Tässä on esimerkki Python-skriptistä, mutta voit myös luoda oman.
#!/usr/bin/python3
JSON-tiedostojen tuonti
tuo käyttöjärjestelmä
tuo common_subroutines_efecte_library
# system_info_efecte_library.printOsNimi()
# system_info_efecte_library.printReleaseVersion()
arguments_dictionary = common_subroutines_efecte_library.initialize_script()
#################################################
#
# laita asiakaskohtaiset skriptit tähän
#
#
data_extraction_attributes_json = arguments_dictionary['data_extraction_attributes']
script_current_working_directory = arguments_dictionary['script_current_working_directory']
virhe_tiedostonimi_täysi_polku = argumenttien_sanakirja['virhe_tiedostonimi']
odotettu_tulostiedoston_nimi_täysi_polku = argumenttien_sanakirja['odotettu_tulostiedoston_nimi']
syketiedoston_nimi_täysi_polku = argumenttien_sanakirja['syketiedoston_nimi']
lokitiedoston_nimi_täysi_polku = argumenttien_sanakirja['lokitiedoston_nimi']
kokonais_poimittavat_ominaisuudet = len(tietojen_poiminnan_ominaisuudet_json)
common_subroutines_efecte_library.log_line(log_filename_full_path, 'skriptin käsittely aloitettu')
os.chdir(script_current_working_directory)
lista = []
sanakirjan_tietojen_poiminnan_määritteet = {}
n:lle joukosta range(total_attributes_to_extract):
attribuutin_nimi = common_subroutines_efecte_library.get_value_from_json(datan_poiminta_attribuutit_json[n],
'attribuutinNimi')
moniarvo = common_subroutines_efecte_library.get_value_from_json(tietojen_poiminta_attribuutit_json[n], 'moniarvo')
sanakirjan_tietojen_poiminta_attribuutit[attribuutin_nimi] = str(moniarvo)
common_subroutines_efecte_library.log_line(log_filename_full_path, 'skripti luo json-tiedoston pyydetyillä kentillä')
n:lle välillä (1, 11):
arvosanakirja = {}
one_key-muuttujalle dictionary_data_extraction_attributes.keys()-funktiossa:
values_dictionary[one_key] = 'tämä on esimerkkiarvo riville = ' + str(n) + ', avain = ' + one_key
lista.append(arvojen_sanakirja)
# tulosta(json.dumps(list, sisennys=4, lajitteluavaimet=True))
f = open(odotettu_tulostetiedoston_nimi_täysi_polku, "w")
f.write(json.dumps(list, sisennys=4, sort_keys=True))
f.sulje()
common_subroutines_efecte_library.log_line(log_filename_full_path, 'skripti suoritettu onnistuneesti!')
# json_data = json.dumps(lista)
# tulosta('json_data = ' + json_data)
# syketiedosto on päivitettävä vähintään kerran 5 minuutissa
f = open(syketiedostonimi_täysi_polku, "w+")
f.write('sydämenlyönti päivitetty: ' + common_subroutines_efecte_library.get_timestamp())
f.sulje()
Mukautetun taustajärjestelmän liittimen määrittäminen
Päästäkseen liittimien hallintaan käyttäjällä on oltava oikeudet Efecte Platformin konfigurointiin.
1. Avaa Efecten hallinta-alue (ratassymboli).
2. Avaa yhdistinnäkymä.
3. Valitse uusi liitin

2. Valitse tietolähteen tyypiksi Mukautettu taustajärjestelmä

3. Täytä tiedot
- Täytä liittimen yksilöllinen nimi. Huomaa, että nimeä ei voi muuttaa jälkikäteen.
- Valitse [script_filename].py-skripti valmisteluskriptikentästä.
- Parametrien salaussalasana tarvitaan parametrien piilottamiseen/näyttämiseen liittimen tallentamisen jälkeen.
- Web API -käyttäjää tarvitaan, kun liitin kirjoittaa dataa asiakkaille Efecte-ratkaisu
- Web API -salasana tarvitaan, kun liitin kirjoittaa tietoja asiakkaille Efecte-ratkaisu

4. Tallenna liitin tallennuspainikkeella. Liitin on nyt määritetty ja voit siirtyä eteenpäin Määritä ajoitettu tehtävä -kohtaan.
Suositukset FTP-palvelimen kansiorakenteelle
Jos asiakas haluaa käyttää mukautettua taustajärjestelmän liitintä useiden erityyppisten tietojen tuomiseen, on suositeltavaa käyttää yhtä mukautettua taustajärjestelmän liitintä tietotyyppiä kohden.
Esimerkiksi jos asiakas haluaa tuoda oikeuksia ja rooleja, hänellä tulee olla kaksi yhdistintä, kuten "Oikeusyhdistin" ja "Rooliyhdistin".
Ja jos nuo kaksi liitäntätiedostoa sijaitsevat samalla ftp-palvelimella, niiden kansiorakenne voisi olla esimerkiksi:
/sftp/iga/in/entitlements
/sftp/iga/in/entitlements/archive
/sftp/iga/in/roolit
/sftp/iga/in/roles/archive
Datakansion tulisi sisältää vain yksi tiedosto kerrallaan.
Tämän kansiorakenteen avulla voit käyttää näitä komentosarjaparametreja oikeutusliittimessäsi:
“sftp_remote_path_data”:"/sftp/iga/in/ oikeudet ",
“sftp_remote_path_archive”:"/sftp/iga/in/ oikeudet /archive",
“file_path”:"./ oikeudet /*.csv"
Ja vastaavasti erilaiset komentosarjaparametrit rooliliittimelle.
Yleisiä uid ajoitettuihin tehtäviin
General g uid ance for scheduled tasks
How to Create New Scheduled Task to import data
For configuring scheduled-based provisioning task, you will need access to Administration / Connectors tab.
1. Open the Administration area (a cogwheel symbol).
2. Open Connectors view.
3. Choose Connector for Scheduled-based task and select New Task
Note! If connector is not created, you have to choose first New connector and after that New task.

4. Continue with connector specific instructions: Native Connectors
Should I use Incremental, Full or Both?
Scheduled task can be either Incremental or Full -type.
Do not import permissions with AD and LDAP incremental task
Incremental task has issue with permissions importing. At the moment it is recommended not to import group memberships with incremental scheduled task.
On Microsoft Active Directory and OpenLDAP connectors, remove this mapping on incremental task:

Setting on Scheduled tasks:

Incremental type is supported only for Microsoft Active Directory, LDAP and Microsoft Graph API (formerly known as Entra ID) Connectors.
Incremental type means, that Native Connectors (EPE) fetches data from source system, using changed timestamp information, so it fetches only data which is changed or added after previous incremental task run.
When Incremental type task is run for very first time, it does a full fetch (and it marks the current timestamp to EPE database), thereafter, task uses that timestamp to ask the data source for data that changed since that timestamp (and then EPE updates the timestamp to EPE database for next task run). Clearing task cache doesn't affect this timestamp, so Incremental task is always incremental after first run.
Full type is supported for all Connectors.
Full type import fetches always all data (it's configured to fetch) from source system, on every run.
Both Full and Incremental type tasks use also Task cache in EPE, which makes certain imports faster and lighter for M42 system.
By default that task cache is cleared ad midnight UTC time. When cache is cleared, next import after that is run without caching used to reason if data fetched should be pushed to ESM, all fetched data is pushed to ESM. But after that, next task runs until next time cache is cleared, are using EPE cache to determine if fetched data needs to be pushed to ESM or not.
You can configure at what time of day task cache is emptied, by changing global setting in EPE datapump configuration:
/opt/epe/datapump-itsm/config/custom.properties
which is by default set to: clearCacheHours24HourFormat=0
You can also clear cache many times a day, but that needs to be thinked carefully, as it has impact on overall performance as EPE will push changes to ESM, that probably are already there, example(do not add spaces to attribute value): clearCacheHours24HourFormat=6,12
After changing this value, reboot EPE datapump container to take change into use.
Recommendations:
Have always by default Full type scheduled task.
If you want to fetch changes to data fetched already by full task, more frequently than you can run full task, add also incremental task. Usually incremental task is not needed.
Recommended Scheduling Sequence
Recommended scheduling sequence, depends how much data is read from Customers system/directory to the Matrix42 Core, Pro or IGA solution and is import Incremental or Full.
Examples for scheduling,
| Total amount of users | Total amount of groups | Full load sequence | Incremental load sequence |
| < 500 | < 1000 |
Every 30 minutes if partial load is not used Four (4) times a day if partial load is used |
Every 10 minutes |
| < 2000 | < 2000 |
Every 60 minutes, if partial load is not used Four (4) times a day if partial load is used |
Every 15 minutes |
| < 5000 | < 3000 |
Every four (4) hours, if partial load is not used Twice a day if partial load is used |
Every 15 minutes |
| < 10 000 | < 5000 | Maximum imports twice a day, no matter if partial load is or is not used | Every 30 minutes |
| < 50 000 | < 7000 | Maximum import once a day, no matter if partial load is or is not used | Every 60 minutes |
| Over 50 000 | Over 7000 | There might be a need for another EPE-worker, please contact Product Owner | Separately evaluated |
Please note that if there are several tasks running at the same time you may need more EPE-workers. The tasks should be scheduled at different times and can be completed according to the table above. However, if there are more than 6 tasks running at the same time, the number of epeworkers should be increased. It's best practice not to schedule tasks to run at same time, if possible.
Recommendations related to performance
If the amount fo data to be imported is over 10000 concider these things:
Adjust log level of ESM and DATAPUMP to ERROR-level, to lowe the amount of logging during task run
Have as few as possible automations starting immediately for imported datacards (listeners, handlers, workflows), as those make ESM to take longer time handling new datacards.
Set removed accounts and entitlements status removed/disabled
With this functionality, you can mark account and entitlement status to e.g. Deleted or Disabled, when account or entitlement is removed from source system. Starting from version 2025.3 you can also set status to generic objects (not only to accounts/identities and entitlements/groups).
For version 2025.3 and newer
In version 2025.3 these settings are moved from properties files to Task UI. Also you can now set these settings for Generic objects, which have not been possible before this version.
There is separate configuration for each scheduled task, and for all mapping types. Here is example of this config on task:

For version 2025.2 and older
This functionality is available for “full” type scheduled tasks.
Settings are on datapump dockers configuration file. To change those parameter values, you need to set those in /opt/epe/datapump-itsm/config/custom.properties file.
Configuration
To enable disabling functionality, datapump config should have these parameters set to true:
disable.unknown.esm.users=truedisable.unknown.esm.groups=true
Those 2 parameters are false by default in 2024.2 and 2025.1 versions. In 2025.2 and newer version those are true by default.
Next are these parameters:
personTemplateStatusCodeAttributeKey=accountStatuspersonTemplateStatusAttributeDisabledValueKey=DeletedgroupTemplateStatusCodeAttributeKey=statusgroupTemplateStatusAttributeDisabledValueKey=5 - Removed
First two attributes should point to the DatacardHiddenState attribute in the User template, and tell which value should be send there when the user is deleted.
By default its accountStatus and Value 5 - Removed on IGA Account template.
All these needs to match with the attribute configuration:

Same thing applies for the next two paramaters, but its for Groups.'
If you need to change those parameters in properties file, do changes in Datapump container to file: /opt/epe/datapump-itsm/config/custom.properties and those changes will then survive over container reboot and will be copied on reboot to /opt/epe/datapump-itsm/config/application.properties.
Description
Tasks save their __taskid__ shown as Task Id mapping in the UI to the datacards, its then used to determine if the datacard was added by this task. In case there are multiple tasks with different sets of users.
This field was previously used as datasourceid, but since we moved to the model where connector can have multiple tasks its identifier cannot be used anymore, thats why the field was repurposed as taskid instead.
Taking users as an example, when task runs ESM is asked for the list of users that have its taskid in Task Id mapping field, and doesn't have a personTemplateStatusAttributeDisabledValueKey value in the personTemplateStatusCodeAttributeKey
This result is then compared to what the task fetched, and the datacards of users that were not fetched have their personTemplateStatusattribute set to value specified in the config - 5 - Removedby default.
Example log below shows described process and informs that one user was removed.

Same thing applies to groups but groupTemplateStatusattributes are used instead.
Notes
- Feature works only with full fetch scheduled tasks..
- No support for generic templates yet, only identity and access
- When migrating from the previous versions where datasourceid was still used it needs to run at least once to set its taskid’s in the datacards first.
- EPE identifies Disabled users or groups as the ones that were removed from the AD, at the present we do not support statuses related to the entity beign active or not.
- EPE does not enable users back on its own.
- If more than one tasks fetches the same users or groups it may overwrite the taskid in the datacard depending on which task ran last. It is suggested that many full type tasks are not fetching same user or group.
- Always do configuration file changes to custom.properties, do not change only application.properties as those changes are lost on container reboot if you have not done same changes to custom.properties.
Ajoitetun tehtävän määrittäminen tietojen lukemista varten
Huom! Jos liitintä ei luoda, sinun on ensin luotava ”uusi liitin” ja sen jälkeen voit luoda uusia tehtäviä.
1. Avaa Efecten hallinta-alue (ratassymboli).
2. Avaa yhdistinnäkymä.
3. Valitse liitin, jolle aikataulutettu tehtävä on määritetty
4. Valitse uusi tehtävä oikean yhdistimen alta

4. Määritä tehtävän ajoitus (suoritetaanko ajoitettu tehtävä säännöllisesti ja miten). Valitse ajoitusjärjestys, joka riippuu siitä, kuinka paljon dataa luetaan asiakkaalle Efecte-ratkaisussa.

5. Täytä tehtävän tiedot
- Yhdistimen yksilöllinen tehtävänimi. Huomaa, että nimeä ei voi muuttaa jälkikäteen.
- Tehtävien käyttö on asetettu ajoitetuksi
- Yhdistämistyypiksi on asetettu yleinen (yksi malli)

6. Täytä vikatiedot
Valinnaiset asetukset virheiden käsittelyyn. Jos ajoitettu tehtävä epäonnistuu, Efecte ESM:ään voidaan luoda datakortti, joka näyttää virheen. Jos virheasetukset on määritetty, järjestelmänvalvojan ei tarvitse tarkistaa ajoitettujen tehtävien tilaa manuaalisesti.
- Virhemalli - Valitse datakortin malli, joka luodaan, jos valmistelussa ilmenee virheitä (yhteys tietolähteisiin, aikakatkaisut jne.).
- Vikakansio - Valitse kansio, johon vikatietokortti on tallennettu.
- Virheattribuutti – Valitse attribuutti, mihin virhemallissa virhetiedot tallennetaan.

- Objectg uid :n attribuutin nimi. Kirjoita syötetietosarakkeen/attribuutin nimi, joka sisältää rivin yksilöllisen tunnisteen. Esimerkiksi: objectGUID

7. Täytä yleisen mallin määritykset
Yleisiä tietoja luetaan mihin tahansa käyttäjän haluamaan mallipohjaan, ja on pakollista asettaa kohdekansio, tietolähteen tunniste ja yksilölliset arvot, joita käytetään tiedon tunnistamiseen mukautetun taustajärjestelmän ja Efecte-ratkaisun välillä.
- Kohdemalli – Valitse malli määrittääksesi attribuuttimääritykset
- Kohdekansio - Valitse kansio kansioluettelosta. Luetteloa rajataan vastaamaan yhteensopivuutta valitun mallin kanssa.
- Ominaisuusmääritykset
- Efecte-mallin attribuutti - mihin attribuuttiin Efecte-hakemistossa attribuutti on yhdistetty.
- tiedostoattribuutti - mikä tiedoston attribuutti on yhdistetty Efecteen

8. Jos sinun täytyy muokata varsinaista skriptiä, se on ladattava asiakkaan isäntäkoneelta, muokattava ja ladattava uudelleen.
- Jos sinulla ei ole pääsyä isäntäkoneeseen, ota yhteyttä Efecte Service Desk saadaksesi apua.
9. Tallenna muutokset
10. Ennen mukautetun taustapään liittimen ajoitetun tehtävän suorittamista,
- Tarkista, että kaikki työnkulkuihin ja datakorttien asetuksiin liittyvät määritykset ovat paikoillaan.
- Kun suoritat ensimmäisen kerran, varmista, että hakemistojen ja sovellusten provisiointi on poistettu käytöstä.
- Jos käytät oletusarvoista IGA Connector.py-tiedostoa ja csv-tyyppistä tuontitiedostoa, käytetty kenttäerotin on ; (puolipiste).
11. Suorita tehtävä manuaalisesti tai odota, kunnes ajoitettu suoritus on alkanut.
12. Vahvista, että tiedot on luettu oikeille datakorteille ja että oikeat määritteet ovat käytössä.
13. Vianmääritys
- Jos käytetään vikamallia, tarkista oikea datakortti
- Tarkista ajoitettujen tehtävien historia liitinten hallinnasta
- Tarkista Efecte Provisioning Engine lokit
Tapahtumatehtävän määrittäminen datan kirjoittamista varten
- Avaa Efecte Platformin määritysnäkymä (ratassymboli).
- Avaa yhdistinnäkymä
- Valitse liitin, joka käyttää tapahtumatehtävää
- Valitse oikean liittimen alta ”uusi tehtävä”.

4. Täytä tehtävän tiedot
- Tehtävän nimi - Anna tehtävälle nimi, se näytetään yhdistinnäkymässä.
- Tehtävän käyttö osoittaa, että kyseessä on tehtävä, jota käytetään datan lukemiseen tai datan kirjoittamiseen. Muutosta voidaan tehdä jälkikäteen, mutta sitä ei suositella, jos tapahtumatehtävä on käytössä. Se rikkoo työnkulut.
- Valitse Yleinen yhdistämismäärityksen tyyppi

5. Määrittele yleiset määritykset
- Kohdemalli – Valitse malli määrittääksesi attribuuttimääritykset
- Kohdekansio - Valitse kansio kansioluettelosta. Luetteloa rajataan vastaamaan yhteensopivuutta valitun mallin kanssa.
- Ominaisuusmääritykset
- Efecte-mallin attribuutti - mihin attribuuttiin Efecte-hakemistossa attribuutti on yhdistetty.
- Backend-attribuutti - mikä hakemiston attribuutti yhdistetään Efecteen
- Lisää uusi ominaisuus - Voit asettaa lisää ominaisuuksia, jotka luetaan taustajärjestelmästä, valitsemalla Uusi ominaisuus -painikkeen.

6. Tallenna valmistelutehtävä “tallenna”-painikkeella
7. Seuraava vaihe on työnkulun määrittäminen käyttämään tätä tapahtumapohjaista tehtävää. Efecte Platformin työnkulkumoottorista on mahdollista suorittaa taustajärjestelmän suuntaisia provisiointitoimintoja. Tämä tarkoittaa, että mitä tahansa käytettävissä olevien orkestrointisolmujen toimintaa voidaan suorittaa missä tahansa työnkulun vaiheessa.
Työnkulkuviitteet näkyvät liittimen yleiskatsaussivulla.

Työnkulun aktiviteetit (orkestrointisolmut)
Suorita valmistelutehtävä
Tätä toimintoa käytetään, kun kaikki hakemiston tiedot tarvitaan välittömästi takaisin.

Yllä olevassa kuvassa järjestelmänvalvojat voivat valita oikean hakemiston ”Kohde”. Suorita provisiointitehtävä orkestrointisolmun lukumääritteet taustajärjestelmästä Efecteen.
Jos attribuuttimäärityksiä on tarpeen muuttaa, kyseiset attribuutit on määritettävä valmistelutehtävän määritysnäkymässä, jotta niitä voidaan muuttaa orkestrointisolmussa.
Pro on valinnainen ominaisuus tässä työnkulkusolmussa. Järjestelmänvalvojat voivat määrittää tämän ominaisuuden käyttöön siten, että poikkeuksia voidaan kirjoittaa, jos valmistelutoimintojen aikana on poikkeuksia.
Suorita mukautettu taustatehtävä
Tämä aktiviteetti kutsuu Python-skriptiä. Tässä vaiheessa uudet tiedot ovat saatavilla vain ulkoisessa järjestelmässä, eivät vielä ESM:ssä.

Yllä olevassa kuvassa järjestelmänvalvojat voivat valita oikean hakemiston ”Kohde”. Jos attribuuttien yhdistämismäärityksiä on tarpeen muuttaa, kyseiset attribuutit on määritettävä valmistelutehtävien määritysnäkymässä, jotta niitä voidaan muuttaa orkestrointisolmussa.
Pro on valinnainen ominaisuus tässä työnkulkusolmussa. Järjestelmänvalvojat voivat määrittää tämän ominaisuuden käyttöön siten, että poikkeuksia voidaan kirjoittaa, jos valmistelutoimintojen aikana on poikkeuksia.
Liittimen mukauttaminen
How to create and modify custom Python scripts
General info
Generic Python Script connector comes with couple out-of-the box Python scripts. You should not modify those. Instead, if you need to make modifications to those, copy-paste those to new name and then do your modifications to newly named python script file. And as last step, modify your connector to use that script.
Work order:
- Create your custom scheduled or task-based script
- Take it into use to connector from Connectors UI
Scheduled scripts
How to take your custom python script into use for scheduled tasks, guidance for 1 host and 1 worker environment:
Note! Do not change "default" .py files which came with environment installation.
Copy your customly named (in this example mypythonscript.py) python script to these folders from HOST (remember to use correct tenant_name in path):
cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_scheduled
cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-worker-1/files/custom-provisioning-scripts
cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts
Change your custom python script file permission to 755 on all those above locations where you copied your script(in this example mypythonscript.py) (remember to use correct tenant_name in path):
chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_scheduled/mypythonscript.py
chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-worker-1/files/custom-provisioning-scripts/mypythonscript.py
chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/mypythonscript.py
If you have more hosts, repeat on every host.
If you have more workers, repeat to every worker(check that worker folder name is correct).
Event-based scripts
How to take your custom python script into use for event-based tasks, guidance for 1 host environment:
Note! Do not change "default" .py files which came with environment installation.
Copy your customly named (in this example mypythonscript.py) python script to these folders from HOST (remember to use correct tenant_name in path):
cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_event
cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts
Change your custom python script file permission to 755 on all those above locations where you copied your script(in this example mypythonscript.py) (remember to use correct tenant_name in path):
chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_event/mypythonscript.py
chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/mypythonscript.py
If you have more hosts, repeat on every host.
Example/base for custom Event-based python script
This script reads attribute values from Connector and from Orchestration node. And prints values to logs. You can use this as a starting point for your own custom python script for Event-based tasks.
#!/usr/bin/python3
import json
import sys
import logging
def main():
# Configure logging, change log file name
logging.basicConfig(filename='python_event_task_abc.log', level=logging.INFO, format='%(asctime)s - %(message)s')
# Read inputs from stdin
lines = sys.stdin.read().splitlines()
if len(lines) != 2:
print("Error: Expected exactly two lines of input.")
raise Exception("Expected exactly two lines of input.")
# Parse the first line, this contains connector variables
try:
connector_parameters = json.loads(lines[0])
host = connector_parameters.get('host', None)
password = connector_parameters.get('password', None)
logging.info(f"Connector parameters, Host={host}")
# read custom connector parameters here
except json.JSONDecodeError:
raise Exception("Connector parameters is not a valid JSON string.")
# Parse the second line, this contains mappings data from template datacard
try:
task_mappings = json.loads(lines[1])
logging.info(f"Task mappings JSON: {task_mappings}")
#read task mappings data here
# Implement your logic here
except json.JSONDecodeError as e:
raise Exception("Task mappings is not a valid JSON string.") from e
# Exceptions raised are controlling workflow orchestration node flow, on exception it goes to Exception path, otherwise it goes to Completed path. Exception raised can be seen on Provisioning exception attribute value.
except Exception as e:
raise Exception("An unexpected error occurred") from e
if __name__ == "__main__":
main()
Take customly named script into use to connector
How to take your customly named Python script into use, by selecting it from Connectors UI. Select your script from connectors Provisioning script -dropdown:

Implementation and work estimations
Only Matrix42 has access to host, which is needed for these custom scripts to be installed.
These expansion possibilities always need Matrix42 consultants review, before implementation and work estimations can be agreed.
HR-liitin
HR-liitin on rakennettu tämän yleisen Python-skriptiliittimen päälle.

