Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Fluxu guztiak Dataverse -n gordetzen dira eta Dataverse .NET-erako SDK edo Web APIa erabil ditzakezu kudeatzeko.
Artikulu honek Soluzioak fitxan sartutako fluxuen kudeaketa jorratzen du Power Automate. Gaur egun, Nire Fluxuak ataleko fluxuak kudeatzea ez da onartzen kodearekin.
Elkarreragin APIekin Dataverse
Dataverse baliokideak diren gaitasunek .NET-erako SDK edo Web APIa erabiliz baliokideak eskaintzen dituzte. Dataverse
Zein metodo erabili behar dut?
Metodo onena proiektuaren teknologiaren eta dituzun trebetasunen araberakoa da.
Zure proiektuak .NET erabiltzen badu, SDK erabiltzea gomendatzen dugu. SDK-k garapen-esperientzia errazten du objektu-eredu motatua eta autentifikazio-metodoak eskainiz.
Informazio gehiago: Erabili Erakundearen zerbitzua
Nola konektatu?
Konektatzeko modua .NET edo Web APIrako SDK erabiltzen ari zaren araberakoa da. Dataverse
SDK-arekin, bezero-aplikazio batekin konektatu behar duzu IOrganizationService instantzia batera sartzeko. ...
IOrganizationService Dataverse-rekin elkarreragiteko metodoak eskaintzen dituen interfazea da.
Informazio gehiago:
Lan-fluxuaren taula
Hodeiko fluxuak Web APIan lan-fluxuaren entitate mota gisa irudikatzen den Prozesu (Lan-fluxu) taulan gordetzen dira. ......
Hurrengo taulak lan-fluxuen taulako zutabe garrantzitsuak deskribatzen ditu:
| Izen logikoa | Idatzi | Deskribapenak |
|---|---|---|
category |
Aukera | Fluxuaren kategoria. Hona hemen kategoria desberdinak. 0 - Lan-fluxu klasikoak. Dataverse 1 - Elkarrizketa klasikoak. Dataverse 2 - Negozio arauak. 3 - Ekintza klasikoak. Dataverse 4 - Negozio-prozesuen fluxuak. 5 - Fluxu Modernoa (Fluxu automatizatuak, berehalakoak edo programatuak).6 - Mahaigaineko fluxuak. |
clientdata |
String | Fluxuaren definizioaren eta bere connectionReferences-en kate-kodetutako JSON bat. |
createdby |
Bilaketa | Fluxua sortu duen erabiltzailea. |
createdon |
DateTime | Fluxua sortu zen data. |
description |
String | Erabiltzaileak fluxuaren deskribapena eman du. |
ismanaged |
Boolearra | Fluxua kudeatutako soluzio baten bidez instalatu den adierazten du. |
modifiedby |
Bilaketa | Fluxua eguneratu duen azken erabiltzailea. |
modifiedon |
DateTime | Fluxua azken aldiz eguneratu zen aldia. |
name |
String | Fluxuari eman diozun bistaratzeko izena. |
ownerid |
Bilaketa | Fluxuaren jabea den erabiltzailea edo taldea. |
statecode |
Aukera | Fluxuaren egoera. Egoera hau izan daiteke:0 - Zirriborroa (Desaktibatuta)1 - Aktibatuta (Piztuta)2 - Suspendituta. |
type |
Aukera | Fluxua martxan dagoen fluxua den edo fluxu gehiago sortzeko erabil daitekeen txantiloia den adierazten du. 1 - Definizioa,2 - Aktibazioa3 - Txantiloia. |
workflowid |
GUIDa | Inportazio guztietan hodeiko fluxu baten identifikatzaile bakarra. |
workflowidunique |
GUIDa | Fluxu honen instalazioaren identifikatzaile bakarra. |
Oharra
Web APIarekin, bilaketa-balioak hauek dira: balio bakarreko nabigazio-propietateak erlazionatutako erregistrotik xehetasunak lortzeko zabaldu daitekeena.
Bilaketa-zutabeek ere badute dagokien GUIDa bilaketa-propietateak kontsultetan erabil daitekeena. Bilaketa-propietateek izendapen-konbentzio hau dute: _<logical name>_value. Web APIko lan-fluxuaren entitate motarako, bilaketa-propietate hauek erreferentzia ditzakezu: _createdby_value, _modifiedby_value, eta _ownerid_value.
Zerrendatu fluxuak
Hodeiko fluxuen zerrenda berreskuratzeko, lan-fluxuen taula kontsulta dezakezu. Hurrengo kontsultak une honetan 'piztuta' dagoen lehenengo fluxu automatizatua, berehalakoa edo programatua itzultzen du:
Estatiko hau OutputFirstActiveFlow metodoak inplementatzen duen bezero autentifikatu bat behar du IOrganizationService. Erabiltzen du IOrganizationService.RetrieveMultiple metodoa.
/// <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"]}");
}
Erregistro gehiago berreskuratzeko, kendu Gehieneko Kopurua muga.
Irteera
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
Informazio gehiago:
Sortu hodeiko fluxu bat
Fluxu automatizatu, berehalako eta programatuetarako beharrezko propietateak hauek dira: category, name, type, primaryentity, eta clientdata. Erabili none -rentzat primaryentity fluxu mota hauetarako.
Metodo estatiko honek bezero autentifikatu bat behar du, hau ezartzen duena: IOrganizationService. Erabiltzen du IOrganizationService.Create metodoa.
/// <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);
}
Informazio gehiago: Sortu taula-errenkadak Antolakuntza Zerbitzua erabiliz
Modu honetan sortutako fluxu guztiak statecode (Zirriborroa edo 'Desaktibatuta') gisa ezarrita daude. 0 Fluxua gaituta egon behar da erabili ahal izateko.
Propietate garrantzitsuena clientdata da, fluxuak erabiltzen duen connectionReferences eta fluxuaren definizioa jasotzen dituena. Fluxuak erabiltzen dituen konexio bakoitzerako mapaketak dira 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"
}
Hodeiko fluxu bat eguneratu
Fluxu bat eguneratzeko, aldatu nahi dituzun propietateak bakarrik ezarri.
Metodo estatiko honek bezero autentifikatu bat behar du, hau ezartzen duena: IOrganizationService. Fluxuaren deskribapena eguneratzeko eta jabea ezartzeko IOrganizationService.Update metodoa erabiltzen du.
/// <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);
}
Informazio gehiago: Taularen errenkadak eguneratu eta ezabatu Antolakuntza Zerbitzua erabiliz > Oinarrizko eguneratzea
Ezabatu hodeiko fluxu bat
Adibide hauek hodeiko fluxu bat adierazten duen lan-fluxuaren erregistroa nola ezabatu erakusten dute.
Metodo estatikoak lan-fluxuaren erregistro bat ezabatzen du. 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);
}
Informazio gehiago: Ezabatu erregistro bat SDK erabiliz
Lortu hodeiko fluxu bat partekatzen den erabiltzaile guztiak
Erabili RetrieveSharedPrincipalsAndAccess mezua hodeiko fluxu bat partekatzen den erabiltzaile guztien zerrenda lortzeko.
SDK-arekin, erabili RetrieveSharedPrincipalsAndAccessRequest klasea, eta Web API-arekin erabili RetrieveSharedPrincipalsAndAccess funtzioa.
Informazio gehiago: Lortu erregistro baterako sarbidea duten nagusiak
Hodeiko fluxu bat partekatu edo partekatzeari utzi
Partekatu hodeiko fluxu bat beste edozein erregistro bezala mezua erabiliz. Dataverse GrantAccess SDK-arekin, erabili GrantAccessRequest klasea eta Web API-arekin erabili GrantAccess ekintza. Informazio gehiago: GrantAccess adibidea
Erregistro bat partekatzean ematen dituzun sarbide-eskubideak aldatu nahi badituzu, erabili ModifyAccess mezua. SDK-arekin, erabili ModifyAccessRequest klasea eta Web API-arekin erabili ModifyAccess ekintza. Informazio gehiago: ModifyAccess adibidea
Erregistro bat partekatzeari uzteko, erabili RevokeAccess mezua. SDK-arekin, erabili RevokeAccessRequest klasea eta Web API-arekin erabili RevokeAccess ekintza. Informazio gehiago: Sarbidea ezeztatzea
Esportazio-fluxuak
Fluxu bat soluzio baten parte denean, esportatu dezakezu fluxua duen soluzioa esportatuz ExportSolution mezua erabiliz.
Hurrengo metodo estatikoak ExportSolution ExportSolutionRequest erabiltzen du zehaztutako UniqueName byte[] duen kudeatu gabeko soluzioaren ZIP fitxategia duen fitxategia berreskuratzeko.
/// <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;
}
Inportazio-fluxuak
ZIP fitxategi bat duzunean, mezua erabiliz inporta dezakezu. ImportSolution
Fluxuak inportatzerakoan, parametro hauek ezarri behar dituzu:
| Propietatearen izena | Deskribapenak |
|---|---|
OverwriteUnmanagedCustomizations |
Fluxu hauen instantziak badaude Dataverse-n, bandera hau true -ra ezarri behar da inportatzeko. Bestela, ez dira gainidatziko. |
PublishWorkflows |
Inportatzean lan-fluxu klasikoak aktibatuta dauden adierazten du. Dataverse Ezarpen hau ez da aplikatzen beste fluxu mota batzuetan. |
CustomizationFile |
Soluzioa duen base 64 kodeketa duen zip fitxategi bat. |
Lagin estatiko ImportSolution metodoak erakusten du nola inportatu soluzio-fitxategi bat ImportSolutionRequest klasea erabiliz
/// <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);
}
FAQa
Zer gertatzen da api.flow.microsoft.com-eko APIarekin?
api.flow.microsoft.com helbideko APIa ez da onartzen. Bezeroek artikulu honetan aurretik dokumentatutako Dataverse Web APIak erabili beharko lituzkete. Power Automate
Bestela, bezeroek kudeaketa konektoreak erabil ditzakete: Power Automate Kudeaketa edo Power Automate Administratzaileentzat.
Bezeroek API bateraezinak erabil ditzakete beren ardurapean. api.flow.microsoft.com API hauek alda daitezke, beraz, aldaketa garrantzitsuak gerta daitezke.
Erlazionatutako informazioa
Erakundearen zerbitzua erabiliz entitate klaseko eragiketak
Egin eragiketak Web APIa erabiliz
Partekatzea eta esleitzea
Kodean sarbidea egiaztatzea
Lan egin irtenbideekin erabiliz Dataverse SDK