Kontsultatu datuak atarien Web-APIa erabiliz

Oharra

2022ko urriaren 12tik aurrera, Power Pages izango da Power Apps atarien izen berria. Informazio gehiago: Microsoft Power Pages erabilgarri dago modu orokorrean (bloga)
Laster migratuko eta konbinatuko dugu Power Apps atarien dokumentazioa Power Pages dokumentazioarekin.

Erabil dezakezu eskuragarri dauden web APIen eragiketak atarietan. Web APIaren eragiketak HTTP eskaerek eta erantzunek osatzen dute. Artikulu honetan HTTP eskaeran lagundu ditzakezun laginen eragiketak, metodoak, URI eta JSON lagina erakusten dira.

Aurrebaldintzak

  • Zure atariaren bertsioak izan behar du 9.4.1.x edo handiagoa.

  • Gaitu taula eta eremua Web API eragiketetarako. Informazio gehiago: Web APIaren gune-ezarpenak

  • Atarietako Web APIak taula-erregistroak atzitzen ditu eta lotutako web-rolen bidez erabiltzaileei emandako taula-baimenei jarraitzen die. Ziurtatu taularen baimen egokiak konfiguratzen dituzula. Informazio gehiago: Sortu web-rolak

Oharra

Dataverse taulak atarietako Web APIa erabiliz aipatzean, EntitySetName erabili behar duzu, adibidez, kontua taula atzitzeko, kodearen sintaxiak kontuak atalaren EntitySetName-a erabiliko du.

Kontsultaren erregistroak

Adibide honek kontu-erregistroak kontsultatzen ditu:

Eragiketa Metodoa URIa
Berreskuratu taulako erregistroak GET [Portal URI]/_api/accounts

Adibidez:
https://contoso.powerappsportals.com/_api/accounts

Adibideko erantzuna

{
"value": [
    {
    "@odata.etag": "W/\"1066412\"",
    "name": "Fourth Coffee (sample)",
    "accountid": "d2e11ba8-92f6-eb11-94ef-000d3a5aa607"
    },
    {
    "@odata.etag": "W/\"1066413\"",
    "name": "Litware, Inc. (sample)",
    "accountid": "d4e11ba8-92f6-eb11-94ef-000d3a5aa607"
    }
]
}

Erabili $select eta $top sistemaren kontsulta aukerak lehen hiru kontuetarako izenaren propietatea itzultzeko:

Eragiketa Metodoa URIa
Berreskuratu lehen hiru entitate-erregistroak GET [Portal URI]/_api/accounts?$select=name,revenue&$top=3

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$top=3

Berreskuratu kontua kontuaren IDa erabiliz:

Eragiketa Metodoa URIa
Berreskuratu erregistro baterako propietate zehatzak GET [Portal URI]/_api/accounts(e0e11ba8-92f6-eb11-94ef-000d3a5aa607)?$select=name

Adibidez:
https://contoso.powerappsportals.com/_api/accounts(e0e11ba8-92f6-eb11-94ef-000d3a5aa607)?$select=name

Adibideko erantzuna

{
    "@odata.etag": "W/\"1066414\"",
    "name": "Adventure Works (sample)",
    "accountid": "d6e11ba8-92f6-eb11-94ef-000d3a5aa607"
}

Aplikatu sistemaren kontsulta-aukerak

Entitate-multzoaren URLari eransten dituzun sistema kontsulta-aukeretako bakoitza kontsulta-kateen sintaxia erabiliz gehitzen da. Lehenengoa eransten da ondoren [?] eta honako kontsulta-aukerak erabiliz bereizten dira [&]. Kontsulta-aukera guztiek maiuskulak eta minuskulak bereizten dituzte adibide honetan erakusten den bezala:

Metodoa URIa
GET [Portal URI]/_api/accounts?$select=name,revenue&$filter=revenue gt 90000&$top=3

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$filter=revenue gt 90000&$top=3

Eskaeraren propietate zehatzak

Erabili $select sistemako kontsulta aukera itzultzen diren propietateak mugatzeko, adibide honetan erakusten den moduan:

Metodoa URIa
GET [Portal URI]/_api/accounts?$select=name,revenue&$top=3

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$top=3

Garrantzitsua

Errendimenduaren jardunbide egokiak dira. Propietateak zehazten ez badira eta konfiguratu baduzu Webapi/<table name>/fields gunearen ezarpenaren balioa *, orduan propietate guztiak erabiliz itzuliko dira $select. Ez bada propietaterik zehazten, errore bat itzuliko da.

Iragazi emaitzak

Erabili $filter sistemako kontsulta-aukera zein errenkadak itzuliko diren irizpideak ezartzeko.

Iragazki-eragiketa estandarrak

Web APIak taula honetan zerrendatutako OData iragazkien operadore estandarrak onartzen ditu:

Eragilea Deskribapenak Adibidez
Konparazio-eragileak
eq Berdina $filter=revenue eq 100000
ne Ez da berdina $filter=revenue ne 100000
gt Hau baino handiagoa $filter=revenue gt 100000
ge Honen berdina edo handiagoa $filter=revenue ge 100000
lt Hau baino txikiagoa $filter=revenue lt 100000
le Honen berdina edo txikiagoa $filter=revenue le 100000
Eragile logikoak
ETA Logikoa eta $filter=revenue lt 100000 and revenue gt 2000
or Logikoa edo $filter=contains(name,'(sample)') or contains(name,'test')
not Ezeztapen logikoa $filter=not contains(name,'sample')
Taldekatze eragileak
( ) Lehentasuna taldekatzea (contains(name,'sample') or contains(name,'test')) and revenue gt 5000

Kontsulta-funtzio estandarrak

Web APIak OData kateen kontsulta funtzio estandar hauek onartzen ditu:

Funtzioa Adibidez
contains $filter=contains(name,'(sample)')
endswith $filter=endswith(name,'Inc.')
horrela hasten da $filter=startswith(name,'a')

Dataverse kontsulta funtzioak

Web APIak onartzen du Dataverse kontsulta funtzioak emaitzak iragazteko. Informazio gehiagorako, ikusi Web APIaren kontsulta-funtzioaren erreferentzia.

Eskaeraren emaitzak

Zehaztu zein ordenatan itzultzen diren elementuak $orderby sistemako kontsulta aukera erabiliz. Erabili asc edo desc atzizkia goranzko edo beheranzko ordena zehazteko. Lehenetsia gorakorra da atzizkia aplikatzen ez bada. Ondorengo adibidean goranzko diru-sarreren eta beheranzko izenaren arabera ordenatutako kontuen izena eta diru-sarreren propietateak berreskuratzea erakusten da.

Metodoa URIa
GET [Portal URI]/_api/accounts?$select=name,revenue&$orderby=name asc,revenue desc&$filter=revenue gt 90000

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$orderby=name asc,revenue desc&$filter=revenue gt 90000

Emaitzak batu eta taldekatzea

 $apply erabiliz, zure datuak dinamikoki batu eta taldekatu ditzakezu adibide hauetan ikusten den moduan:

Inguruneak Adibidez
Kontsultako egoera esklusiboen zerrenda accounts?$apply=groupby((statuscode))
aurreikusitako kostuaren balioa agregatuaren batura opportunities?$apply=aggregate(estimatedvalue with sum as total)
Kontratuaren batez besteko tamaina estimatutako balioaren eta egoeraren arabera opportunities?$apply=groupby((statuscode),aggregate(estimatedvalue with average as averagevalue)
Egoeraren arabera estimatutako balioaren batura opportunities?$apply=groupby((statuscode),aggregate(estimatedvalue with sum as total))
Aukeren diru-sarrerak guztira kontuaren izenaren arabera opportunities?$apply=groupby((parentaccountid/name),aggregate(estimatedvalue with sum as total))
"WA"-ko kontuetarako lehen kontaktuen izenak accounts?$apply=filter(address1_stateorprovince eq 'WA')/groupby((primarycontactid/fullname))
Azken sorreraren erregistroaren data eta ordua accounts?$apply=aggregate(createdon with max as lastCreate)
Lehen sorreraren erregistroaren data eta ordua accounts?$apply=aggregate(createdon with min as firstCreate)

Berreskuratu errenkaden zenbaketa

Erabili $count sistemaren kontsulta-aukera true balioarekin, iragazki-irizpideekin bat datozen entitateen kopurua 5.000ra arte sartzeko.

Metodoa URIa
GET [Portal URI/_api/accounts?$select=name&$filter=contains(name,'sample')&$count=true

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$select=name&$filter=contains(name,'sample')&$count=true

Adibideko erantzuna

{
"@odata.count": 10,
"value": [
    {
    "@odata.etag": "W/\"1066412\"",
    "name": "Fourth Coffee (sample)",
    "accountid": "d2e11ba8-92f6-eb11-94ef-000d3a5aa607"
    },
    {
    "@odata.etag": "W/\"1066413\"",
    "name": "Litware, Inc. (sample)",
    "accountid": "d4e11ba8-92f6-eb11-94ef-000d3a5aa607"
    },
    {
    "@odata.etag": "W/\"1066414\"",
    "name": "Adventure Works (sample)",
    "accountid": "d6e11ba8-92f6-eb11-94ef-000d3a5aa607"
    }
]
}

Zenbaketa izan ezik daturik itzuli nahi ez baduzu,  $count edozein bildumari aplika diezaiokezu balioa soilik lortzeko.

Metodoa URIa
GET [Portal URI/_api/accounts/$count

Adibidez:
https://contoso.powerappsportals.com/_api/accounts/$count

Adibideko erantzuna

3

Zutabeen alderaketa

Ondorengo adibide honek Web APIa erabiliz zutabeak nola alderatu erakusten du:

Metodoa URIa
GET [Portal URI]/_api/contacts?$select=firstname&$filter=firstname eq lastname

Adibidez:
https://contoso.powerappsportals.com/_api/contacts?$select=firstname&$filter=firstname eq lastname

Berreskuratu erlazionatutako taula-erregistroak kontsulta batekin

Erabili $expand sistemaren kontsulta-aukera nabigazio-propietateetan erlazionatutako entitateetatik zein datu itzultzen diren kontrolatzeko.

Bilatu erlazionatutako nabigazioaren propietatea

Erabili beharko duzu Microsoft.Dynamics.CRM.associatednavigationproperty bilaketa-atributu gisa erabiltzean $expand kontsulta aukera.

Zehazteko Microsoft.Dynamics.CRM.associatednavigationproperty atributu baten, zutaberako http GET eskaera hau egin dezakezu izendapen-konbentzio hau erabiliz: _izena_balioa.

Hurrengo adibidean, nabigazio-propietate erlazionatutakoa zehaztu dezakegu Lehen kontaktua zutabea Kontua taula zutabearen izena zehaztuz lehen kontaktua eskaeran izena formateatuz: _primarycontactid_value.

Metodoa URIa
GET [Portal URI]/_api/accounts?$select=_primarycontactid_value

Adibidez
https://contoso.powerappsportals.com/_api/accounts?$select=_primarycontactid_value

Adibideko erantzuna

{
"value": [
    {
        "@odata.etag": "W/\"2465216\"",
        "_primarycontactid_value@OData.Community.Display.V1.FormattedValue": "Yvonne McKay (sample)",
        "_primarycontactid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "primarycontactid",
        "_primarycontactid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "contact",
        "_primarycontactid_value": "417319b5-cd18-ed11-b83c-000d3af4d812",
        "accountid": "2d7319b5-cd18-ed11-b83c-000d3af4d812"
    }
]
}

Erantzunaren arabera ikusten dugu lotutako nabigazio-propietatea dela primarycontactid. Lotutako nabigazio-propietatea bilaketa-zutabearena izan daiteke izen logikoa edo eskema izena taula nola sortu den arabera.

Informazio gehiagorako, ikusi Berreskuratu bilaketa-propietateei buruzko datuak.

Berreskuratu erlazionatutako taula-erregistroak balio bakarreko nabigazio-propietateak zabalduz

Hurrengo adibidean kontaktua nola berreskuratu erakusten da kontuko erregistro guztietarako. Erlazionatutako kontaktuen erregistroetarako, soilik berreskuratzen ari gara contactid eta fullname.

Metodoa URIa
GET [Portal URI]/_api/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname)

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname)

Adibideko erantzuna

{
"value": [
    {
    "@odata.etag": "W/\"1066412\"",
    "name": "Fourth Coffee (sample)",
    "accountid": "d2e11ba8-92f6-eb11-94ef-000d3a5aa607",
        "primarycontactid": {
        "contactid": "e6e11ba8-92f6-eb11-94ef-000d3a5aa607",
        "fullname": "Yvonne McKay (sample)"
        }
    },
    {
    "@odata.etag": "W/\"1066413\"",
    "name": "Litware, Inc. (sample)",
    "accountid": "d4e11ba8-92f6-eb11-94ef-000d3a5aa607",
        "primarycontactid": {
        "contactid": "e8e11ba8-92f6-eb11-94ef-000d3a5aa607",
        "fullname": "Susanna Stubberod (sample)"
        }
    }
]
}

Berreskuratu erlazionatutako taulak bildumaren balioaren nabigazio-propietateak zabalduz

Bildumak balio duten nabigazio-parametroak zabaltzen badituzu entitate-multzoetarako erlazionatutako taulak berreskuratzeko, sakontasun-maila bakarra itzuliko da datuak badaude. Bestela, bildumak array huts bat itzuliko du.

Metodoa URIa
GET [Portal URI]/_api/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart)

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart)

Berreskuratu erlazionatutako balio bakarrak eta taulak bildumaren balioaren nabigazio-propietateak zabalduz

Ondorengo adibidean entitate-multzoetarako erlazionatutako entitateak nola zabal ditzakezun erakusten du nabigazio-propietate bakarreko nahiz bildumako balioak erabiliz. Zehaztu beharko duzu taula-erlazioaren izena zure kodearen sintaxian.

Metodoa URIa
GET [Portal URI]/_api/accounts?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart)

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart)

Hurrengo urratsa

Atariak Web-APIa erabiltzen du idatzi, eguneratu eta ezabatzeko eragiketak egiteko

Ikusi ere

Atarien web APIaren informazio orokorra
Tutoriala: Erabili atarien Web-APIa
Konfiguratu zutabe-baimenak

Oharra

Esan diezagukezu dokumentazioa zein hizkuntzatan jaso nahi duzun? Egin inkesta labur bat. (kontuan izan inkesta hau ingelesez dagoela)

Inkestak zazpi minutu inguru iraungo du. Ez da datu pertsonalik biltzen (pribatutasun-adierazpena).