Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Datuak aldatzeko eragiketak Web APIaren funtsezko zatia dira. Eguneratze eta ezabatze eragiketa sinpleez gain, taula bakarreko zutabeetan (entitate-atributuak) eragiketak egin ditzakezu eta upsert eskaerak osatu, datuak eguneratuko edo txertatuko dituztenak, 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 ongi etorri bada, egoera 204 No Content duen erantzuna itzultzen da.
Goiburuak If-Match: * ziurtatzen du ez duzula erregistro berririk sortzen upsert eragiketa bat ustekabean eginez. Informazio gehiago: Saihestu upsert-en sortzea.
Garrantzitsua da
Entitate bat eguneratzean, soilik sartu aldatzen ari zaren propietateak eskaeraren gorputzean. Aurretik berreskuratu duzun entitate baten propietateak eguneratu eta JSON hori zure eskaeran sartuta, propietate bakoitza eguneratuko da, nahiz eta balioa berdina izan. Horrek sistemaren gertaerak sor ditzake, balioak aldatu direla espero duten negozio-logika akar dezaketenak. Horrek eragin dezake propietateak eguneratu direla ikuskapen-datuetan, egia esan, benetan aldatu ez direnean.
Propietatea statecode eguneratzen duzunean, garrantzitsua da beti nahi duzuna statuscodeezartzea.
statecode
statuscode eta menpeko balioak dituzte. Balio jakin statecode baterako baliozko statuscode balio ugari egon daitezke, baina zutabe bakoitzak statecodeDefaultStatus balio bakarra du konfiguratuta. Eguneratzen statecodestatuscodeduzunean , egoeraren balio lehenetsia sistemak ezarriko du. Gainera, taulan eta zutabean statuscode auditoria gaituta dagoenean, zutabearen statuscode balio aldatua ez da auditoria-datuetan harrapatuko, eguneratze-eragiketan zehaztu ezean.
Oharra
Atributuen definizioak propietate bat RequiredLevel barne hartzen du. Hau hau ezartzen SystemRequireddenean, ezin dituzu atributu horiek balio nuluarekin ezarri. Informazio gehiago: 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
Ikus Balio bakarreko nabigazio-propietateak erabiltzea eguneratzean entitateak asoziatzeari eta disoziatzeari buruzko informazioa lortzeko.
Eguneratu itzulitako datuekin
Eguneratzen ari zaren entitate bateko datuak berreskuratzeko, zure PATCH eskaera idatzi dezakezu, sortutako erregistroko datuak 200 (OK) egoerarekin itzul daitezen. Emaitza hori lortzeko, eskaeraren goiburua Prefer: return=representation erabili behar duzu.
Zein propietate itzultzen diren kontrolatzeko, erantsi $select kontsulta-aukera URLari entitate-multzoari. 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. Hau idazteko unean, UpdateMultiple ekintza. 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 bakarra eguneratu nahi duzunean, erabili PUT entitatearen URIari erantsitako propietate-izena duen eskaera.
Ondorengo adibideak lehendik dagoen account errenkada baten propietatea eguneratzen name duaccountid: 00000000-0000-0000-00000000000001 balioarekin.
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 adibideak 000000000-0000-0000-0000-0000-00000-0000000000001 balioa duen kontu-entitate accountid baten ondasunen balioa description ezabatzen du.
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
Hau ezin da erabili balio bakarreko nabigazio-propietate batekin bi entitate bereizteko. Ikuspegi alternatibo bat lortzeko, ikus Balio bakarreko nabigazio-propietate batekin asoziatzea .
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 honekin, erantzun bat 201 Created jasoko 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 erabiltzerakoan, ez zenuke beste gako balioak eskaeraren gorputzean sartu behar.
- 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 utziko diozu gako primarioari. Praktika ona da, sistemak indizerako optimizatutako gakoak sortzen dituelako eta horrek 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 egoerak upsertdaude non , baina eragiketa potentzialetako bat saihestu nahi duzu: sortu edo eguneratu. Hori egin dezakezu OR 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 000000000-0000-0000-0000-0000-000000000000001 balioa duen kontu-entitate accountid 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 bakar batean mota bereko hainbat erregistro ezabatzeko modurik azkarrena ekintza erabiltzea DeleteMultiple da. Hau idazteko unean, ekintza DeleteMultiple aurrebista bat da. Taula estandarrek ez dute ekintza hau onartzen, baina taula elastiko guztiek bai.
Oharra
Taula estandarren kasuan, Ezabatu masiboki ekintza erabiltzea gomendatzen dugu, kontsulta batekin bat datozen erregistroen ezabatze asinkronoa ahalbidetzen duena. Informazio gehiago: 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, ziurtatu partizio-gakoa zehazten duzula datu horietara sartzerakoan.
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