Uuden palveluntarjoajan luominen

Luo uusi palveluntarjoaja seuraavien ohjeiden avulla. Näiden ohjeiden avulla voit myös tehdä lisäyksiä aiemmin luotuihin palveluntarjoajiin.

Palveluntarjoajan arkkitehtuurin määrittäminen

Ennen kuin luot palveluntarjoajan, tutustu siihen, mitä haluat palveluntarjoajan tekevän ja mihin haluat sen käyttöön. Palveluntarjoajilla on useita komponentteja, etkä välttämättä tarvitse kaikkia osia.

Seuraavan taulukon avulla voit määrittää, mitä osia tarvitset.

Ehto Tarvittava komponentti
Palvelulla, jolle haluat luoda palvelun, ei ole Power Automate -liitintä.
Lisätietoja on artikkelissa Luettelo kaikista Power Automate -liittimiä.
Luo mukautettu liitin tai käytä yleistä liitintä.
Palvelusi vaihtaa tietoja ulkoisen palvelun ja Microsoft Dataversen välillä. Palveluntarjoajasi tarvitsee palveluntarjoajan muunnoksen. Lisää palveluntarjoajan muunnoskomponentti kullekin muunnokselle.
Palvelu suorittaa logiikan orkestrointisuunnittelutyökalusta. Luo erillinen Power Automate ‑työnkulku kullekin toiminnolle.
Palveluntarjoajan on käsiteltävä sanomia ulkoisesta palvelusta. Luo Power Automaten sanomakäsittelijän työnkulku.
Palveluntarjoajasi hakee viestejä säännöllisesti ulkoisesta palvelusta. Luo Power Automaten sanomien vastaanoton työnkulku.
Palveluntarjoajasi järjestää yritystapahtumia, joita ei ole tällä hetkellä määritetty Intelligent Order Managementissa. Luo uusi liiketoimintatapahtuman määritys ja lisää aiemmin luodut tapahtumat.

Kun ymmärrät hyvin ratkaisut, jatka palveluntarjoajan toteuttamista.

Palveluntarjoajaratkaisun luominen

Luo palveluratkaisu suorittamalla seuraavat tehtävät:

  • Määritä mukautettu palveluntarjoaja.

  • Lisää palveluntarjoajan määritys.

  • Lisää komponentteja ratkaisuun.

Mukautetun palveluntarjoajan määrittäminen

Luo Power Appsissa ratkaisu, joka sisältää palveluntarjoajasi komponentit. Ohjeet uuden ratkaisun luomiseen Power Appsissa saat kohdasta Ratkaisun luominen Power Appsissa.

Palveluntarjoajan määrityksen lisääminen

Palveluntarjoajan määritys sisältää tietoja palveluntarjoajasta. Määritys määrittää, miltä palvelu näyttää palveluluettelossa.

  1. Valitse luomassasi palveluntarjoajaratkaisussa Uusi.

  2. Valitse IOMPalveluntarjoajan määritys.

  3. Lisää seuraavat tiedot:

    • Näyttönimi: Nimi, jonka haluat antaa palvelullesi, esimerkiksi "Testipalvelu".

    • Looginen nimi: Palveluntarjoajan vientiavain.

    • Kuvaus: Palveluntarjoajan toimintaa kuvaileva teksti.

  4. Valitse Tallenna.

  5. Jos haluat lisätä logon, lataa kuva.

  6. Tarkista, että palveluntarjoajan määritys näkyy ratkaisussa. Sinun tulisi nähdä tietue, jonka komponenttityyppi on IOM-palveluntarjoajan määritys. Jos se ei ole näkyvissä, valitse Lisää olemassa oleva ja valitse sitten luomasi tietue.

  7. Tarkista, että palveluntarjoaja näkyy palveluntarjoajien luettelossa. Jos määrität On aktiivinen -kentän arvoksi Kyllä, palveluntarjoajan määritys näkyy palveluluettelossa. Avaa Intelligent Order Management. Valitse Palveluntarjoajien > luettelo. Tarkista, että palveluntarjoajan määritys näkyy.

Komponenttien lisääminen ratkaisuun

Kun palveluntarjoajan määritys on luotu, lisää palveluntarjoajan komponentit ratkaisuun.

  1. Siirry ratkaisuun.

  2. Valitse Lisää aiemmin luotu.

  3. Valitse Intelligent Order Management -komponenttityyppi ja valitse sitten luomasi tietue.

Palveluntarjoajan muunnoksen luominen

Jos palveluntarjoajasi edellyttää muunnosta, lisää ratkaisuun palvelun muunnoskomponentti. Saatat joutua luomaan useita muunnoksia.

  1. Valitse palveluntarjoajan ratkaisussa Uusi.

  2. Valitse IOM-palveluntarjoajan määrityksen muunnos.

  3. Lisää seuraavat tiedot:

    1. Näyttönimi: Palveluntarjoajan muunnoksen nimi, esimerkiksi Muunna myyntitilaukset.

    2. Looginen nimi: Palveluntarjoajan yksilöllinen tunniste. Tämä arvo on tietojen tuonti- ja vientiavain. Sen alussa on oltava julkaisijan etuliite. Esimerkiksi Microsoftin käyttämä julkaisijan etuliite on msdyn_. Esimerkkejä loogisista nimistä: msdyn_flexe_fulfillmentorderproduct_orderline ja msdyn_flexe_fulfillmentorder_order.

    3. Lähdetyyppi: Tämä kenttä ilmaisee vastaanotettujen tietojen tyypin. Käytettävissä on kaksi vaihtoehtoa: JsonDocument tai Dataverse Entity. Jos tiedot ovat jo Dataversessa, valitse Dataverse-entiteetti. Valitse muussa tapauksessa JsonDocument. Määrittämäsi Power Automate -elementti käyttää näitä tietoja muunnoksen etsimiseen.

    4. Lähdeobjektin nimi: Muunettavan tiedon nimi. Jos olet muuntamassa Dataverse-tietuetta, varmista, että Lähdeobjektin nimi on sama kuin Dataverse-taulukossa.

    5. Kohdeobjektin nimi: Muunnettavan tietueen kohteen nimi.

    6. Muunnos: Power Query Online -MQuery, jota käytetään syötetietojen muuntamiseen. Lisätietoja Power Querysta ja MQuery-kyselystä on kohdissa Mikä on Power Query? ja Power Queryn M-kaavakielen viittaus. Seuraava MQuery-esimerkki muuntaa ulkoisesta tilauspalvelusta tulevan myyntitilauksen Intelligent Order Managementin myyntitilaukseksi.

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. Valitse Tallenna.

  2. Tarkista, että muunnoskomponentti näkyy oikein. Näkyvissä pitäisi olla komponenttityyppi IOM-palveluntarjoajan määritysmuunnos ja muunnoksen nimi. Jos se ei ole näkyvissä, valitse Lisää olemassa oleva ja valitse sitten luomasi muunnos.

Liiketoimintatapahtumamääritysten lisääminen

Jos palvelusi luo tai käyttää uusia yritystapahtumia, lisää IOM Provider Definition Business Event Definition -osat ratkaisuun. Lisää vain yritystapahtumat, jotka eivät ole vielä Intelligent Order Managementissa.

Jos yritystapahtuma, jonka haluat luoda, ei ole vielä Intelligent Order Managementissa, luo omasi.

  1. Valitse Uusi.

  2. Valitse IOM-palveluntarjoajan määrityksen liiketoimintatapahtumamääritys.

  3. Lisää seuraavat tiedot:

    1. Nimi: Liiketoimintatapahtuman nimi.

    2. Palveluntarjoaja: Palveluntarjoaja, jolle tämä liiketoimintamääritys luodaan.

    3. Liittyvä entiteetti: Intelligent Order Managementin Dataverse-entiteetti, joka muuttuu tai johon tapahtuma vaikuttaa.

    4. Liittyvän tilan arvo: Jos haluat liittyvän entiteetin tilan päivittyvän, kun liiketoimintatapahtuma käynnistetään, sisällytä tähän kenttään tila-arvo.

    5. Liittyvä tila-arvo: Jos haluat liittyvän entiteetin tilan päivittyvän, kun liiketoimintatapahtuma käynnistetään, sisällytä tähän kenttään tila-arvo.

  4. Valitse Tallenna.

  5. Tarkista, että ratkaisussa näkyy IOM-palveluntarjoajan liiketoimintatapahtumamääritys ‑tietue. Jos tietue ei näy ratkaisussa, valitse Lisää olemassa oleva ja valitse sitten luomasi tietue.

Liittimen lisääminen

Jos palvelusi tarvitsee liittimen, joka ei ole käytettävissä Power Automatessa, luo oma liitin. Lisätietoja on kohdassa Kaikkien Power Automate ‑liittimien luettelo.

Luo oma Power Automate ‑liitin seuraamalla ohjeita kohdassa Mukautettujen liittimien yleiskatsaus.

Kun mukautettu liitin on luotu, se lisätään komponenttina palveluntarjoajaratkaisuun.

  1. Siirry palveluntarjoajaratkaisuun.

  2. Valitse Lisää aiemmin luotu.

  3. Valitse luomasi liitin.

Power Automate ‑työnkulkujen tyypit

Power Automate -työnkulut edustavat mitä tahansa toimintoa, jonka suoritat orkestrointisuunnittelussa. Jos haluat, että Power Automate noutaa tiettyjä tietoja tai suorittaa tiettyjä toimintoja, sinun on luotava työnkulut näille toiminnoille. Lisätietoja Power Automatesta on kohdassa Johdanto Power Automateen.

Lisää työnkulut palveluntarjoajaan Palveluntarjoajamäärityksen logiikkamääritys ‑komponentteina.

Ennen kuin aloitat työnkulun luontiprosessin, tarkista työnkulkutyypit, joita Älykäs tilausten hallinta käyttää.

Palveluntarjoajan sanomakäsittelijä

Nämä työnkulut vastaanottavat ja käsittelevät sanomia ulkoisesta palvelusta. He laukaisevat asianmukaisen liiketoimintatapahtuman ilmoittaakseen Intelligent Order Management -orkestroinnille. Ulkoinen palvelu käynnistää nämä työnkulut.

Seuraavassa esimerkissä näytetään rakenne, jolla luodaan sanomankäsittelijän tyyppinen Power Automate -työnkulku.

  1. Määritä Power Automate ‑käynnistin. Yleensä tämä käynnistin on HTTP-päätepiste, joka on webhook-käynnistin (suositus), liittimen käynnistin tai Dataverse-lisäyskäynnistin. Ulkoinen palvelu nostaa käynnistimen, kun sillä on tietoja lähetettäväksi Intelligent Order Managementiin.

Näyttökuva käynnistimestä, kun HTTP-pyyntö vastaanotetaan.

Käytä seuraavaa JSON-rakennetta HTTP-käynnistimessä.

{
    "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. Alusta sanoman käsittely. Tähän tehtävään liittyy kaksi osavaihetta.

    1. Alusta suoritustulos, joka seuraa viestin käsittelyä.

    2. Kuittaa palveluntarjoajan sanoma Intelligent Order Managementissa, jotta voit seurata käsittelyä, uudelleenyrittää käsittelyä tai näyttää sen tilan. Tämä vaihe on Power Automate -toiminto, jonka Intelligent Order Management esittelee. Toiminnon nimi on Kuittaa palveluntarjoajan sanomapyyntö IOM:ssä. Tästä toiminnosta puuttuvat seuraavat pakolliset parametrit.

      1. PowerAutomateWorkflowId: Sanoman käsittelijän määrityksen WorkflowId. Nouda tämä arvo käyttämällä compose-toimintoa workflow()['tags'].

      2. PowerAutomateRunId: Viestin vastaanottaman Power Automate -suorituksen yksilöivä tunnus. Tämän tunnisteen avulla putki voi yrittää käsittely uudelleen ja linkittää suorituslokit. Nouda tämä arvo käyttämällä compose-funktiota yhdessä kohteen workflow()['run']?['name'] kanssa.

      3. ProviderMessageExternalRequestId: Lähetyn sanoman tunniste. Jos tunnistetta ei ole, luo GUID-tunnus. Putki käyttää tätä tunnistetta estääkseen lähettäjää lähettämästä viestien kaksoiskappaleita. Tunniste riippuu lähteen hyötykuormasta. Esimerkki: concat(triggerOutputs()?['body']?['type']?['name'], '_', triggerOutputs()?['body']?['ID']).

Näyttökuva kuittauspalvelun sanomapyyntönäytöstä.

  1. Aiemmin määrittämäsi palvelun muunnos noutaa syötetiedot ja muuntaa ne. Intelligent Order Management tarjoaa käyttövalmiin IOM Provider Transformer -alityönkulun, joka suorittaa muunnoksen. Käsittele tapahtuma tai sanoma lisäämällä seuraavat tiedot:

    1. Palveluntarjoajan nimi: Sanomakäsittelijään linkitetyn palveluntarjoajan nimi. Tämän arvon on oltava sama kuin palveluntarjoajan muunnoksen nimi.

    2. Lähdeobjektin nimi: Suoritettavan muunnoksen lähteen hakuavaimen arvo. Tämän arvon on oltava sama kuin palveluntarjoajan muunnoksessa määritetyn lähdeobjektin nimi.

    3. Kohdeobjektin nimi: Suoritettavan muunnoksen kohteen hakuavaimen arvo. Tämän arvon on oltava sama kuin palveluntarjoajan muunnoksessa määritetty arvo.

    4. Tiedot: Annetaan JSON-tietoja muunnettaessa. Power Automate edellyttää, että parametrit välitetään sarjoitettuna merkkijonona. Anna joko Tiedot- tai Tietuetunnus-arvo, mutta ei molempia.

    5. Tietuetunnus: Annetaan Dataverse-tietuetta muunnettaessa. Anna Tieto- tai Tietuetunnus-arvo , mutta ei molempia.

Näyttökuva muunnosviestistä Power Query Onlinessa.

  1. Dataverseen voi lisätä tietoja käyttämällä HTTP-pyyntöjä tai Dataverse-liittimen Lisää-toimintoa. Jos teet useamman kuin yhden lisäystä ja haluat parantaa suorituskykyä, rivitä lisäykset muutosjoukkoon niin, että pyynnöt ovat tapahtumaerässä.

Näyttökuva viestien lisäämisen työnkulusta.

  1. Jos haluat, että työnkulkusi käynnistää liiketoimintatapahtuman, käytä Käynnistä liiketoimintatapahtuma alitöönkulkua. Lisää seuraavat tiedot.

    1. BusinessEventName: Käynnistettävän tapahtuman nimi.

    2. EntityRecordId: Tapahtumaan luodun ja siihen liittyvän tietueen tunnus.

  2. Päivitä sanoman käsittelyn tila käyttämällä Päivitä palveluntarjoajan sanomapyynnön status -toimintoa, joka tallentaa käsittelyn suorittamisen tuloksen. Lisää seuraavat tiedot.

    1. ProviderMessageRequestExecutionId: Sanoman käsittelyn edistymistä seuraamaan luodun tietueen tulostunnus.

    2. IsProviderMessageRequestExecutionSuccess: Käsittelyn onnistumisen ilmaiseva totuusarvo.

Palveluntarjoajan sanomien vastaanotto

Palveluntarjoajan sanomien vastaanotot ovat Power Automate ‑työnkulkuja, jotka säännöllisin väliajoin vastaanottavat sanomia ulkoisesta palvelusta.

Huomautus

Sanoman vastaanoton työnkulku edellyttää sanomakäsittelijää.

Seuraavassa esimerkissä näytetään Power Automate -työnkulun viestin vetäjätyypin luontirakenne.

  1. Ajoita käynnistin toistuvan työnkulun avulla.

  2. Hanki tarkistuspiste Dataversesta. Tarkistuspisteet seuraavat, mitä sanomia työnkulku hakee onnistuneesti ulkoiselta palvelulta. Lisää seuraavat tiedot.

    1. Toiminnon nimi: Tarkistuspisteen nimi.

    2. WorkflowId: Aseta seuraava compose-funktio näiden tietojen noutamiseksi: workflow()['tags']['xrmWorkflowId'].

Tarkistuspisteen näyttökuva.

  1. Luo ulkoiseen palveluntarjoajaan HTTP POST -pyyntö sanomien vastaanottoa varten. Lisää seuraavat tiedot.

    1. Menetelmä: Kentän arvoksi määritetään POST.

    2. URL-osoite: Ulkoisen palveluntarjoajan päätepiste.

    3. Leipäteksti: JSON-pyynnössä tulee olla seuraava kaava: if(empty(outputs('Get_Checkpoint')?['body/Checkpoint']), 0, int(outputs('Get_Checkpoint')?['body/Checkpoint'])).

Näyttökuva Pull-viesteistä.

  1. Jäsennä viestit, joita työnkulku hakee vaiheessa 3. Lisää seuraavat tiedot.

    1. Sisältö: Vaiheessa 3 noudettu tekstiosa.

    2. Rakenne: Vaiheessa 3 noudetun tekstiosan rakenne.

Näyttökuva Jäsennä-viesteistä.

  1. Käsittele sanomat niin, että kukin sanoma vaiheesta 4 on mukana silmukassa.

  2. Jäsennä jokainen edellisten vaiheiden sanoma. Lisää seuraavat tiedot.

    1. Sisältö: Nykyinen kohde Käsittele sanomat -toiminnosta.

    2. Rakenne: Yksi JSON-muotoinen sanoma.

Näyttökuva prosessiviesteistä 2.

  1. Kutsu edellytyksissä määritettyä liitettyä palveluntarjoajan sanomakäsittelijää. Lisää seuraavat tiedot.

    1. Alityönkulku: Valitse palveluntarjoajan sanomakäsittelijä.

    2. Sanoma: Vaiheen 6 jäsennetty sanoma.

Näyttökuva Prosessiviestit 3 -prosessista.

  1. Tallenna tarkistuspiste Dataverseen. Lisää seuraavat tiedot.

    1. Tarkistuspiste: Tämä arvo voi olla mikä tahansa merkkijonoarvo (enintään 100). Tässä esimerkissä tämä arvo on viimeisen käsitellyn sanoman tunnus.

    2. WorkFlowId: Voit noutaa tämän tunnuksen lisäämällä Laadi-funktion arvoksi workflow()['tags']['xrmWorkflowId'].

Näyttökuva prosessiviesteistä 4.

Palveluntarjoajan toiminto

Kutsu palveluntarjoajan toimintovirtoja orkestrointisuunnittelun kautta. Näissä työnkuluissa tehdään tyypillisesti kutsuja Intelligent Order Managementista ulkoisiin palveluihin.

Suurin ero palveluviestien käsittelijän ja palveluntarjoajan toiminnon välillä on se, että vaikka viestinkäsittelijä voi ilmoittaa orkestrointityökalulle, sitä ei voi käynnistää orkestrointisuunnittelun toimintoruudulla. Palvelutoiminto voidaan käynnistää toimintoruudulla.

Seuraavassa esimerkissä näytetään palvelutoiminnon rakenteen Power Automate -työnkulku.

  1. Aloita HTTP-käynnistimen avulla. Orkestrointipalvelu välittää seuraavat tiedot suorituksen aikana. Seuraavaa JSON-kaaviota käytetään sisältöosassa:
{
    "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. Käynnistä toiminnon käsittely.

    1. Käynnistä suoritustulos ja muut mahdolliset käsittelymuuttujat.

    2. Kuittaa toiminnon suorittamisen alkaminen Dataversen Aloita palveluntarjoajan toiminnon suorittaminen ‑toiminnon avulla. Tämän vaiheen avulla putki voi seurata, yrittää uudelleen ja näyttää käsittelytilan älykkään tilausten hallinnassa. Lisää seuraavat tiedot.

      1. ProviderActionExecutionEventId: Toiminto vastaanottaa tämän arvon vaiheen 1 syöteparametrina.

      2. PowerAutomateRunID: Power Automate ‑toiminnon yksilöllinen suoritus. Tämän arvon avulla putki voi linkittää suorituslokit. Hanki nämä tiedot määrittämällä kentälle Power Automate -lauseke worflow()['run']?['name'].

  2. Suorita toiminto.

    1. Tarvittaessa muunna tietueet käyttämällä Muunna sanomaa Power Query Onlinen alityönkulkua.

      1. Palvelun nimi: Sen palveluntarjoajan nimi, jonka haluat linkittää toimintoon. Nimen on oltava sama kuin palveluntarjoajan määrityksen nimi.

      2. Lähdeobjektin nimi: Suoritettavan muunnoksen lähteen nimi. Tämän nimen on oltava sama kuin Power Automate ‑muunnoksessa määritetty lähdeobjekti.

      3. Kohdeobjektin nimi: Suoritettavan muunnoksen kohteen hakuavaimen arvo. Tämän nimen on oltava sama kuin palveluntarjoajan muunnoksessa määritetty arvo.

      4. Tiedot: Annetaan saapuvia JSON-tietoja muunnettaessa. Power Automate edellyttää, että parametrit välitetään sarjoitettuna merkkijonona. Lisää joko Tiedot- tai Tietuetunnus-arvo, mutta ei molempia.

      5. Tietuetunnus: Annetaan lähtevää Dataverse-tietuetta muunnettaessa. Lisää joko Tiedot- tai Tietuetunnus-arvo, mutta ei molempia.

      Näyttökuva muunnosviestistä Power Query Onlinessa.

    2. Suorita kaikki määrittämäsi mukautetut toiminnot. Nämä toiminnot ovat käytössäsi olevassa Power Automate -liittimessä.

    3. Käynnistä toimintokohtainen liiketoimintatapahtuma. Käytä Käynnistä liiketoimintatapahtuma ‑alityönkulkua. Lisää seuraavat tiedot.

      1. BusinessEventName: Käynnistettävän tapahtuman nimi.

      2. EntityRecordId: Tapahtumaan liitetyn tietueen tunnus.

  3. Suorita toiminto ja tallenna tulokset. Orkestrointityökalu käsittelee tulokset. Lisää seuraavat tiedot.

    1. ExecutionResult: Käsittelyn onnistumisen ilmaiseva totuusarvo.

    2. ExecutionDetails: Valinnaiset lokitiedot testausta ja virheenkorjausta varten.

    3. ProviderActionExecutionEventId: Toiminto vastaanottaa tämän arvon syöteparametrina, jonka määrität vaiheessa 1.

NäyttökuvaSsa on Valmis palvelu -toiminnon suorittaminen.

Alityönkulku

Alityönkulku on alemman tason työnkulku, johon muut Power Automate ‑työnkulut viittaavat. Alityönkulku kannattaa määrittää, jos tiettyjä vaiheita toistetaan useilla alueilla. Alityönkuluille ei ole tiettyä mallia tai suositeltua prosessia, sillä niiden avulla voidaan lähinnä konsolidoida kätevästi samankaltaisia vaiheita.

Palveluntarjoajan alityönkulut eivät voi kutsua toisen palveluntarjoajan alityönkulkuja.

Pilvityönkulkujen luominen

Kun ymmärrät, millaisia työnkulkuja haluat luoda, olet valmis luomaan pilvipalvelutyönkulkuja. Ne luodaan seuraavasti:

  1. Avaa oletusratkaisu Power Apps ‑ympäristössä.

Tärkeää

Älä lisää näitä ratkaisuja palveluntarjoajaratkaisuun.

  1. Valitse Uusi ja valitse sitten Pilvipalvelutyönkulku.

  2. Muodosta Power Automate ‑työnkulku. Käytä edellisen osion malleja apuna.

  3. Tallenna työnkulut seuraavan osion ohjeiden mukaisesti.

Power Automate ‑määrityksen tallentaminen

Kun olet luonut työnkulkuja, tallenna ne palvelun määritelmän logiikan määritelmän komponentteina. Tämä komponenttityyppi tarjoaa Intelligent Order Managementille toiminnot, jotka otetaan käyttöön palveluntarjoajan aktivoinnin aikana.

Ennen kuin voit tallentaa työnkulkusi, varmista, että sinulla on seuraavat edellytykset.

  • Jos haluat tallentaa Power Automaten logiikkamääritykset, sinun on lähetettävä OData-pyyntöjä. Tarvitset näiden pyyntöjen lähettämiseen PostMan-tilin tai vastaavan palvelun.

  • Sinun on luotava Dataverse-ympäristöllesi käyttöoikeustietue GET- ja POST-pyyntöjen lähettämiseksi.

    • Määritä Azure-tili, johon on yhdistetty aktiivinen tilaus. Jos sinulla ei ole aktiivista tiliä, määritä tili Azure-sivustoon.

    • PowerShellin on oltava asennettuna. Lisätietoja on kohdassa PowerShellin asentaminen.

    • Saat käyttöoikeustietueen kirjoittamalla seuraavan komennon PowerShellissä: az sign in --allow-no-subscriptions account get-access-token --resource=<https://YourDataverseTenantURL.api.crm.dynamics.com/> --query=accessToken --output=tsv \| Set-Clipboard.

Tallenna Power Automaten määritys seuraavasti:

  1. Etsi tallennettavan Power Automate ‑työnkulun työnkulkutunnus. Tee jokin seuraavista vaihtoehdoista.

    1. Etsi työnkulkutunnus Power Automate ‑toiminnon avulla.

      1. Luo Power Automate ‑työnkulun loppuun workflow()-lauseke käyttämällä yhdistelytoimintoa.

      Näyttökuva Laadi-toiminnosta.

      1. Suorita Power Automate.

      2. Suoritustulosten xrmWorkflowId-ominaisuus sisältää työnkulun tunnuksen.

      Näyttökuva työnkulun tunnuksesta.

      1. Poista tämä toiminto työnkulusta, jotta sitä ei suoriteta uudelleen.
    2. Vaihtoehtoisesti voit lähettää Nouda OData -pyynnön.

      1. Siirry työnkulkuun, jonka työnkulkutunnuksen haluat tallentaa. Etsi yksilöllinen tunniste URL-osoitteesta. Tämä tunnus näkyy 0:n jälkeen. /flows/ URL-osoitteessa.

      Näyttökuva yksilöllisen tunnisteen löytämisestä.

      1. Lähetä OData-pyyntö työnkulun metatietojen noutamiseksi. Seuraavassa esimerkissä näytetään GET-pyyntö.
        GET {Env url}/api/data/v9.1/workflows?$filter=workflowidunique eq '{Unique Workflow Id from the Power Automate U}'&$select=workflowid,workflowidunique

      2. Tallenna palautettu workflowid-ominaisuus.

  2. Etsi palveluntarjoajan määrityksen tunnus.

    1. Valitse palveluntarjoajan määritys, johon haluat tallentaa työnkulun.

    2. Kopioi palveluntarjoajan määrityksen tunnus URL-osoitteesta. Tämä URL-osoitteen osa on .. /id={esimerkki number}/.

    Näyttökuva palvelumääritelmän tunnuksen löytämisestä.

  3. Kirjoita muistiin asetusjoukkoarvo tallentamasi Power Automate -tyypille.

    1. Alityönkulku: 192350002

    2. Palveluntarjoajan toiminto: 192350001

    3. Palveluntarjoajan sanomakäsittelijä: 192350000

    4. Palveluntarjoajan sanomien vastaanotto: 192350003

  4. Lähetä POST-pyyntö Power Automate -määrityksen tallentamiseksi. Seuraavassa esimerkissä esitetään pyyntö.

    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. Tarkista, että palveluntarjoajan määritelmän logiikkamääritelmäkomponentti on ratkaisussa. Tee tämä tarkistus seuraavasti:

    1. Siirry palveluntarjoajaratkaisuun.

    2. Varmista, että luomasi palvelun määritelmän logiikkamääritelmä on ratkaisussa. Jos se ei ole ratkaisussa, valitse Lisää olemassa oleva ja lisää sitten luomasi osa.

Yhteysviitteiden tallentaminen

Jos palvelusi käyttää asiakkaan Power Automate -liittimiä, tallenna seuraavat vaiheet, jotta voit tallentaa yhteysviittaukset Power Automate -ratkaisuusi.

  1. Lähetä GET-pyyntö yhteyden viitetunnuksen noutamista varten. Esimerkki:
GET {Env url}/api/data/v9.2/connectionreferences

Jos haluat suodattaa sitä lisää, suodata yhteyden viitenimen mukaan. Esimerkki:

    {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. Varmista, että oikea yhteyden viitetunnus noudetaan hakemalla Power Automate -asiakastietosi.

    1. Siirry aiemmin tallennettuun palveluntarjoajan määrityksen logiikkamääritys ‑komponenttiin.

    2. Tarkista asiakastiedoista, että connectionReferenceLogicalName on näkyvissä.

  2. Etsi palveluntarjoajan määrityksen tunnus. Tämä arvo on sama arvo, jota käytit vaiheessa 2 Power Automaten logiikkamääritysten tallentamiseen.

  3. Lähetä POST-pyyntö yhteysviittauksen tallentamiseksi. Esimerkki:

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

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

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

}
  1. Tarkista, että palveluntarjoajan määrityksen logiikkamääritys ‑komponentti on lisätty.

    1. Siirry palveluntarjoajaratkaisuun.

    2. Tarkista, että luotu palveluntarjoajan määrityksen logiikkamäärityksen viitekomponentti on lisätty. Jos sitä ei ole lisätty, valitse Lisää olemassa oleva ja lisää luomasi komponentti.

Palveluntarjoajien jakaminen

Jos haluat käyttää palveluntarjoajan määritystä toisessa ympäristössä tai jakaa ratkaisusi, vie palveluntarjoajasi ratkaisu. Lisätietoja on ohjeaiheessa Ratkaisujen vieminen.