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.
Kõik vood talletatakse ja Dataverse nende haldamiseks saate kasutada kas Dataverse .NET SDK-d või veebi API-d.
Selles artiklis käsitletakse vahekaardil Lahendused sisalduvate voogude haldamist Power Automate. Praegu ei toetata koodiga voogude haldamist jaotises Minu vood .
API-dega suhtlemine Dataverse
Dataverse pakub samaväärseid võimalusi, kasutades kas .NET SDK-d Dataverse või veebi API-d.
Millist meetodit kasutada?
Parim meetod sõltub projekti tehnoloogiast ja teie oskustest.
Kui teie projekt kasutab .NET-i, soovitame kasutada SDK-d. SDK lihtsustab teie arenduskogemust, pakkudes tipitud objektimudelit ja autentimismeetodeid.
Lisateave: Organisatsiooni teenuse kasutamine
Kuidas ühendada?
Ühenduse loomine sõltub sellest, kas kasutate Dataverse .NET SDK-d või veebi API-d.
SDK abil peate looma ühenduse kliendirakendusega, et pääseda juurde IOrganizationService’i eksemplarile.
IOrganizationService on liides, mis pakub meetodeid, mida saate kasutada suhtlemiseks Dataverse.
Lisateave:
Töövoo tabel
Pilvevood talletatakse tabelis Protsess (töövoog), mis on veebi API-s esitatud töövoo olemitüübina
Järgmises tabelis kirjeldatakse töövootabeli olulisi veerge.
| Loogiline nimi | Tüüp | Kirjeldus |
|---|---|---|
category |
Valik | Voo kategooria. Siin on erinevad kategooriad. 0 - Klassikalised Dataverse töövood.1 - Klassikalised Dataverse dialoogid. 2 - Ärireeglid. 3 - Klassikalised Dataverse tegevused. 4 - Äriprotsesside vood. 5 - Modern Flow (automatiseeritud, kohesed või ajastatud vood).6 - Töölaua vood. |
clientdata |
String | Voo definitsiooni ja selle ühenduste viidete stringkodeeringuga JSON. |
createdby |
Otsing | Voo loonud kasutaja. |
createdon |
DateTime | Voo loomise kuupäev. |
description |
String | Kasutaja esitatud voo kirjeldus. |
ismanaged |
Loogiline | Näitab, kas voog installiti hallatava lahenduse kaudu. |
modifiedby |
Otsing | Viimane kasutaja, kes voogu värskendas. |
modifiedon |
DateTime | Viimane kord, kui voogu värskendati. |
name |
String | Kuvatav nimi, mille te voole andsite. |
ownerid |
Otsing | Kasutaja või meeskond, kellele voog kuulub. |
statecode |
Valik | Voolu olek. Staatus võib olla:0 - Mustand (väljas)1 - Aktiveeritud (Sees)2 - Peatatud. |
type |
Valik | Näitab, kas voog on töötav voog või mall, mida saab kasutada rohkemate voogude loomiseks. 1 - Definitsioon,2 - Aktiveerimine3 - Mall. |
workflowid |
GUID | Pilvevoo unikaalne identifikaator kõigi importimiste puhul. |
workflowidunique |
GUID | Selle voo installi unikaalne identifikaator. |
Märkus.
Veebi API puhul on otsinguväärtused ühe väärtusega navigeerimisomadused mida saab laiendada, et saada seotud kirjest üksikasju.
Otsinguveergudel on ka vastav GUID otsingu omadused mida saab päringutes kasutada. Otsinguomadustel on järgmine nimetamiskonventsioon: _<logical name>_value. Töövoo üksuse tüübi (entitype) puhul veebi-API-s saate viidata järgmistele otsinguatribuutidele: _createdby_value, _modifiedby_value ja _ownerid_value.
Loendi vood
Pilvevoogude loendi toomiseks saate päringu teha töövoo tabelist. Järgmine päring tagastab esimese automatiseeritud, kohese või ajastatud voo, mis on hetkel sisse lülitatud:
See staatiline OutputFirstActiveFlow meetod nõuab autentitud klienti, mis rakendab IOrganizationService. See kasutab IOrganizationService.RetrieveMultiple meetod.
/// <summary>
/// Outputs the first active flow
/// </summary>
/// <param name="service">Authenticated client implementing the IOrganizationService interface</param>
public static void OutputFirstActiveFlow(IOrganizationService service)
{
var query = new QueryExpression("workflow")
{
ColumnSet = new ColumnSet("category",
"createdby",
"createdon",
"description",
"ismanaged",
"modifiedby",
"modifiedon",
"name",
"ownerid",
"statecode",
"type",
"workflowid",
"workflowidunique"),
Criteria = new FilterExpression(LogicalOperator.And)
{
Conditions = {
{ new ConditionExpression(
"category",
ConditionOperator.Equal,
5) }, // Cloud Flow
{ new ConditionExpression(
"statecode",
ConditionOperator.Equal,
1) } // Active
}
},
TopCount = 1 // Limit to one record
};
EntityCollection workflows = service.RetrieveMultiple(query);
Entity workflow = workflows.Entities.FirstOrDefault();
Console.WriteLine($"category: {workflow.FormattedValues["category"]}");
Console.WriteLine($"createdby: {workflow.FormattedValues["createdby"]}");
Console.WriteLine($"createdon: {workflow.FormattedValues["createdon"]}");
// Description may be null
Console.WriteLine($"description: {workflow.GetAttributeValue<string>("description")}");
Console.WriteLine($"ismanaged: {workflow.FormattedValues["ismanaged"]}");
Console.WriteLine($"modifiedby: {workflow.FormattedValues["modifiedby"]}");
Console.WriteLine($"modifiedon: {workflow.FormattedValues["modifiedon"]}");
Console.WriteLine($"name: {workflow["name"]}");
Console.WriteLine($"ownerid: {workflow.FormattedValues["ownerid"]}");
Console.WriteLine($"statecode: {workflow.FormattedValues["statecode"]}");
Console.WriteLine($"type: {workflow.FormattedValues["type"]}");
Console.WriteLine($"workflowid: {workflow["workflowid"]}");
Console.WriteLine($"workflowidunique: {workflow["workflowidunique"]}");
}
Rohkemate kirjete saamiseks eemaldage Tipploendus piirang.
Väljund
category: Modern Flow
createdby: SYSTEM
createdon: 5/20/2020 9:37 PM
description:
ismanaged: Unmanaged
modifiedby: Kiana Anderson
modifiedon: 5/6/2023 3:37 AM
name: When an account is updated -> Create a new record
ownerid: Monica Thomson
statecode: Activated
type: Definition
workflowid: d9e875bf-1c9b-ea11-a811-000d3a122b89
workflowidunique: c17af45c-10a1-43ca-b816-d9cc352718cf
Lisateave:
Loo pilvevoog
Automatiseeritud, koheste ja ajastatud voogude nõutavad omadused on järgmised: category, name, type, primaryentity ja clientdata. Kasutamine none selle jaoks primaryentity seda tüüpi voogude jaoks.
See staatiline meetod nõuab autentitud klienti, mis rakendab IOrganizationService. See kasutab IOrganisationService.Create meetod.
/// <summary>
/// Creates a cloud flow
/// </summary>
/// <param name="service">Authenticated client implementing the IOrganizationService interface</param>
/// <returns>The workflowid</returns>
public static Guid CreateCloudFlow(IOrganizationService service)
{
var workflow = new Entity("workflow")
{
Attributes = {
{"category", new OptionSetValue(5) }, // Cloud flow
{"name", "Sample flow name"},
{"type", new OptionSetValue(1) }, //Definition
{"description", "This flow reads some data from Dataverse." },
{"primaryentity", "none" },
{"clientdata", "{\"properties\":{\"connectionReferences\":{\"shared_commondataserviceforapps\":{\"impersonation\":{},\"runtimeSource\":\"embedded\",\"connection\":{\"name\":\"shared-commondataser-114efb88-a991-40c7-b75f-2693-b1ca6a0c\",\"connectionReferenceLogicalName\":\"crdcb_sharedcommondataserviceforapps_109ea\"},\"api\":{\"name\":\"shared_commondataserviceforapps\"}}},\"definition\":{\"$schema\":\"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#\",\"contentVersion\":\"1.0.0.0\",\"parameters\":{\"$connections\":{\"defaultValue\":{},\"type\":\"Object\"},\"$authentication\":{\"defaultValue\":{},\"type\":\"SecureObject\"}},\"triggers\":{\"manual\":{\"metadata\":{\"operationMetadataId\":\"76f87a86-89b3-48b4-92a2-1b74539894a6\"},\"type\":\"Request\",\"kind\":\"Button\",\"inputs\":{\"schema\":{\"type\":\"object\",\"properties\":{},\"required\":[]}}}},\"actions\":{\"List_rows\":{\"runAfter\":{},\"metadata\":{\"operationMetadataId\":\"9725b30f-4a8e-4695-b6fd-9a4985808809\"},\"type\":\"OpenApiConnection\",\"inputs\":{\"host\":{\"apiId\":\"/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps\",\"connectionName\":\"shared_commondataserviceforapps\",\"operationId\":\"ListRecords\"},\"parameters\":{\"entityName\":\"accounts\",\"$select\":\"name\",\"$top\":1},\"authentication\":\"@parameters('$authentication')\"}}}}},\"schemaVersion\":\"1.0.0.0\"}" }
}
};
return service.Create(workflow);
}
Kõik sel viisil loodud vood on seatud olekusse statecode (Mustand või ’Väljas’). 0 Enne voo kasutamist tuleb see lubada.
Kõige olulisem omadus on ``, mis sisaldab ` ... clientdataconnectionReferences... **The** on iga ühenduse vastendused, mida voog kasutab.** connectionReferences
{
"properties": {
"connectionReferences": {
"shared_commondataserviceforapps": {
"runtimeSource": "embedded",
"connection": {},
"api": {
"name": "shared_commondataserviceforapps"
}
}
},
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"$connections": { "defaultValue": {}, "type": "Object" },
"$authentication": { "defaultValue": {}, "type": "SecureObject" }
},
"triggers": {
"manual": {
"metadata": {},
"type": "Request",
"kind": "Button",
"inputs": {
"schema": { "type": "object", "properties": {}, "required": [] }
}
}
},
"actions": {
"List_rows": {
"runAfter": {},
"metadata": {},
"type": "OpenApiConnection",
"inputs": {
"host": {
"apiId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps",
"connectionName": "shared_commondataserviceforapps",
"operationId": "ListRecords"
},
"parameters": {
"entityName": "accounts",
"$select": "name",
"$top": 1
},
"authentication": "@parameters('$authentication')"
}
}
}
}
},
"schemaVersion": "1.0.0.0"
}
Pilvevoo värskendamine
Voo värskendamiseks määrake ainult need omadused, mida soovite muuta.
See staatiline meetod nõuab autentitud klienti, mis rakendab IOrganizationService. See kasutab voo kirjelduse värskendamiseks ja omaniku määramiseks meetodit IOrganizationService.Update .
/// <summary>
/// Updates a cloud flow
/// </summary>
/// <param name="service">Authenticated client implementing the IOrganizationService interface</param>
/// <param name="workflowid">The ID of the flow to update.</param>
/// <param name="systemuserid">The id of the user to assign the flow to.</param>
public static void UpdateCloudFlow(IOrganizationService service, Guid workflowid, Guid systemuserid) {
var workflow = new Entity("workflow",workflowid)
{
Attributes = {
{"description", "This flow will ensure consistency across systems." },
{"ownerid", new EntityReference("systemuser",systemuserid)},
{"statecode", new OptionSetValue(1) } //Turn on the flow.
}
};
service.Update(workflow);
}
Lisateave: Tabeliridade värskendamine ja kustutamine organisatsiooniteenuse abil > Põhivärskendus
Pilvevoo kustutamine
Järgmised näited näitavad, kuidas kustutada pilvevoogu esindavat töövoo kirjet.
Staatiline meetod kustutab töövoo kirje. DeleteCloudFlow
/// <summary>
/// Deletes a workflow
/// </summary>
/// <param name="service">Authenticated client implementing the IOrganizationService interface</param>
/// <param name="workflowId">The id of the cloud flow to delete.</param>
public static void DeleteCloudFlow(IOrganizationService service, Guid workflowId) {
service.Delete(entityName:"workflow",id: workflowId);
}
Lisateave: Kirje kustutamine SDK abil
Hankige kõik kasutajad, kellega pilvevoogu jagatakse
Kasutage sõnumit RetrieveSharedPrincipalsAndAccess , et saada nimekiri kõigist kasutajatest, kellega pilvevoogu jagatakse.
SDK puhul kasutage klassi RetrieveSharedPrincipalsAndAccessRequest ja veebiliidese puhul funktsiooni RetrieveSharedPrincipalsAndAccess.
Lisateave: Hankige direktoritele juurdepääs kirjele
Pilvevoo jagamine või jagamise tühistamine
Jaga pilvevoogu nagu iga teist kirjet, kasutades sõnumit. Dataverse GrantAccess SDK puhul kasutage klassi GrantAccessRequest ja veebiliidese toimingut. Lisateave: GrantAccessi näide
Kui soovite muuta kirje jagamisel antud juurdepääsuõigusi, kasutage sõnumit ModifyAccess . SDK puhul kasutage klassi ModifyAccessRequest ja veebiliidese ModifyAccess toimingut. Lisateave: ModifyAccessi näide
Kirje jagamise tühistamiseks kasutage sõnumit RevokeAccess . SDK puhul kasutage klassi RevokeAccessRequest ja veebiliidese puhul toimingut RevokeAccess. Lisateave: Ligipääsu tühistamine
Ekspordivood
Kui voog on lahenduse osa, saate selle eksportida, eksportides voogu sisaldava lahenduse sõnumi ExportSolution abil.
Järgnev staatiline näidismeetod kasutab taotlust ExportSolutionRequest, et hankida taotlus, mis sisaldab haldamata lahenduse ZIP-faili määratud unikaalse nimega (UniqueName). ExportSolution...byte[]...
/// <summary>
/// Exports an unmanaged solution
/// </summary>
/// <param name="service">Authenticated client implementing the IOrganizationService interface</param>
/// <param name="solutionUniqueName">The uniquename of the solution.</param>
/// <returns></returns>
public static byte[] ExportSolution(
IOrganizationService service,
string solutionUniqueName)
{
ExportSolutionRequest request = new() {
SolutionName = solutionUniqueName,
Managed = false
};
var response = (ExportSolutionResponse)service.Execute(request);
return response.ExportSolutionFile;
}
Impordivood
Kui teil on lahenduse ZIP-fail olemas, saate selle importida sõnumi ImportSolution abil.
Voogude importimisel peaksite määrama järgmised parameetrid:
| Atribuudi nimi | Kirjeldus |
|---|---|
OverwriteUnmanagedCustomizations |
Kui nende voogude eksemplarid on juba olemas kaustas Dataverse, tuleb see lipp nende importimiseks väärtusele true määrata. Vastasel juhul neid üle ei kirjutata. |
PublishWorkflows |
Näitab, kas klassikalised töövood aktiveeritakse importimisel. Dataverse See säte ei kehti muud tüüpi voogude kohta. |
CustomizationFile |
Lahendust sisaldav baas-64 kodeeringuga zip-fail. |
Staatiline näidismeetod näitab, kuidas lahendusfaili importida, kasutades klassi ImportSolutionRequest. ImportSolution...
/// <summary>
/// Imports a solution.
/// </summary>
/// <param name="service">Authenticated client implementing the IOrganizationService interface</param>
/// <param name="solutionFile">The byte[] data representing a solution file. </param>
public static void ImportSolution(
IOrganizationService service,
byte[] solutionFile) {
ImportSolutionRequest request = new() {
OverwriteUnmanagedCustomizations = true,
CustomizationFile = solutionFile
};
service.Execute(request);
}
KKK
Aga kuidas on lood api.flow.microsoft.comi API-ga?
API aadressil api.flow.microsoft.com ei ole toetatud. Kliendid peaksid selle asemel kasutama selles artiklis eelnevalt kirjeldatud Dataverse veebi API-sid Power Automate .
Teise võimalusena saavad kliendid kasutada haldusliidesteid: Power Automate Haldus või Power Automate administraatoritele.
Kliendid võivad mittetoetatud API-sid kasutada omal vastutusel. api.flow.microsoft.com Need API-d võivad muutuda, seega võib esineda probleeme tekitavaid muudatusi.
Seotud teave
Üksuseklassi toimingud organisatsiooniteenuse abil
Toimingute tegemine veebi-API abil
Jagamine ja määramine
Juurdepääsu kontrollimine koodis
Töötage lahendustega, kasutades Dataverse SDK