Esimerkkejä käyttöönottosuunnitelmasta (esikatselu)

Tässä artikkelissa esitellään kaavoja, joita käyttöönottosuunnitelmia yleisesti käytetään. Jokainen kuvaa käyttöönottoryhmät ja niihin liitetyt toiminnot, jotta voit rakentaa vastaavan kankaalle.

Suunnitelman rakentamisesta löytyy kohdasta Create a deployment plan.

Ota käyttöön kohde, joka riippuu toisen alkion tuottamasta datasta

Tämä on yleisin syy käyttää liittymää.

Työtila

Myyntitiimi pitää analytiikkaratkaisunsa yhdessä git-yhdistetyssä työtilassa, jossa on neljä kohdetta:

Kohde Tyyppi Toiminnot
Sales_Lakehouse Lakehouse Varastoi myyntipöydät. Se on tyhjä käyttöönoton yhteydessä, koska käyttöönotto kopioi kohteiden määritelmiä, ei dataa.
Hydrate_TopCustomers Muistikirja Kirjoittaa raakalähteiden rivit järvenrakennukseen.
Publish_TopCustomers Muistikirja Muuttaa nuo rivit julkaistuksi dbo.top_customers taulukoksi.
Sales_Warehouse Varasto Sisältää näkymän dbo.vw_top_customers, joka kuuluu dbo.top_customers.

Miksi pelkkä käyttöönottojärjestys ei riitä

Fabric käyttää item lineagea havaitsemaan, että varastonäkymä viittaa lakehouse-taulukkoon, joten se sijoittaa lakehousen ennen varastoa.

Lineage ei näytä, että taulukko täytyy täyttää ennen kuin näkymä on voimassa. Taulukko ei tule mukana kohteen määritelmän kanssa. Nämä kaksi muistikirjaa tuottavat sen ajon aikana:

Kaavio, jossa Hydrate-muistikirja kirjoittaa lähdetaulun järventaloon, Publish notebook muuttaa sen dbo.top_customers:ksi ja varastonäkymä lukee kyseisen taulukon.

Jos otat tämän työtilan käyttöön ilman suunnitelmaa, käyttöönotto epäonnistuu. Jokainen kohde kopioidaan oikein, mutta varastonäkymä luodaan taulua vasten, jota kukaan ei ole vielä tuottanut, ja käyttöönotto raportoi, että objektin nimi on virheellinen. Kohde jätetään osittain avautuneeksi.

Esineissä ei ole mitään vikaa. Puuttuu ohje ajaa muistikirjoja järvenrakennuksen ja varaston käyttöönoton välillä. Se ohje on suunnitelma.

Palvelupaketti

Suunnitelmassa on kaksi käyttöönottoryhmää, yksi järvimajalle ja toinen varastolle. Lakehouse-ryhmä ajaa molemmat muistikirjat jälkitoimintoina käyttöön:

Käyttöönottoryhmä Käytössä oleva kohde Käyttöönoton jälkeiset toimet Riippuu
Sales_Lakehouse Sales_Lakehouse (järvitalo) 1. Juokse Hydrate_TopCustomers
2. Juokse Publish_TopCustomers
Ei mitään
Sales_Warehouse Sales_Warehouse (varasto) Ei mikään Sales_Lakehouse

Kun järvitalo on aktivoitu, Hydrate_TopCustomers kirjoittaa lähderivit. Sitten Publish_TopCustomers luodaan dbo.top_customers ja odotetaan, kunnes SQL-analytiikkapäätepiste paljastaa taulukon. Järvitaloryhmä valmistuu vasta molempien toimintojen päätyttyä. Fabric voi sitten ottaa varaston käyttöön ja luoda sen näkymän.

Muistikirjat ovat lakehouse-ryhmän toimintoja, eivät erillisiä käyttöönottoryhmiä. Publish_TopCustomers Riippuu Hydrate_TopCustomers, ja varastoryhmä riippuu valmiista järvitaloryhmästä.

Tässä on sama suunnitelma kankaalla:

SalesRelease-käyttöönottosuunnitelman kuvakaappaus, jossa Sales_Lakehouse ryhmä on Hydrate_TopCustomers ja Publish_TopCustomers järjestettyinä jälkiasennustoimina, ja sen jälkeen riippuvainen Sales_Warehouse-ryhmä.

Ymmärrä plan.yml rakenne

Rakennetaan suunnitelma kankaalle. Kun työtila on yhdistetty Gitiin, suunnitelma tallennetaan plan.yml tiedostona käyttöönottosuunnitelman kansioon, joten se tarkistetaan ja versioidaan kuten mikä tahansa muu tuote:

$schema: https://developer.microsoft.com/json-schemas/fabric/item/deploymentPlan/definition/plan/1.0.0/schema.json
version: 1.0.0
groups:
  - name: Sales_Lakehouse
    logicalId: 11111111-1111-1111-1111-111111111111
    postActions:
      - name: Run Hydrate_TopCustomers
        job:
          type: Execute
          logicalId: 22222222-2222-2222-2222-222222222222
      - name: Run Publish_TopCustomers
        dependsOn:
          - actionName: Run Hydrate_TopCustomers
        job:
          type: Execute
          logicalId: 33333333-3333-3333-3333-333333333333
  - name: Sales_Warehouse
    logicalId: 44444444-4444-4444-4444-444444444444
    dependsOn:
      - groupName: Sales_Lakehouse

Tiedostolla on seuraava rakenne:

Elementti Tarkoitus
$schema Tunnistaa skeeman, joka vahvistaa suunnitelman määritelmän.
version Tunnistaa suunnitelman määrittelyversion.
groups Sisältää suunnitelman käyttöönottoryhmät.
name Antaa ryhmälle tai toiminnolle yksilöllisen nimen, johon riippuvuukset voivat viitata.
logicalId Tunnistaa Fabric-esineen eri työtiloissa.
dependsOn Ilmoittaa riippuvuudet toisesta ryhmästä tai toiminnosta nimeltä.
preActions Ja postActions Suorita tuetut tehtävät ennen tai jälkeen ryhmän esineiden käyttöönoton.
job Tunnistaa tehtävätyypin, kohteen loogisen ID:n ja toiminnon valinnaiset parametrit.

Muutama huomio tässä määritelmässä:

  • Ryhmä nimeää yhden esineen. logicalId on kohteen looginen ID, sama tunniste, jota Git-integraatio käyttää, joten suunnitelma pysyy voimassa kun kohde liikkuu työtilojen välillä.
  • Ryhmäjärjestys ilmaistaan muodossa dependsOn, ei sijainnin mukaan tiedostossa. Ryhmien uudelleenjärjestely tiedostossa ei muuta mitään.
  • Toimintajärjestys ilmaistaan myös muodossa dependsOn. Run Publish_TopCustomers alkaa vasta kun Run Hydrate_TopCustomers on valmis.
  • postActions Suoritetaan sen jälkeen, kun ryhmän esine on julkaistu. Käytä preActions töissä, jotka täytyy tehdä ensin, kuten validointitarkistuksessa.

Vinkki

Toiminto päättyy, kun tuotteen käyttöaika päättyy, ei silloin kun alavirran palvelut saavuttavat perässä. Tässä esimerkissä viimeinen solu Publish_TopCustomers odottaa, kunnes lakehousen SQL-analytiikan päätepiste on luetteloinut uuden taulun. Laita tällainen valmiustarkistus mukaan toimintaan, koska suunnitelma ei odota puolestasi.

Päivitä sisältö julkaisun jälkeen

Käyttöönotto päivittää kohteen määritelmät. Se ei suorita mitään, joten semanttinen malli tai raportti heijastaa uutta määritelmää mutta ei uutta dataa.

Käyttöönottoryhmä Käytössä oleva kohde Suoritetaan sen jälkeen, kun alki on otettu käyttöön Riippuu
Sales_Warehouse Sales_Warehouse (varasto) Ei mikään Ei mitään
Sales_Model Sales_Model (semanttinen malli) Suorita dataputki, joka päivittää mallin Sales_Warehouse

Liitä tämä suunnitelma käyttöönottoputkeen siten, että ylentäminen vaiheeseen jättää kohteen valmiiksi käyttöön, eikä tarvitse manuaalista päivitystä.

Validoi ennen kuin mikään otetaan käyttöön

Pre-deploy -toiminto suoritetaan ennen kuin ryhmän kohde otetaan käyttöön, joten voit käyttää sitä porttina.

Toiminto voi ajaa vain jo käytössä olevan kohteen, joten tarkistus itsessään otetaan käyttöön aiemman ryhmän toimesta:

Käyttöönottoryhmä Käytössä oleva kohde Suoritetaan ennen kuin kohde otetaan käyttöön Riippuu
Ennen lentoa Preflight_Checks (muistikirja) Ei mikään Ei mitään
First_Real_Item Julkaisun ensimmäinen kohta Juokse Preflight_Checks Ennen lentoa

Jos tarkistus epäonnistuu, käyttöönotto pysähtyy, eikä mikään ryhmästä riippuva saa käyttöön. Käytä tätä varmistaaksesi, että yhteydet ratkeavat, että vaadittu kapasiteetti on käynnissä tai että lähdejärjestelmä on käytettävissä ennen julkaisun alkua.

Muistio

Pre-deploy action ei voi ajaa sitä alkiota, jonka sen oma ryhmä deployoi, koska kyseistä alkiota ei vielä ole kohteessa. Aseta tarkistuksen suorittava kohde aikaisempaan ryhmään, kuten tässä on esitetty.

Tilaa töitä, joita sukujuuret eivät näe

Kaksi esinettä voi olla täysin toisistaan sukulinjan suhteen ja silti vaatia tilauksen. Suunnitelma on se, miten sen ilmaiset.

Käyttöönottoryhmä Käytössä oleva kohde Riippuu
Reference_Data Alkio, joka tuottaa viitetietoja Ei mitään
Domain_Item Alkio, joka lukee viitetietoja yhteyden kautta suoran viitteen sijaan Reference_Data

Koska riippuvuus kulkee yhteyden kautta eikä esineviittauksen kautta, Fabric ei voi päätellä sitä. Suunnitelma toimittaa tilauksen.