Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Datuak aldatzen dituzten eragiketak Web APIaren funtsezko zatia dira. Eguneratze eta ezabatze eragiketa sinpleez gain, taula bakarreko zutabeetan (entitate-atributuak) eragiketak egin ditzakezu eta datuak eguneratzeko edo txertatzeko eskaerak osatu ditzakezu, existitzen diren ala ez.
Oinarrizko eguneraketa
Eguneratze-eragiketek HTTP PATCH aditza erabiltzen dute. Eman eguneratu nahi dituzun propietateak dituen JSON objektu bat erregistroa irudikatzen duen URIra. Eguneratzea arrakastatsua bada, erantzunak honako 204 No Contentegoera itzultzen du.
Goiburuak If-Match: * ziurtatzen du ez duzula erregistro berririk sortzen upsert eragiketa bat ustekabean eginez. Informazio gehiago nahi izanez gero, ikus Saihestu upsert-en sortzea.
Garrantzitsua da
Entitate bat eguneratzean, soilik sartu aldatzen ari zaren propietateak eskaeraren gorputzean. Entitate bat eguneratzen baduzu aurretik berreskuratu duzun entitate baten propietate guztiak sartuta, eragiketak propietate bakoitza eguneratzen du, nahiz eta balioa berdina izan. Eguneratze honek balioak aldatu direla espero duen negozio-logika aktibatzen duten sistemaren gertaerak sor ditzake. Propietateak auditoretza datuetan eguneratuta daudela ager daiteke benetan aldatu ez direnean.
Propietatea statecode eguneratzen duzunean, ezarri beti nahi duzuna statuscode.
statecode Balioak elkarren statuscode menpe daude. Balio jakin statecode baterako, baliozko statuscode balio ugari egon daitezke. Hala ere, zutabe bakoitzak statecodeDefaultStatus balio bakarra du konfiguratuta. Eguneratzen statecode duzunean, , statuscodesistemak egoeraren balio lehenetsia ezartzen du. Gainera, taulan eta zutabean statuscode auditoretza gaitzen baduzu, zutabearen statuscode balio aldatua ez da auditoretzaren datuetan harrapatuko, eguneratze-eragiketan zehaztu ezean.
Oharra
Atributuen definizioak propietate bat RequiredLevel barne hartzen du. Propietate hau , ezartzen SystemRequireddenean, ezin dituzu atributu horiek balio nuluarekin ezarri. Informazio gehiago nahi izanez gero, ikus Atributuen eskakizun maila.
Adibide honek lehendik dagoen kontu-erregistro bat eguneratzen du accountid 00000000-0000-0000-00000-0000000000001 balioarekin.
Eskatu:
PATCH [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
If-Match: *
{
"name": "Updated Sample Account ",
"creditonhold": true,
"address1_latitude": 47.639583,
"description": "This is the updated description of the sample account",
"revenue": 6000000,
"accountcategorycode": 2
}
Erantzuna:
HTTP/1.1 204 No Content
OData-Version: 4.0
Oharra
Eguneratzean entitateak asoziatzeari eta desasoziatzeari buruzko informazioa lortzeko, ikus Balio bakarreko nabigazio-propietateak erabiltzea.
Eguneratu itzulitako datuekin
Eguneratzen ari zaren entitate bateko datuak berreskuratzeko, idatzi zure PATCH eskaera, 200 (OK) egoera duten erregistro eguneratuaren datuak itzul ditzan. Emaitza hori lortzeko, erabili eskaeraren goiburua Prefer: return=representation .
Zein propietate itzultzen diren kontrolatzeko, erantsi $select kontsulta aukera entitate multzoaren URLari. Kontsulta-aukerari ez ikusi egingo zaio $expand erabiltzen bada.
Adibide honek kontu-entitate bat eguneratzen du eta erantzunean eskatutako datuak itzultzen ditu.
Eskatu:
PATCH [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)?$select=name,creditonhold,address1_latitude,description,revenue,accountcategorycode,createdon HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
Content-Type: application/json; charset=utf-8
Prefer: return=representation
If-Match: *
{"name":"Updated Sample Account"}
Erantzuna:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
Preference-Applied: return=representation
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts/$entity",
"@odata.etag": "W/\"536537\"",
"accountid": "00000000-0000-0000-0000-000000000001",
"accountcategorycode": 1,
"description": "This is the description of the sample account",
"address1_latitude": 47.63958,
"creditonhold": false,
"name": "Updated Sample Account",
"createdon": "2016-09-28T23:14:00Z",
"revenue": 5000000.0000,
"_transactioncurrencyid_value": "048dddaa-6f7f-e611-80d3-00155db5e0b6"
}
Eguneratu hainbat erregistro eskaera bakarrean
Eskaera bakar batean mota bereko hainbat erregistro eguneratzeko modurik azkarrena EguneratuMultiplo ekintza erabiltzea da. Taula estandar guztiek ez dute ekintza hau onartzen, baina taula elastiko guztiek bai.
Informazio gehiago:
- Eragiketa masiboko mezuak
- Adibidea: Web APIa Erabili eragiketa masiboak
- Erabili UpdateMultiple taula elastikoekin
Eguneratu propietate bakarreko balioa
Propietate-balio bakar bat eguneratzeko, erabili eskaera bat PUT eta gehitu propietatearen izena entitatearen URIari.
Ondorengo adibideak lehendik dagoen errenkada baten propietatea eguneratzen name du accountid00000000-0000-0000-0000-000000000001.account
Eskatu:
PUT [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)/name HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
{"value": "Updated Sample Account Name"}
Erantzuna:
HTTP/1.1 204 No Content
OData-Version: 4.0
Ezabatu propietate-balio bakarra
Propietate bakar baten balioa ezabatzeko, erabili DELETE entitatearen URIari erantsitako propietate-izena duen eskaera.
Ondorengo adibidean kontu-entitate accountid00000000-0000-0000-0000-000000000001baten propietatearen description balioa ezabatzen da.
Eskatu:
DELETE [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)/description HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Erantzuna:
HTTP/1.1 204 No Content
OData-Version: 4.0
Oharra
Ezin duzu ikuspegi hau erabili balio bakarreko nabigazio-propietate batekin bi entitate bereizteko. Ikuspegi alternatibo bat lortzeko, ikus Disassociate by using a single-value navigation property.
Goratu taula errenkada bat
Upsert eragiketa eguneratze baten antzekoa da. Eskaera bat PATCH erabiltzen du eta URI bat erabiltzen du erregistro zehatz bati erreferentzia egiteko. Desberdintasuna da erregistroa existitzen ez bada, sortzen dela. Dagoeneko existitzen bada, eguneratu egiten da.
Upsert baliagarria da kanpoko sistemen arteko datuak sinkronizatzean. Baliteke kanpoko sistemak ez izatea Dataverse taulako gako primarioaren erreferentziarik, beraz, Dataverse taulako alternatiboak konfigura ditzakezu bi sistemetan erregistroa modu esklusiboan identifikatzen duten kanpoko sistemaren balioak erabiliz. Informazio gehiago: Definitu errenkadak erreferentzia egiteko gako alternatiboak
Taula baterako definitutako ordezko gakoak ikus ditzakezu $metadata zerbitzu-dokumentuko entitate motaren oharpenetan. Informazio gehiago: Gako alternatiboak.
Ondorengo adibidean, izeneko sample_thing taula bat, bi zutabe erreferentzia dituen gako alternatibo bat duena: sample_key1 eta sample_key2, biak osoko balioak gordetzeko definituta daudenak.
Eskatu:
PATCH [Organization URI]/api/data/v9.2/sample_things(sample_key1=1,sample_key2=1) HTTP/1.1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Content-Type: application/json
{
"sample_name": "1:1"
}
Sortu edo eguneratzeko eragiketetan, erantzun bera jasoko duzu. Ikusi nola erantzunaren goiburuak OData-EntityId gako-balioak erabiltzen dituen erregistroaren GUID gako primarioaren identifikatzailearen ordez.
Erantzuna:
HTTP/1.1 204 No Content
OData-Version: 4.0
OData-EntityId: [Organization URI]/api/data/v9.2/sample_things(sample_key1=1,sample_key2=1)
Erantzuna berdina denez, ezin duzu jakin eragiketak a Create edo Update eragiketa adierazten duen.
Jakin nahi izanez gero, eskaera goiburua Prefer: return=representation erabil dezakezu. Goiburu hau erabiliz, erantzun bat 201 Created lortuko duzu erregistro bat sortzen denean eta erantzun bat 200 OK erregistroa eguneratzen denean. Aukera honek eragiketa bat Retrieve gehitzen du, eta horrek errendimenduan eragina du. Eskaera goiburua Prefer: return=representation erabiltzen baduzu, ziurtatu gutxieneko datu kopurua sartzen duzula $select , hobe lehen mailako gakoaren zutabea bakarrik. Informazio gehiago: Eguneratu itzulitako datuekin eta Sortu itzulitako datuekin.
Gako alternatiboak erabiltzean, ez sartu gako alternatiboen balioak eskaeraren gorputzean.
- Upsert batek , ordezko gako-balio
Updatehauei ez ikusi egiten zaie. Ezin dituzu gako alternatiboen balioak eguneratu erregistroa identifikatzeko erabiltzen dituzunean. - Upsert
Createbatek , URLaren gako-balioak erregistrorako ezartzen dira, gorputzean ez badaude. Beraz, ez da beharrezkoa eskaeraren gorputzean sartzea.
Informazio gehiago: Erabili Upsert erregistro bat sortzeko edo eguneratzeko
Oharra
Normalean, erregistro berri bat sortzean, sistemari GUID balio bat esleitzen diozu gako primarioari. Praktika hau onena da, sistemak indizerako optimizatutako gakoak sortzen dituelako eta aukera honek errendimendua hobetzen duelako. Baina lehen mailako gakoaren balio zehatz batekin erregistro bat sortu behar baduzu, adibidez, kanpoko sistema batek gakoaren GUID balioa sortzen duenean, eragiketak upsert hori egiteko modu bat eskaintzen du.
Saihestu upsert-ekin sortzea edo eguneratzea
Batzuetan, eragiketa potentzialetako bat egin upsert nahi duzu, baina saihestu nahi duzu: sortu edo eguneratu. Eragiketa horiek saihestu ditzakezu edo If-None-Match goiburuak erabilizIf-Match. Informazio gehiago nahi izanez gero, ikus Mugatu upsert eragiketak.
Oinarrizko ezabatzea
Ezabatze-eragiketa erraza da. Erabili DELETE aditza ezabatu nahi duzun entitatearen URIarekin. Adibide mezu honek gako accountid primarioaren balioa 00000000-0000-0000-0000-000000000001duen kontu-entitate bat ezabatzen du.
Eskatu:
DELETE [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Erantzuna:
Entitatea existitzen bada, 204 egoerarekin erantzun normal bat jasoko duzu ezabatzea arrakastatsua izan dela adierazteko. Entitatea aurkitzen ez bada, 404 egoerarekin erantzun bat jasoko duzu.
HTTP/1.1 204 No Content
OData-Version: 4.0
Egiaztatu erregistro bikoizturik dagoen
Eguneratze-eragiketa batean erregistro bikoiztuak nola egiaztatu jakiteko, ikus Web APIa erabiliz eguneratze eragiketan bikoiztuak detektatzea.
Ezabatu hainbat erregistro eskaera bakarrean
Eskaera bakarrean mota bereko hainbat erregistro ezabatzeko, erabili ekintza hau DeleteMultiple . Taula estandarrek ez dute ekintza hau DeleteMultiple onartzen, baina taula elastiko guztiek bai.
Oharra
Taula estandarren kasuan, erabili Ezabatu masiboki ekintza. Ekintza honek kontsulta batekin bat datozen erregistroak ezabatzeko aukera ematen du. Informazio gehiago nahi izanez gero, ikus Ezabatu datuak masiboki.
Informazio gehiago:
- Eragiketa masiboko mezuak
- Taula elastikoaren adibide-kodea
- Erabili EzabatuMultiploa taula elastikoekin
Eguneratu eta ezabatu biltegiratze-partizioetako dokumentuak
Partizioetan gordetako taula elastikoen datuak eguneratzen edo ezabatzen ari bazara, zehaztu partizio-gakoa datu horietara sartzean.
Informazio gehiago: PartitionId balioa aukeratzea
Ikus ere
Web APIren oinarrizko eragiketen adibidea (C#)
Web APIren oinarrizko eragiketen adibidea (bezeroaren aldeko JavaScript)
Web API bidez eragiketak egitea
Konposatu HTTP eskaerak eta kudeatu erroreak
Datuak kontsultatzea WEB API bidez
Sortu taulako errenkada bat Web APIa erabiliz
Berreskuratu taulako errenkada bat Web APIa erabiliz
Lotu eta deslokatu taulako errenkadak Web APIa erabiliz
Erabili web APIaren funtzioak
Erabili Web API ekintzak
Exekutatu batch eragiketak Web APIa erabiliz
Beste erabiltzaile baten nortasuna irudikatzea Web APIa erabiliz
Egin baldintzapeko eragiketak Web APIa erabiliz