Märkus.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida sisse logida või kausta vahetada.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida kausta vahetada.
See artikkel on viide YAML-i-põhisele allikakontrolli vormingule, mida kasutatakse järgmistel juhtudel.
- Kinnitage lahendused, kasutades Power Apps oma-Dataverse Giti integreerimist.
- Ekstraktige lahendused kasutades
pac solution clonevõipac solution sync. - Käivitage SolutionPackager käsitsi kaustas, mis sisaldab YAML-i manifestifaile.
YAML-i vorming erineb klassikalisest XML-paigutusest. Struktuuri mõistmine on oluline, kui soovite YAML-kausta käsitsi uuesti faili pakkida .zip , mida Dataverse saab importida.
Oluline
YAML-i allika juhtelemendi vormingu tugi pac CLI nõuab Microsoft. PowerApps.CLI versioon 2.4.1 või uuem. Laadige alla uusim versioon veebisaidilt NuGet või värskendage pac install latest kaudu. SolutionPackager.exe, mis saadetakse nuGeti paketiga, toetab yaML-i vormingut samast versioonist.
Kaustastruktuuri ülevaade
YAML-vormingus hoidla juur sisaldab järgmisi ülataseme katalooge.
<repositoryRoot>/
├── solutions/
│ └── <SolutionUniqueName>/ (one subfolder per solution)
│ ├── solution.yml
│ ├── solutioncomponents.yml
│ ├── rootcomponents.yml
│ └── missingdependencies.yml
├── publishers/
│ └── <PublisherUniqueName>/ (one subfolder per publisher)
│ └── publisher.yml
├── entities/ (entity components, if any)
│ └── <entity_schema_name>/
│ ├── attributes/
│ ├── formxml/
│ ├── savedqueries/
│ └── ...
├── workflows/ (classic workflow definitions, if any)
├── modernflows/ (Power Automate cloud flows, if any)
├── canvasapps/ (canvas app .msapp files, if any)
│ └── <canvas_app_schema_name>/
│ └── <name>.msapp
├── environmentvariabledefinitions/ (environment variable definitions, if any)
├── connectors/ (custom connectors, if any)
└── [other component folders]/
Nõutavad solutions/ on kataloogid ja publishers/ kataloogid. Kõik juurkaustad on valikulised ja sõltuvad sellest, mida lahendus sisaldab.
Oluline
Kõik YAML-i manifestifailid (solution.yml, publisher.ymljne) tuleb paigutada vastavate alamkataloogide alla (solutions/<name>/, publishers/<name>/). Nende paigutamine hoidla juurkausta takistab vormingu tuvastamist ja põhjustab SolutionPackageri tööriista tagasi XML-vormingusse langemise – tekitades eksitava vea puuduva Customizations.xmlkohta . Lisateave: SolutionPackageri tööriista tõrkeotsing
Automaattuvastuse vormindamine
SolutionPackager (ja pac solution pack) tuvastab vormingu automaatselt järgmiselt:
| Tingimus | Tuvastatud vorming | Käitumine |
|---|---|---|
solutions/*/solution.yml leitud – üks lahendus |
YAML | Lahenduse nimi, mis on tuletatud alamkausta nimest |
solutions/*/solution.yml Leitud — mitmed lahendused |
YAML |
/SolutionName argument on nõutav pakitava lahenduse määramiseks |
Alamkataloogi ei solutions/ ole |
XML (pärand) |
Other\Solution.xml Eeldab jaOther\Customizations.xml |
Manifesti failid
solution.yml
Asub asukohas solutions/<SolutionUniqueName>/solution.yml. Sisaldab ülataseme lahenduse metaandmeid – YAML-i vaste solution.xml XML-vormingus.
Võtmeväljad sisaldavad lahenduse kordumatut nime, versiooni, sõbralikku nime, kirjeldust ja viidet väljaandjale.
solutioncomponents.yml
Asub asukohas solutions/<SolutionUniqueName>/solutioncomponents.yml. Loetleb kõigi sellesse lahendusse kaasatud komponentfailide suhtelised teed. SolutionPackager loeb komponendiallikate leidmiseks seda faili paketi ajal ette.
Näide:
- Path: entities/account
- Path: entities/contact
- Path: canvasapps/myapp_<guid>
- Path: publishers/MyPublisher
rootcomponents.yml
Asub asukohas solutions/<SolutionUniqueName>/rootcomponents.yml. Loetleb sellesse lahendusse kuuluvad juurtaseme komponendid (tavaliselt tabelid ja muud ülataseme objektid).
Märkus.
Kui komponent on deklareeritud, rootcomponents.yml kuid selle lähtefailid puuduvad kaustast (nt lõuendirakenduse .msapp fail jaotises canvasapps/<name>/), kiirgab SolutionPackager hoiatuse ja jätab selle komponendi pakitud .zipfailist välja. Paketitoiming on endiselt lõpule viidud väljumiskoodiga 0.
Pakkimise õnnestumine ei taga importimise õnnestumist. Kui solutioncomponents.yml nõutavad sõltuvusteed (nt emaolemikaustad või seosemääratlused on välja jäetud) entityrelationships/ on lahendusepaketid veata, kuid importimine nurjub järgmise teatega: "Atribuudid puuduvad seostatud seosemääratlused". Veenduge alati, et solutioncomponents.yml kõik sõltuvad olemid ja seosed, mitte ainult lahendusele kuuluvad olemid ja seosed.
missingdependencies.yml
Asub asukohas solutions/<SolutionUniqueName>/missingdependencies.yml. Salvestab lahenduse sõltuvused, mida lahenduse viimase eksportimise ajal ei olnud. Kasutatakse teavitamise eesmärgil ja importimise täielikkuse valideerimiseks.
publisher.yml
Asub asukohas publishers/<PublisherUniqueName>/publisher.yml. Sisaldab väljaandja määratlust – kordumatut nime, kuvatavat nime, kohandamis eesliidet ja suvandiväärtuse eesliidet.
Minimaalne nõutav struktuur:
Publisher:
UniqueName: mypublisher
LocalizedNames:
LocalizedName:
'@description': My Publisher
'@languagecode': '1033'
Descriptions:
EMailAddress:
'@xsi:nil': 'true'
'@xmlns:xsi': http://www.w3.org/2001/XMLSchema-instance
SupportingWebsiteUrl:
'@xsi:nil': 'true'
'@xmlns:xsi': http://www.w3.org/2001/XMLSchema-instance
CustomizationPrefix: myp
CustomizationOptionValuePrefix: '12345'
Addresses:
Komponenditüübi tugi
Järgmises tabelis on loetletud, kuidas iga komponenditüüpi YAML-vormingus käsitsetakse.
| Komponenditüüp | YAML-vormingus | Märkmed |
|---|---|---|
| Olemid (tabelid), atribuudid, vormid, vaated | ✓ YAML-failid | Salvestatud üksikute YAML-failidena alamkomponendi kohta |
| Töövood (klassikaline) | ✓ YAML-failid | Jaotises workflows/ |
| Kaasaegsed vood (Power Automate pilvevood) | ✓ – ainult YAML-vorming | Jaotises modernflows/; pole XML-vormingus toetatud |
| Lõuendirakendused | ✓ – ainult YAML-vorming |
.msapp Binary under canvasapps/<name>/; not supported in XML format |
| Keskkonnamuutujate määratlused | ✓ XML-failid | Üksikfailid .xml jaotises environmentvariabledefinitions/ |
| Keskkonnamuutujate väärtused | ✓ JSON-fail | Talletatud kujul environment_variable_values.json |
| Kohandatud konnektorid | ✓ | Jaotises connectors/ |
| Lisandmoodulikomplektid | ✓ | Vaikimisi uuesti vastendatud täielikud tüübinimed (/remapPluginTypeNames) |
| Veebiressursid | ✓ | Jaotises webresources/ |
| Turberollid | ✓ | Talletatakse XML-vormingus asutusesiseselt; filtreeritud lahenduse kohta |
| Suvandikomplektid (globaalne) | ✓ | Salvestatud XML-vormingus; filtreeritud lahenduse kohta |
| Armatuurlauad | ✓ | Salvestatud XML-vormingus; filtreeritud lahenduse kohta |
| Saidikaardid | ✓ | Salvestatud XML-vormingus; filtreeritud lahenduse kohta |
| Lindi kohandused | ✓ | Salvestatud XML-vormingus; filtreeritud lahenduse kohta |
| Olemiseosed | ✓ | Jaotises entityrelationships/ |
Märkus.
Sisemiselt XML-vormingus salvestatud komponendid teisendatakse pakkimis- ja lahtipakkimistoimingute ajal automaatselt XML-i ja YAML-i vahel. Saate need koostada YAML-failidena; tööriist töötleb teisendust.
Mitme lahendusega hoidlad
Üks hoidla juur võib sisaldada mitut lahendust. Kõigil lahendustel on samad komponendikaustad; solutioncomponents.yml kontrollib igas lahenduses, millised komponenditeed sellesse lahendusse kuuluvad.
Kahe lahendusega näidisstruktuur:
<repositoryRoot>/
├── solutions/
│ ├── SolutionA/
│ │ ├── solution.yml
│ │ ├── solutioncomponents.yml ← references entities/account, entities/contact
│ │ ├── rootcomponents.yml
│ │ └── missingdependencies.yml
│ └── SolutionB/
│ ├── solution.yml
│ ├── solutioncomponents.yml ← references entities/lead, workflows/myflow
│ ├── rootcomponents.yml
│ └── missingdependencies.yml
├── publishers/
│ └── SharedPublisher/
│ └── publisher.yml
├── entities/
│ ├── account/
│ ├── contact/
│ └── lead/
└── workflows/
└── myflow/
Konkreetse lahenduse pakkimine mitme lahendusega kaustast
SolutionPackager.exekasutamine:
SolutionPackager.exe /action:Pack /zipfile:SolutionA.zip /folder:C:\repos\myrepo /SolutionName:SolutionA
Kasutamine pac solution pack (ainult ühe lahendusega kaustad – mitme lahenduse korral kasutage SolutionPackager.exe otse kaustaga /SolutionName):
pac solution pack --zipfile SolutionA.zip --folder C:\repos\myrepo
Märkus.
Kui kasutate oma Dataverse Git integreerimist keskkonna sidumisega, jagavad kõik keskkonna lahendused ühte hoidla juurt, kasutades mitme lahendusega paigutust. Lahenduse sidumise kasutamisel saab iga lahenduse siduda eraldi kaustaga.
YAML-vormingus kaustadega töötamine
YAML-kausta pakkimine .zip faili
# Using pac CLI (single solution in folder)
pac solution pack --zipfile C:\output\MySolution.zip --folder C:\repos\myrepo
# Using SolutionPackager.exe directly (also works for multi-solution with /SolutionName)
SolutionPackager.exe /action:Pack /zipfile:C:\output\MySolution.zip /folder:C:\repos\myrepo
Täieliku YAML-kausta hankimine dataverse'ist
Soovitatav viis täieliku ja pakitava YAML-kausta hankimiseks on kasutada järgmist.pac solution clone
pac solution clone --name MySolutionUniqueName --outputDirectory C:\repos\myrepo
See ekstraktib lahenduse YAML-vormingusse, sh kõik komponendi lähtefailid. Teise võimalusena saate Power Apps kasutada oma Giti integreerimist – kinnitatud failid on YAML-vormingus ja täielikult pakitavad.
Enne pakkimist kontrollige kausta
Kontrollige, kas solutions/<name>/ kaust on olemas ja kas kõik teed solutioncomponents.yml on lahendatud tegelike failidega. Puuduvad teed põhjustavad pakkimise ajal hoiatusi ja need komponendid jäetakse välja.
Relationship to Dataverse Git integration
YAML-i allika juhtelemendi vorming on Dataverse Giti integreerimisel kasutatav kanooniline vorming. Kui loojad kasutavad Power Apps lahendusi, Azure DevOps kirjutatavad failid seda vormingut kasutada. Koodi esimesed arendajad saavad sama hoidlaga töötada siin kirjeldatud CLI tööriistade abil.
Lisateavet Gitiga keskkondade ühendamise kohta leiate teemast Dataverse Giti integreerimise häälestamine.