Бөлісу құралы:


Жаңа провайдер жасау

Жаңа провайдерді жасау үшін келесі қадамдарды пайдаланыңыз. Сондай-ақ, осы қадамдарды бар провайдерлерге толықтырулар енгізу үшін пайдалануға болады.

Провайдердің архитектурасын анықтаңыз

Провайдерді жасамас бұрын, провайдер не істегіңіз келетінін және оны не үшін пайдаланғыңыз келетінін түсіну маңызды. Провайдерлерде бірнеше құрамдас бар және сізге барлық құрамдас бөліктер қажет болмауы мүмкін.

Сізге қандай құрамдас бөліктер қажет екенін анықтау үшін келесі кестені пайдаланыңыз.

Шарт Қажетті компонент
Провайдер жасағыңыз келетін қызметте Power Automate қосқышы жоқ.
Қосымша ақпарат алу үшін Барлығының тізімі Power Automate бөлімін қараңыз. қосқыштар.
Тұтынушы қосқышын жасаңыз немесе жалпы қосқышты пайдаланыңыз.
Сіздің провайдеріңіз сыртқы қызмет пен арасында деректер алмасады Microsoft Dataverse. Провайдеріңізге провайдерді өзгерту қажет болады. Әрбір түрлендіру үшін провайдердің түрлендіру құрамдас бөлігін қосыңыз.
Провайдеріңіз логиканы оркестр құрастырушысынан орындайды. Әрбір әрекетті көрсету үшін бөлек Power Automate ағынын жасаңыз.
Провайдеріңіз сыртқы қызметтен хабарларды өңдеуі керек. Power Automate Хабар өңдеуші ағынын жасаңыз.
Сіздің провайдеріңіз тұрақты аралықпен сыртқы қызметтен хабарламаларды алып отырады. Power Automate Хабар тартқыш ағынын жасаңыз.
Провайдеріңіз интеллектуалды тапсырысты басқаруда қазір анықталмаған іскери оқиғаларды көтереді. Жаңа іскери оқиға анықтамасын жасаңыз және бар оқиғаларды қосыңыз.

Шешімдерді жақсы түсінген кезде провайдеріңізді іске асыруға кірісуге болады.

Провайдер шешімін жасаңыз

Провайдер шешімін жасау үшін осы бөлімдегі келесі тапсырмаларды орындау керек.

  • Пайдаланушы провайдерін орнатыңыз.

  • Провайдер анықтамасын қосыңыз.

  • Компоненттерді шешіміңізге қосыңыз.

Пайдаланушы провайдерін орнатыңыз

Провайдеріңіздің құрамдастарын қамтитын Power Apps шешімді жасаңыз. Power Appsішінде жаңа шешім жасау үшін, Ішінде шешім жасау бөліміндегі қадамдарды орындаңыз Power Apps.

Провайдер анықтамасын қосыңыз

Провайдер анықтамасында провайдер туралы мәліметтер бар. Анықтама провайдеріңіздің Провайдер каталогында қалай көрінетінін анықтайды.

  1. Сіз жасаған провайдер шешімінде Жаңа таңдаңыз.

  2. IOMПровайдер анықтамасы таңдаңыз.

  3. Келесі мәліметтерді қосыңыз:

    1. Көрсетілетін атау: Провайдеріңізге бергіңіз келетін ат, мысалы, "Сынақ провайдері".

    2. Логикалық атау: провайдеріңізге арналған экспорттық кілт.

    3. Сипаттама: провайдер не істейтінін сипаттайтын мәтін.

  4. Сақтау опциясын таңдаңыз.

  5. Логотип қосқыңыз келсе, суретті жүктеңіз.

  6. Провайдер анықтамасының шешімде көрінетінін растаңыз. Құрамдас түрі IOM провайдерінің анықтамасы бар жазба көрсетілуі керек. Ол көрсетілмесе, Бар қосу опциясын таңдап, жаңа ғана жасаған жазбаны таңдаңыз.

  7. Провайдеріңіздің Провайдер каталогында көрінетінін тексеріңіз. Егер Белсенді өрісін Иә күйіне орнатсаңыз, провайдер анықтамасы Провайдер каталогында көрсетіледі. Интеллектуалды тапсырысты басқаруды ашыңыз. Провайдерлер > Каталог бөліміне өтіңіз. Провайдер анықтамасының көрсетілетінін тексеріңіз.

Компоненттерді ерітіндіге қосыңыз

Провайдер анықтамасын жасағаннан кейін шешімге провайдердің құрамдастарын қосыңыз.

  1. Шешіміңізге өтіңіз.

  2. Бар қосу опциясын таңдаңыз.

  3. Интеллектуалды тапсырысты басқару құрамдас түрін таңдаңыз, содан кейін жаңа ғана жасаған жазбаны таңдаңыз.

Провайдердің трансформациясын жасаңыз

Провайдеріңіз түрлендіруді қажет етсе, шешіміңізге провайдерді түрлендіру құрамдастарын қосу керек. Бірнеше түрлендірулерді жасау қажет болуы мүмкін.

  1. Провайдер шешімінде Жаңа опциясын таңдаңыз.

  2. IOM провайдерінің анықтамасын өзгерту таңдаңыз.

  3. Келесі мәліметтерді қосыңыз:

    1. Көрсетілетін атау: провайдер түрлендіруінің атауы, мысалы, "Сату тапсырыстарын түрлендіру".

    2. Логикалық атау: Провайдеріңіздің бірегей идентификаторы. Бұл мән деректердің импорттау және экспорттау кілті болады. Ол баспагердің префиксінен басталуы керек. Мысалы, Microsoft msdyn_ баспагер префиксін пайдаланады. Логикалық атқа мысалдар: msdyn_flex_fulfillmentorderproduct_orderline және msdyn_flex_fulfillmentorder_order.

    3. Көз түрі: Бұл өріс деректердің қандай түрі қабылданғанын көрсетеді. Екі опция бар: JsonDocument немесе Dataverse Entity. Деректеріңіз Dataverse ішінде болса, Dataverse Нысан таңдаңыз. Олай болмаса, JsonDocument таңдаңыз. Бұл ақпарат түрлендіруді іздеу үшін анықтайтын Power Automate элементте пайдаланылады.

    4. Бастапқы нысан атауы: түрлендіретін деректердің атауы. Егер Dataverse жазбаны түрлендіретін болсаңыз, Нысанның бастапқы атауы кестедегі атаумен бірдей екенін тексеріңіз. Dataverse

    5. Тағайындалған нысан атауы: түрлендіргіңіз келетін жазбаның тағайындалған орны.

    6. Трансформация: кіріс деректерін түрлендіру үшін пайдаланылатын Power Query Online MQuery. Power Query және MQuery туралы ақпарат алу үшін Power Query дегеніміз не? және Power Query M формуласының тіл анықтамасын қараңыз. . Төменде сату тапсырысын интеллектуалды тапсырысты басқару жүйесіндегі сыртқы тапсырыс қызметінен сату тапсырысына түрлендіретін MQuery мысалы берілген.

shared TransformSourceData =

let

orderItems = Source\[OrderItems\],

orderheader =

Record.FromTable

(

Table.SelectRows

(

Record.ToTable

(

\[

ordernumber = Record.FieldOrDefault(Source, "SellerOrderId", Text.From(Source\[OrderServiceOrderId\])),

name = ordernumber,

msdyn\_ExternalOrderId = Text.From(Source\[OrderServiceOrderId\]),

\#"customerid\_account@odata.bind" = "/accounts(" & Text.From(Source\[accountid\]) & ")",

\#"pricelevelid@odata.bind" = "/pricelevels(" & Text.From(Source\[pricelevelid\]) & ")",

totalamount = if Record.HasFields(Source, "OrderTotal") then Decimal.From(Record.FieldOrDefault(Source\[OrderTotal\], "Amount")) else null,

shipto\_name = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "Name") else null,

shipto\_contactname = shipto\_name,

shipto\_line1 = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "AddressLine1") else null,

shipto\_line2 = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "AddressLine2") else null,

shipto\_line3 = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "AddressLine3") else null,

shipto\_city = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "City") else null,

shipto\_stateorprovince = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "StateOrRegion") else null,

shipto\_country = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "CountryCode") else null,

shipto\_postalcode = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "PostalCode") else null,

shipto\_telephone = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "Phone") else null,

overriddencreatedon = Record.FieldOrDefault(Source, "PurchaseDate")

\]

), each \[Value\] \<\> null

)

),

orderlines = List.Transform(orderItems, each

Record.FromTable

(

Table.SelectRows

(

Record.ToTable

(

\[

isproductoverridden = true,

ispriceoverridden = true,

productdescription = \[OrderItemId\] & "-" & Record.FieldOrDefault(\_, "SellerSKU") & "-" & Record.FieldOrDefault(\_, "Title"),

quantity = \[QuantityOrdered\],

quantityshipped = Record.FieldOrDefault(\_, "QuantityShipped"),

priceperunit = if Record.HasFields(\_, "ItemPrice") then Decimal.From(Record.FieldOrDefault(\[ItemPrice\], "Amount")) else null,

manualdiscountamount = if Record.HasFields(\_, "PromotionDiscount") then Decimal.From(Record.FieldOrDefault(\[PromotionDiscount\], "Amount")) else null,

tax = if Record.HasFields(\_, "ItemTax") then Decimal.From(Record.FieldOrDefault(\[ItemTax\], "Amount")) else null,

shipto\_name = Record.FieldOrDefault(orderheader, "shipto\_name"),

shipto\_contactname = Record.FieldOrDefault(orderheader, "shipto\_contactname"),

shipto\_line1 = Record.FieldOrDefault(orderheader, "shipto\_line1"),

shipto\_line2 = Record.FieldOrDefault(orderheader, "shipto\_line2"),

shipto\_line3 = Record.FieldOrDefault(orderheader, "shipto\_line3"),

shipto\_city = Record.FieldOrDefault(orderheader, "shipto\_city"),

shipto\_stateorprovince = Record.FieldOrDefault(orderheader, "shipto\_stateorprovince"),

shipto\_country = Record.FieldOrDefault(orderheader, "shipto\_country"),

shipto\_postalcode = Record.FieldOrDefault(orderheader, "shipto\_postalcode"),

shipto\_telephone = Record.FieldOrDefault(orderheader, "shipto\_telephone"),

overriddencreatedon = Record.FieldOrDefault(orderheader, "overriddencreatedon")

\]

), each \[Value\] \<\> null

)

)

),

salesorder = Record.AddField(orderheader, "order\_details", orderlines)

in Text.FromBinary(Json.FromValue(salesorder));
  1. Сақтау опциясын таңдаңыз.

  2. Трансформация құрамдасыңыздың дұрыс көрінетінін тексеріңіз. IOM Provider Definition Transformation түрлендіру атауы бар құрамдас түрі көрсетілуі керек. Егер ол көрсетілмесе, Бар қосу опциясын таңдап, жаңа ғана жасаған түрлендіруді таңдаңыз.

Іскерлік оқиға анықтамаларын қосыңыз

Провайдеріңіз жаңа іскери оқиғаларды жасайтын немесе пайдаланатын болса, шешіміңізге IOM Provider Definition Business Event Definition компоненттерін қосуыңыз керек. Сізге тек Интеллектуалды тапсырысты басқару жүйесінде жоқ іскери оқиғаларды қосу керек.

Жасалғыңыз келетін іскерлік оқиға интеллектуалды тапсырысты басқаруда жоқ болса, сіз өзіңізді жасай аласыз.

  1. Жаңа таңдаңыз.

  2. IOM провайдерінің анықтамасы іскери оқиға анықтамасы таңдаңыз.

  3. Келесі мәліметтерді қосыңыз:

    1. Аты: іскери оқиғаңыздың атауы.

    2. Провайдер: осы бизнес анықтамасын жасап жатқан провайдер.

    3. Байланысты нысан: Оқиға жасалғанда өзгертілетін немесе әсер ететін интеллектуалды тапсырысты басқарудағы Dataverse нысан.

    4. Байланысты күй мәні: Іскерлік оқиға көтерілген кезде байланыстырылған нысанның күйі жаңартылғанын қаласаңыз, осы өріске күй мәнін қосыңыз.

    5. Байланысты күй мәні: Іскерлік оқиға көтерілген кезде байланыстырылған нысанның күйі жаңартылғанын қаласаңыз, осы өріске күй мәнін қосыңыз.

  4. Сақтау таңдаңыз.

  5. IOM Provider Business Event Definition жазбасының көрсетілгенін тексеру үшін шешіміңізді тексеріңіз. Жазба шешімде көрсетілмесе, Бар қосу опциясын таңдап, жаңа ғана жасаған жазбаны таңдаңыз.

Қосқышты қосыңыз

Провайдеріңізге Power Automate ішінде қолжетімсіз қосқыш қажет болса, өзіңіздің коннекторыңызды жасауыңыз керек. Қосымша ақпарат алу үшін Барлық Power Automate қосқыштар тізімін қараңыз.

Өзіңіздің Power Automate қосқышыңызды жасау үшін Теңшелетін қосқыштарға шолу бөліміндегі қадамдарды орындаңыз.

Теңшелетін қосқышты жасағаннан кейін оны компонент ретінде провайдер шешіміне қосыңыз.

  1. Провайдер шешіміне өтіңіз.

  2. Барын қосу опциясын таңдаңыз.

  3. Өзіңіз жасаған қосқышты таңдаңыз.

Power Automate ағындарының түрлері

Оркестрлеу құрастырушысында орындалатын кез келген әрекет Power Automate ағындар арқылы көрсетіледі. Егер Power Automate арнайы ақпаратты алуды немесе нақты әрекеттерді орындауды қаласаңыз, сол әрекеттер үшін ағындарды жасауыңыз қажет. Power Automateтуралы көбірек білу үшін Кіріспе бөлімін қараңыз Power Automate.

Провайдеріңізге Провайдер анықтамасының логикалық анықтамасы құрамдастары ретінде ағындарды қосыңыз.

Ағын жасау процесін бастамас бұрын, интеллектуалды тапсырысты басқаруда пайдаланылатын ағындардың түрлерін қарап шығыңыз.

Провайдердің хабарын өңдеу құралы

Бұл ағындар сыртқы қызметтен хабарларды қабылдайды және өңдейді және интеллектуалды тапсырысты басқару оркестрін хабардар ету үшін сәйкес іскери оқиғаны көтереді. Бұл ағындар сыртқы қызмет арқылы іске қосылады.

Төменде Power Automate ағынының хабарлама өңдегіш түрін жасауға арналған үлгі құрылымы берілген.

  1. a Power Automate триггерді анықтаңыз. Бұл әдетте HTTP соңғы нүктесі болып табылады, ол веб-ілгек триггері (ұсынылады), қосқыш триггері немесе Dataverse кірістіру триггері. Сыртқы қызметте Intelligent Order Management қызметіне жіберілетін деректер болған кезде триггер көтеріледі. HTTP сұрауы қабылданған кездегі триггердің скриншоты.

HTTP триггерінде пайдаланылатын JSON схемасы төменде анықталған.

{
    "type": "object",
    "properties": {
        "text": {
            "title": "ProviderActionExecutionEventId",
            "type": "string",
            "x-ms-dynamically-added": true,
            "description": "Please enter your input",
            "x-ms-content-hint": "TEXT"
        },
        "text_1": {
            "title": "EntityRecordId",
            "type": "string",
            "x-ms-dynamically-added": true,
            "description": "Please enter your input",
            "x-ms-content-hint": "TEXT"
        }
    },
    "required": [
        "text",
        "text_1"
    ]
}
  1. Хабарламаны өңдеуді инициализациялаңыз. Бұл тапсырмада екі қадам бар.

    1. Хабарламаның өңделуін бақылау үшін пайдаланылатын орындау нәтижесін инициализациялаңыз.

    2. Өңдеу күйін қадағалау, қайталау және көрсету үшін Intelligent Order Management қолданбасында провайдер хабарын растаңыз. Бұл интеллектуалды тапсырысты басқару енгізетін Power Automate әрекет. Бұл әрекет IOM жүйесінде провайдерді растау хабар сұрауы деп аталады. Бұл әрекетте келесі қажетті параметрлер бар.

      1. PowerAutomateWorkflowId: хабар өңдегіш анықтамасындағы жұмыс ағынының идентификаторы. Оны жұмыс процесі()['тегтер'] арқылы құрастыру функциясы арқылы шығарып алуға болады.

      2. PowerAutomateRunId: хабарды қабылдаған және құбырға өңдеуді қайталауға және орындау журналдарын байланыстыруға мүмкіндік беретін Power Automate іске арналған бірегей идентификатор. Оны жұмыс процесі()['іске қосу']?['name'] көмегімен құру функциясы арқылы алуға болады.

      3. ProviderMessageExternalRequestId: жіберілген хабардың идентификаторы. Егер идентификатор болмаса, GUID жасауға болады. Бұл идентификатор жіберушінің қайталанатын хабарламаларды жіберуіне жол бермеу үшін құбыр арқылы пайдаланылады. Идентификатор бастапқы пайдалы жүктемеге байланысты. Мысалы: concat(triggerOutputs()?['body']?['type']?['name'], '_', triggerOutputs()?['body']?['id']).

Провайдерді растау хабар сұрау экранының скриншоты.

  1. Сіз бұрын анықтаған провайдердің түрлендіруі кіріс деректерін шығарып алады және оны түрлендіреді. Интеллектуалды тапсырысты басқару трансформацияны орындайтын IOM Provider Transformer деп аталатын қордан тыс еншілес ағынды қамтамасыз етеді. Оқиғаны немесе хабарды өңдеу үшін келесі мәліметтерді қосыңыз:

    1. Провайдердің аты: Хабарлама өңдеушісіне байланыстырылған провайдердің аты. Бұл мән провайдердің түрлендіруімен бірдей атау болуы керек.

    2. Бастапқы нысан атауы: Орындалатын түрлендіруге арналған бастапқы іздеу кілтінің мәні. Бұл мән провайдер түрлендіруінде анықталған бастапқы нысан атауымен бірдей болуы керек.

    3. Тағайындалған нысан атауы: Орындалатын түрлендіруге арналған мақсатты іздеу кілтінің мәні. Бұл мән провайдердің түрлендіруінде анықталған мән болуы керек.

    4. Пайдалы жүктеме: JSON пайдалы жүктемесін түрлендіру кезінде беріледі. Power Automate параметрлерді серияланған жол ретінде беруді талап етеді. a Жүктеме немесе a Жазба ID мәнін қамтамасыз етіңіз, екеуін де емес.

    5. Жазба идентификаторы: Dataverse жазбаны түрлендіру кезінде беріледі. a Жүктеме немесе a Жазба ID мәнін қамтамасыз етіңіз, екеуін де емес.
       Power Query Онлайн арқылы түрлендіру хабарының скриншоты.

  2. HTTP сұрауларын немесе Dataverse қосқышты Dataverse Кірістіру әрекетін пайдалану арқылы деректерді кірістіруге болады. Бірнеше кірістіру жасап жатсаңыз және өнімділікті жақсартқыңыз келсе, сұраулар транзакция бумасында болатындай кірістірулерді өзгерту жиынына ораңыз.
    Кірістіру хабарлары ағынының скриншоты.

  3. Ағыныңыз іскерлік оқиғаны көтеруді қаласаңыз, Іскерлік оқиғаны көтеру еншілес ағынды пайдалануға болады. Келесі мәліметтерді қосыңыз.

    1. BusinessEventName: Сіз көтергіңіз келетін оқиғаның атауы.

    2. EntityRecordId: Жаңа ғана жасалған және оқиғамен байланыстырылған жазбаның идентификаторы.

  4. Өңдеуді орындау нәтижесін сақтау үшін Провайдер хабарының сұрау күйін жаңарту әрекетін пайдалану арқылы хабарды өңдеу күйін жаңартыңыз. Келесі мәліметтерді қосыңыз.

    1. ProviderMessageRequestExecutionId: хабарламаны өңдеу барысын бақылау үшін жасалған жазбаның шығыс идентификаторы.

    2. IsProviderMessageRequestExecutionSuccess: Өңдеудің сәтті болғанын көрсететін логикалық мән.

Провайдер хабарын тарту құралы

Провайдер хабарларын тартқыштар – сыртқы қызметтен тұрақты анықталған аралықта хабарламаларды тартатын Power Automate ағындар.

Ескертпе

Хабарлама өңдегіші хабар тартқыш ағынының міндетті шарты болып табылады.

Төменде Power Automate ағынының хабар тартқыш түрін жасауға арналған үлгі құрылымы берілген.

  1. Триггерді жоспарлау үшін қайталанатын жұмыс процесін пайдаланыңыз.

  2. Бақылау пунктін алыңыз Dataverse. Бақылау нүктелері сыртқы провайдерден қандай хабарлардың сәтті алынғанын бақылайды. Келесі мәліметтерді қосыңыз.

    1. Әрекет атауы: Бақылау нүктесінің атауы.

    2. WorkflowId: Осы ақпаратты шығарып алу үшін келесі құрастыру функциясын орнатыңыз: workflow()['tags']['xrmWorkflowId'].
      Get checkpoint скриншоты.

  3. Хабарламаларды алу үшін сыртқы провайдерге HTTP жіберу сұрауын жасаңыз. Келесі мәліметтерді қосыңыз.

    1. Әдіс: Бұл өрісті POST күйіне орнатыңыз.

    2. URL: сыртқы провайдердің соңғы нүктесі.

    3. Body: JSON сұрауында келесі формула болуы керек: if(empty(outputs('Get_Checkpoint')?['body/Checkpoint']), 0, int(outputs('Get_Checkpoint')?[ 'дене/тексеру пункті'])).
      Pull хабарларына арналған скриншот.

  4. 3-қадамда алынған хабарларды талдаңыз. Келесі мәліметтерді қосыңыз.

    1. Мазмұн: 3-қадамнан алынған негізгі мәтін.

    2. Схема: 3-қадамда алынған дененің құрылымы.
      Хабарламаларды талдауға арналған скриншот.

  5. 4-қадамдағы әрбір хабарды айналдыру үшін хабарларды өңдеңіз.

  6. Алдыңғы қадамдардағы әрбір хабарды талдаңыз. Келесі ақпаратты қосыңыз.

    1. Мазмұн: ағымдағы элемент Процесс хабарлары.

    2. Схема: JSON пішіміндегі жалғыз хабарлама.
      Хабарламаларды өңдеуге арналған скриншот 2.

  7. Алғы шарттарда орнатқан байланыстырылған провайдердің хабар өңдеушісіне қоңырау шалыңыз. Келесі ақпаратты қосыңыз.

    1. Бала ағыны: провайдердің хабар өңдеушісін таңдаңыз.

    2. Хабар: 6-қадамнан талданған хабар.
      Хабарламаларды өңдеуге арналған скриншот 3.

  8. Бақылау нүктесін Dataverse қалтасына сақтаңыз. Келесі ақпаратты қосыңыз.

    1. Бақылау нүктесі: Бұл кез келген жол мәні болуы мүмкін (макс. 100). Бұл мысалда бұл соңғы өңделген хабардың идентификаторы.

    2. WorkFlowId: бұл идентификаторды жұмыс ағынына()['tags']['xrmWorkflowId'] параметріне құрастыру функциясын қосу арқылы шығарып алуға болады.
      Хабарламаларды өңдеуге арналған скриншот 4.

Провайдер әрекеті

Провайдер әрекетінің ағындары оркестр құрастырушысынан шақырылады. Бұл ағындар әдетте Intelligent Order Management қолданбасынан сыртқы қызметтерге қоңыраулар жасайды.

Провайдер хабарын өңдеушісі мен провайдердің әрекеті арасындағы негізгі айырмашылық мынада: хабар өңдеушісі оркестр құрастырушысын хабардар ете алса, оны оркестр құрастырушысындағы әрекет тақтасы іске қоса алмайды, ал провайдер әрекеті мүмкін.

Төменде провайдер әрекетінің Power Automate ағынының үлгі құрылымы берілген.

  1. HTTP триггерімен бастаңыз. Оркестрлік қызмет орындау уақытында келесі ақпаратты жібереді. Дене үшін келесі JSON схемасы пайдаланылады:
{
    "type": "object",
    "properties": {
        "text": {
            "title": "ProviderActionExecutionEventId",
            "type": "string",
            "x-ms-dynamically-added": true,
            "description": "Please enter your input",
            "x-ms-content-hint": "TEXT"
        },
        "text_1": {
            "title": "EntityRecordId",
            "type": "string",
            "x-ms-dynamically-added": true,
            "description": "Please enter your input",
            "x-ms-content-hint": "TEXT"
        }
    },
    "required": [
        "text",
        "text_1"
    ]
}
  1. Әрекетті өңдеуді инициализациялаңыз.

    1. Орындау нәтижесін және кез келген басқа өңдеу айнымалыларын инициализациялаңыз.

    2. Провайдер әрекетін орындауды бастау Dataverse әрекетін пайдалану арқылы әрекетті орындаудың басталуын растаңыз. Бұл конвейерге Intelligent Order Management ішінде өңдеу күйін қадағалауға, қайталап көруге және көрсетуге мүмкіндік береді. Келесі ақпаратты қосыңыз.

      1. ProviderActionExecutionEventId: Бұл мән әрекетке 1-қадамда енгізу параметрі ретінде жіберілді.

      2. PowerAutomateRunID: Power Automate әрекеттің бірегей іске қосылуы. Бұл конвейерге орындау журналдарын байланыстыруға мүмкіндік береді. Өрісті a Power Automate өрнек worflow()['run']?['name'] мәніне орнату арқылы бұл ақпаратты алыңыз.

  2. Әрекетті орындаңыз.

    1. Қажет болса, жазбаларды Хабарды Power Query Онлайн еншілес ағынымен түрлендіру арқылы түрлендіріңіз.

      1. Провайдердің аты: әрекетке байланыстырылатын провайдердің аты. Аты провайдер анықтамасымен бірдей болуы керек.

      2. Бастапқы нысан атауы: Орындалатын түрлендірудің бастапқы атауы. Бұл атау сіздің Power Automate түрлендіруіңізде анықталған бастапқы нысан болуы керек.

      3. Тағайындалған нысан атауы: Орындалатын түрлендіруге арналған тағайындалған жерді іздеу кілтінің мәні. Бұл атау провайдердің түрлендіруінде анықталған мән болуы керек.

      4. Пайдалы жүктеме: кіріс JSON пайдалы жүктемесін түрлендіру кезінде беріледі. Power Automate параметрлерді серияланған жол ретінде беруді талап етеді. a Жүктеме немесе a Жазба ID мәнін қосыңыз, бірақ екеуін де емес.

      5. Жазба идентификаторы: шығыс Dataverse жазбаны түрлендіру кезінде беріледі. a Жүктеме немесе a Жазба ID мәнін қосыңыз, бірақ екеуін де емес.
         Power Query Онлайн арқылы түрлендіру хабарының скриншоты.

    2. Сіз анықтаған кез келген пайдаланушы әрекеттерін орындаңыз. Бұл сіз пайдаланып жатқан Power Automate қосқышта болатын әрекеттер.

    3. Белгілі бір әрекетке арналған іскерлік оқиғаны көтеріңіз. Raise Business Event еншілес ағынды пайдаланыңыз. Келесі ақпаратты қосыңыз.

      1. BusinessEventName: көтергіңіз келетін оқиғаның атауы.

      2. EntityRecordId: оқиғаға байланысты жазбаның идентификаторы.

  3. Әрекетті орындауды аяқтаңыз және нәтижелерді сақтаңыз. Нәтижелерді оркестр дизайнері өңдейді. Келесі ақпаратты қосыңыз.

    1. ExecutionResult: өңдеудің сәтті болғанын көрсететін логикалық мән.

    2. ExecutionDetails: тексеру және жөндеу мақсаттарына арналған қосымша журнал мәліметтері.

    3. ProviderActionExecutionEventId: Бұл мән әрекетке 1-қадамда анықталған енгізу параметрі ретінде жіберілді.
      Толық провайдер әрекетінің скриншоты.

Қосалқы ағын

Еншілес ағын басқа Power Automate ағындарда сілтеме жасалған ішкі ағын болып табылады. Бірнеше аумақта қайталанатын кейбір қадамдар болса, еншілес ағынды анықтау пайдалы. Еншілес ағындар үшін арнайы үлгі немесе ұсынылған процесс жоқ, себебі олар негізінен ұқсас қадамдарды біріктіру ыңғайлылығы үшін пайдалануға арналған.

Провайдердің еншілес ағындары басқа провайдердің еншілес ағындарын шақыра алмайды.

Бұлт ағындарын жасаңыз

Жасалғыңыз келетін ағындардың түрлерін түсінген кезде бұлтты ағындарды жасауға дайынсыз. Ол үшін мына қадамдарды орындаңыз:

  1. Әдепкі шешімді Power Apps ортаңызда ашыңыз.

Маңызды

Бұл шешімдерді провайдер шешіміне қоспаңыз.

  1. Жаңа таңдаңыз, содан кейін Бұлтты ағын таңдаңыз.

  2. Power Automate ағыныңызды жасаңыз. Анықтама үшін алдыңғы бөлімдегі үлгілерді пайдаланыңыз.

  3. Ағындарды сақтау үшін келесі бөлімді қараңыз.

Power Automate анықтаманы сақтау

Ағындарды жасағаннан кейін оларды Провайдер анықтамасының логикалық анықтамасы құрамдастары ретінде сақтау керек. Бұл құрамдас түрі интеллектуалды тапсырысты басқаруды провайдерді белсендіру кезінде қолдану әрекеттерімен қамтамасыз етеді.

Ағындарды сақтау үшін сізде келесі алғышарттар болуы керек.

  • Сіздің Power Automate логикалық анықтамаларыңызды сақтау үшін OData сұрауларын шығаруыңыз қажет. Мұны істеу үшін сізге PostMan немесе соған ұқсас қызметтегі тіркелгі қажет.

  • GET және POST сұрауларын шығару үшін Dataverse ортаңызға кіру таңбалауышын жасау керек. Ол үшін келесі әрекеттерді орындау керек.

    • Белсенді жазылымы бар Azure тіркелгісін орнатыңыз. Белсенді тіркелгіңіз болмаса, Azure веб-сайтында есептік жазбаны орнатуыңыз қажет.

    • PowerShell орнатылуы керек. Қосымша ақпаратты PowerShell орнату бөлімінен қараңыз.

    • Қол жеткізу таңбалауышын алу үшін PowerShell бағдарламасында келесі пәрменді енгізіңіз: az login --allow-no-subscriptions account get-access-token --resource=https://YourDataverseTenantURL.api.crm.dynamics.com/ --query=accessToken --output=tsv | Орнату - алмасу буфері.

Power Automate анықтамаңызды сақтау үшін келесі әрекеттерді орындаңыз.

  1. Сақтағыңыз келетін Power Automate ағынының жұмыс үрдісінің идентификаторын табыңыз. Төмендегілердің бірін орындаңыз.

    1. Power Automate әрекеті арқылы жұмыс үрдісінің идентификаторын табыңыз.

      1. Power Automate ағыныңыздың соңында жұмыс процесі() өрнегі бар құрастыру әрекетін жасаңыз.
        Құрастыру әрекетінің скриншоты.

      2. Power Automateіске қосыңыз.

      3. Орындау нәтижелеріндегі xrmWorkflowId сипатта жұмыс үрдісінің идентификаторы болады.
        Жұмыс процесі идентификаторының скриншоты.

      4. Бұл әрекетті қайта іске қосылмауы үшін ағыннан жойыңыз.

    2. Қосымша түрде Get OData сұрауын шығаруға болады.

      1. Жұмыс үрдісінің идентификаторын сақтағыңыз келетін ағынға өтіңіз. URL мекенжайынан бірегей идентификаторды табыңыз. Бұл URL мекенжайында ../flows/ кейін пайда болатын идентификатор.
        Бірегей идентификаторды қалай табуға болады.

      2. Жұмыс үрдісінің метадеректерін шығарып алу үшін OData сұрауын шығарыңыз. Төменде GET сұрауының мысалы берілген.
        GET {Env url}/api/data/v9.1/workflows?$filter=workflowidunique eq '{Бірегей жұмыс процесі идентификаторы Power Automate U}'&$select=жұмыс ағыны,жұмыс ағыны

      3. Қайтарылған жұмыс процесі сипатын сақтаңыз.

  2. Провайдер анықтамасының идентификаторын табыңыз.

    1. Ағынды сақтағыңыз келетін провайдердің анықтамасын таңдаңыз.

    2. URL мекенжайынан провайдер анықтамасының идентификаторын көшіріңіз. Бұл URL ../id={мысал нөмірі}/ бөлігі.
      Провайдер анықтамасының идентификаторын қалай табуға болады.

  3. Сақтап жатқан Power Automate түріне арналған опциялар жиынының мәнін жазып алыңыз.

    1. Бала ағыны: 192350002

    2. Провайдердің әрекеті: 192350001

    3. Провайдер хабарлама өңдеушісі: 192350000

    4. Провайдер хабарын тарту құралы: 192350003

  4. Power Automate анықтамаңызды сақтау үшін POST сұрауын беріңіз. Төменде мысал сұрау берілген.

    POST: {Env url}/api/data/v9.1/msdyn\_SaveProviderDefinitionLogicDefinition  
    Body:  
    {

"ProviderDefinitionId": "{ProviderId previously found}",

"WorkflowId": "{Power Automate WorkflowId previously found}",

"LogicalName": "{Export prefix \_ Power Automate Export Name}",

"LogicType": {Logic Type},

"MaxRetryAttempts": {Max number of attempts},

"TimeoutMinutes": {Timeout number ex: 5}

}
  1. Provider Definition Logic Definition компоненті қосылғанын тексеріңіз. Ол үшін мына қадамдарды орындаңыз:

    1. Провайдер шешіміне өтіңіз.

    2. Сіз жасаған Провайдер анықтамасының логикалық анықтамасының қосылғанын тексеріңіз. Егер ол қосылмаған болса, Барын қосу опциясын таңдап, жасаған құрамдасыңызды қосыңыз.

Қосылым сілтемелерін сақтаңыз

Егер провайдер тұтынушы Power Automate қосқыштарын пайдаланса, Power Automate шешіміңізге қосылым сілтемелерін сақтау үшін келесі қадамдарды орындауыңыз керек.

  1. Қосылым анықтамасының идентификаторын шығарып алу үшін GET сұрауын шығарыңыз. Мысалы:
GET {Env url}/api/data/v9.2/connectionreferences

Оны әрі қарай сүзгіңіз келсе, қосылым сілтемесінің аты бойынша сүзуге болады. Мысалы:

    {Env url}/api/data/v9.2/connectionreferences?$[connectionreferences?$filter=connectionreferencedisplayname](https://orgdb90e3a2.api.crm10.dynamics.com/api/data/v9.2/connectionreferences?$filter=connectionreferencedisplayname) eq 'Provider Example'&$select=connectionreferencelogicalname,connectionreferencedisplayname,connectionreferenceid,connectorid

  1. Power Automate Клиент деректерін іздеу арқылы дұрыс қосылым анықтамасының идентификаторы алынғанын растаңыз.

    1. Бұрын сақталған Provider Definition Logic Definition компонентіне өтіңіз.

    2. connectionReferenceLogicalName көрсетілгенін тексеру үшін Клиент деректерін тексеріңіз.

  2. Провайдер анықтамасының идентификаторын табыңыз. Бұл 2-қадамда Power Automate логикалық анықтамаларды сақтау үшін пайдаланған мәнмен бірдей.

  3. Қосылым анықтамасын сақтау үшін жариялау сұрауын шығарыңыз. Мысалы:

POST {Env url}/api/data/v9.1/msdyn\_SaveProviderDefinitionConnectionReference  
    Body:  
    {

"ProviderDefinitionId": "{ProviderId previously found}",

"ConnectionReferenceId": "{Connection reference id previously found}"

}
  1. Provider Definition Logic Definition компоненті қосылғанын тексеріңіз.

    1. Провайдер шешіміне өтіңіз.

    2. Сіз жасаған Provider Definition Logic Definition анықтамалық құрамдас бөлігі қосылғанын тексеріңіз. Егер ол қосылмаған болса, Барын қосу пәрменін таңдап, жаңа ғана жасаған құрамдасыңызды қосыңыз.

Провайдерлермен бөлісіңіз

Провайдер анықтамасын басқа ортада пайдаланғыңыз келсе немесе шешіміңізді ортақ пайдаланғыңыз келсе, провайдер шешімін экспорттай аласыз. Қосымша ақпаратты Шешімдерді экспорттау бөлімінен қараңыз.