Pastaba.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti prisijungti arba pakeisti katalogus.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti pakeisti katalogus.
Šis straipsnis yra YAML pagrįsto šaltinio valdiklio formato nuoroda, naudojama, kai:
- Pritaikykite sprendimus naudodami vietinį Dataverse Git integravimą programoje "Power Apps".
- Išskleisti sprendimus naudojant
pac solution clonearbapac solution sync. - Rankiniu būdu paleiskite "SolutionPackager" aplanke, kuriame yra YAML deklaracijos failai.
YAML formatas skiriasi nuo klasikinio XML maketo. Svarbu suprasti struktūrą, kai norite rankiniu būdu supakuoti YAML aplanką atgal į .zip failą, kurį gali importuoti "Dataverse".
Svarbu
YAML šaltinio valdiklio formato palaikymas pac CLI reikalauja „Microsoft“. "PowerApps.CLI" 2.4.1 arba naujesnė versija. Atsisiųskite naujausią versiją iš NuGet arba atnaujinkite naudodami pac install latest. SolutionPackager.exe, kuri siunčia su NuGet paketu, palaiko YAML formatą iš tos pačios versijos.
Aplankų struktūros apžvalga
YAML formato saugyklos šakniniame kataloge yra šie aukščiausio lygio katalogai:
<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]/
Reikalingi solutions/ ir publishers/ katalogai. Visi šakninio komponento aplankai yra pasirinktiniai ir priklauso nuo sprendimo.
Svarbu
Visi YAML deklaracijos failai (solution.yml, publisher.ymlir t. t.) turi būti perkelti į atitinkamus pakatalogius (solutions/<name>/, publishers/<name>/). Įkeliant juos į saugyklos šaknį, neleidžiama aptikti formato ir "SolutionPackager" įrankis grįžta į XML formatą – pateikiama klaidinanti klaida apie trūkstamą .Customizations.xml Daugiau informacijos: "SolutionPackager" įrankio trikčių diagnostika
Automatinio aptikimo formatavimas
SolutionPackager (ir pac solution pack) automatiškai aptinka formatą taip:
| Sąlyga | Aptiktas formatas | Veikimas |
|---|---|---|
solutions/*/solution.yml rastas – vienas sprendimas |
YAML | Sprendimo pavadinimas, numanomas iš poaplankio pavadinimo |
solutions/*/solution.yml rasta – keli sprendimai |
YAML |
/SolutionName argumentas, būtinas nurodyti, kurį sprendimą pakuoti |
Nėra solutions/ pakatalogio |
XML (senstelėjęs) | Numatoma ir Other\Solution.xmlOther\Customizations.xml |
Failų išsaidimas
solution.yml
solutions/<SolutionUniqueName>/solution.ymlYra . Yra aukščiausio lygio sprendimo metaduomenys – YAML atitikmuo solution.xml XML formatu.
Pagrindiniai laukai apima unikalų sprendimo pavadinimą, versiją, draugišką pavadinimą, aprašą ir nuorodą į leidėją.
solutioncomponents.yml
solutions/<SolutionUniqueName>/solutioncomponents.ymlYra . Išvardija santykinius visų komponentų failų, įtrauktų į šį sprendimą, kelius. "SolutionPackager" perskaito šį failą paketo metu, kad rastų komponentų šaltinius.
Pavyzdžio ištrauka:
- Path: entities/account
- Path: entities/contact
- Path: canvasapps/myapp_<guid>
- Path: publishers/MyPublisher
rootcomponents.yml
solutions/<SolutionUniqueName>/rootcomponents.ymlYra . Išvardija šakninio lygio komponentus (paprastai lenteles ir kitus aukščiausio lygio objektus), kurie priklauso šiam sprendimui.
Pastaba.
Jei komponentas paskelbiamas rootcomponents.yml , bet jo šaltinio failų nėra aplanke (pvz., drobės programos .msapp failas dalyje canvasapps/<name>/), SolutionPackager pateikia įspėjimą ir praleidžia tą komponentą iš supakuoto .zip. Paketo operacija vis tiek sėkmingai baigiama naudojant išėjimo kodą 0.
Sėkmingas paketo importavimas negarantuoja sėkmingo importavimo. Jei solutioncomponents.yml nenurodyti būtini priklausomybės keliai, pvz., pirminio objekto aplankai arba ryšio apibrėžimai dalyje entityrelationships/ , sprendimų paketuose be klaidų, bet importuojant nepavyksta, pateikiamas pranešimas, pvz.: "Atributams trūksta susietų ryšio apibrėžimų". Visada įsitikinkite, kad solutioncomponents.yml apima visus priklausomus objektus ir ryšius, o ne tik sprendimo priklausančius.
missingdependencies.yml
solutions/<SolutionUniqueName>/missingdependencies.ymlYra . Įrašo sprendimo priklausomybes, kurių nebuvo, kai sprendimas buvo paskutinį kartą eksportuotas. Naudojama informaciniais tikslais ir siekiant patikrinti importavimo išsamumą.
publisher.yml
publishers/<PublisherUniqueName>/publisher.ymlYra . Yra leidėjo apibrėžimas – unikalus pavadinimas, rodomas pavadinimas, tinkinimo prefiksas ir parinkties reikšmės prefiksas.
Minimali būtina struktūra:
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:
Komponento tipo palaikymas
Šioje lentelėje pateikiama, kaip kiekvienas komponento tipas apdorojamas YAML formatu.
| Komponento tipas | YAML formatu | Pastabos |
|---|---|---|
| Objektai (lentelės), atributai, formos, rodiniai | ✓ YAML failai | Saugoma kaip atskiri YAML failai vienam papildomajam komponentui |
| Darbo eigos (klasikinė) | ✓ YAML failai | Pagal workflows/ |
| Šiuolaikiniai srautai (Power Automate debesies srautai) | ✓ — tik YAML formatas | Dalyje modernflows/; xml formatu nepalaikoma |
| Drobės programos | ✓ — tik YAML formatas |
.msapp dvejetainis dalyje canvasapps/<name>/; nepalaikomas XML formatu |
| Aplinkos kintamųjų apibrėžimai | ✓ XML failai | Atskiri .xml failai dalyje environmentvariabledefinitions/ |
| Aplinkos kintamųjų reikšmės | ✓ JSON failas | Saugoma kaip environment_variable_values.json |
| Pasirinktinės jungtys | ✓ | Pagal connectors/ |
| Priedų rinkiniai | ✓ | Visiškai apibrėžtų tipų pavadinimai, kurie pagal numatytuosius nustatymus buvo pašalinti (/remapPluginTypeNames) |
| Žiniatinklio ištekliai | ✓ | Pagal webresources/ |
| Saugos vaidmenys | ✓ | Saugoma kaip XML viduje; filtruotas pagal sprendimą |
| Parinkčių rinkiniai (visuotiniai) | ✓ | Saugoma kaip XML; filtruotas pagal sprendimą |
| Ataskaitų sritys | ✓ | Saugoma kaip XML; filtruotas pagal sprendimą |
| Svetainės struktūros | ✓ | Saugoma kaip XML; filtruotas pagal sprendimą |
| Juostelės tinkinimai | ✓ | Saugoma kaip XML; filtruotas pagal sprendimą |
| Subjekto ryšiai | ✓ | Pagal entityrelationships/ |
Pastaba.
Viduje xml saugomi komponentai automatiškai konvertuojami iš XML į YAML ir išpakavimo operacijų metu. Galite kurti juos kaip YAML failus; įrankis apdoroja konvertavimą.
Kelių sprendimų saugyklos
Vienoje saugyklos šaknyje gali būti keli sprendimai. Visi sprendimai turi tuos pačius komponentų aplankus; solutioncomponents.yml kiekviename sprendime valdo, kurie komponentų keliai priklauso tam sprendimui.
Example structure with two solutions:
<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/
Konkretaus sprendimo pakavimas iš kelių sprendimų aplanko
SolutionPackager.exenaudojimas:
SolutionPackager.exe /action:Pack /zipfile:SolutionA.zip /folder:C:\repos\myrepo /SolutionName:SolutionA
Naudojimas pac solution pack (tik vieno sprendimo aplankuose – kelių sprendimų atveju naudokite SolutionPackager.exe tiesiogiai su /SolutionName):
pac solution pack --zipfile SolutionA.zip --folder C:\repos\myrepo
Pastaba.
Naudojant vietinį "Dataverse Git" integravimą su aplinkos susiejimu, visi aplinkos sprendimai naudoja vieną saugyklos šaknį naudodami kelių sprendimų maketą. Naudojant sprendimo susiejimą, kiekvienas sprendimas gali būti susietas su atskiru aplanku.
Darbas su YAML formato aplankais
YAML aplanko pakinimas į .zip failą
# 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
Gaukite visą YAML aplanką iš "Dataverse"
Rekomenduojamas būdas gauti visą supakuotą YAML aplanką yra naudoti pac solution clone:
pac solution clone --name MySolutionUniqueName --outputDirectory C:\repos\myrepo
Taip sprendimas išskleidžiamas YAML formatu, įskaitant visus komponento šaltinio failus. Arba naudokite vietinį "Git" integravimą, kad įeitumėte iš Power Apps – nustatyti failai yra YAML formato ir visiškai supakuoti.
Prieš pakuojant patikrinkite aplanką
Patikrinkite, ar solutions/<name>/ aplankas yra ir ar visi keliai, kuriuos išsprendžia faktiniai solutioncomponents.yml failai. Dėl trūkstamų kelių paketo metu pateikiami įspėjimai ir šie komponentai praleidžiami.
Ryšys su "Dataverse Git" integracija
YAML šaltinio valdiklio formatas yra kanoninis formatas, kurį naudoja "Dataverse Git" integravimas. Kai kūrėjai priima sprendimus iš Power Apps, failai, parašyti "Git" teikėjui, naudoja šį formatą. Pirmieji kodo kūrėjai gali dirbti su ta pačia saugykla naudodami čia aprašytus CLI įrankius.
Informacijos apie aplinkų prijungimą prie "Git" žr. "Dataverse Git" integravimo sąranka.