Varlık grubu işlemleri gerçekleştirme

Tablo hizmeti, aynı tabloda yer alan ve aynı bölüm grubuna ait varlıklar üzerinde toplu işlemleri destekler. Birden Çok Varlık Ekle, Varlığı Güncelleştir, Varlığı Birleştir, Varlığı Sil, Varlık Ekle veya Değiştir ve Varlık Ekle veya Birleştir işlemleri tek bir işlemde desteklenir.

Varlık grubu işlemleri için gereksinimler

Varlık grubu işlemi aşağıdaki gereksinimleri karşılamalıdır:

  • İşlemin bir parçası olarak işlemlere tabi olan tüm varlıklar aynı PartitionKey değere sahip olmalıdır.

  • Varlık işlemde yalnızca bir kez görüntülenebilir ve varlık üzerinde yalnızca bir işlem gerçekleştirilebilir.

  • İşlem en fazla 100 varlık içerebilir ve toplam yükü 4 MiB'den büyük olmayabilir.

  • Tüm varlıklar Tablo Hizmeti Veri Modelini Anlama bölümünde açıklanan sınırlamalara tabidir.

OData Toplu İstekleri için Tablo Hizmeti Desteği

Varlık grubu işlemlerinin semantiği , OData Protokolü Belirtimi tarafından tanımlanır. OData belirtimi, toplu istekler için aşağıdaki kavramları tanımlar:

  • Değişiklik kümesi, bir veya daha fazla ekleme, güncelleştirme veya silme işlemi grubudur.

  • Toplu iş, bir veya daha fazla değişiklik kümesi ve sorgu işlemi de dahil olmak üzere bir işlem kapsayıcısıdır.

Tablo hizmeti, OData belirtimi tarafından tanımlanan işlevlerin bir alt kümesini destekler:

  • Tablo hizmeti, bir toplu iş içinde yalnızca tek bir değişiklik kümesini destekler. Değişiklik kümesi birden çok ekleme, güncelleştirme ve silme işlemi içerebilir. Toplu işlem birden fazla değişiklik kümesi içeriyorsa, ilk değişiklik kümesi hizmet tarafından işlenir ve ek değişiklik kümeleri durum kodu 400 (Hatalı İstek) ile reddedilir.

Önemli

Bir değişiklik kümesinde tek bir varlığa karşı birden çok işlem gerçekleştirilmeye izin verilmez.

  • Ekleme, güncelleştirme veya silme işlemleri içeren bir toplu işlem içinde sorgu işlemine izin verilmediğini unutmayın; toplu iş içinde tek tek gönderilmelidir.

  • Bir değişiklik kümesi içindeki işlemler atomik olarak işlenir; diğer bir ifadeyle, değişiklik kümesindeki tüm işlemler başarılı veya başarısız olur. İşlemler, değişiklik kümesinde belirtilen sırayla işlenir.

  • Tablo hizmeti, değişiklik kümesindeki bağlama işlemlerini desteklemez.

  • Tablo hizmeti, bir değişiklik kümesinde en fazla 100 işlemi destekler.

REST aracılığıyla Varlık Grubu İşlemleri

Aşağıdaki bölümlerde bir toplu iş isteğinin nasıl oluşturup toplu yanıtın nasıl yorumlandığı açıklanır ve her birinin örnekleri gösterilir.

Toplu İş İsteği Söz Dizimi

REST aracılığıyla toplu istek gerçekleştirmek için istek URI'sinde seçeneğini belirtin $batch . Örnek:

https://myaccount.table.core.windows.net/$batch  

İstek URI'sinin tablo adını içermediğini unutmayın.

Tek bir POST yönergesi ile sunucuya bir toplu istek gönderilir. Bu istek üst bilgiyi içermelidir x-ms-version ; üst bilginin değeri veya daha yeni bir değere 2009-04-14 ayarlanmalıdır.

XML yükü, toplu işlemi ve değişiklik kümesini içeren çok parçalı bir MIME iletisidir. Yük iki MIME sınırı içerir:

  • Toplu iş sınırı, değişiklik kümesini kapsar.

  • Değişiklik kümesi sınırı, toplu iş içindeki tek tek ekleme, güncelleştirme ve silme işlemlerini ayırır.

Değişiklik kümesindeki tek bir istek, bu işlem tek başına çağrılırken yapılan istekle aynıdır. Örnek:

  • Güncelleştirme, birleştirme veya silme işleminde üst bilgiyi belirtmek If-Match için üst bilgiyi değişiklik kümesindeki uygun işlem için istek üst bilgileri kümesine ekleyin.

  • Değişiklik kümesindeki her işlem için yük biçimini (JSON veya ATOM) belirtmek için, Tablo Hizmeti İşlemleri için Yük Biçimi başlığı altında açıklandığı gibi uygun Content-Type, AcceptVersion ve DataServiceVersion üst bilgilerini ekleyin.

  • Insert Varlığı için yanıt içeriği yankısını engellemek için üst bilgiyi değişiklik kümesindeki return-no-content her ekleme işleminin değeriyle belirtinPrefer. Üst bilgi hakkında Prefer daha fazla bilgi için bkz. Tablo Hizmeti İşlevselliği Özeti.

Ekleme, Güncelleştirme ve Silme İşlemleri için Örnek İstek

Aşağıdaki örneklerde, iki Varlık Ekle işlemi ve Bir Birleştirme Varlığı işlemi içeren toplu istekler gösterilmiştir . Bu örneklerde, ekleme işlemlerinin yanıtında yankı yüküyle ilgilenmediğimiz için üst bilgiyi ekleyeceğiz Prefer:``return-no-content .

Not

JSON önerilen yük biçimidir ve 2015-12-11 ve sonraki sürümler için desteklenen tek biçimdir.

JSON (sürüm 2013-08-15 ve üzeri)

Aşağıdaki örnekte JSON yüküne sahip bir toplu iş isteği gösterilmektedir.

  
POST https://myaccount.table.core.windows.net/$batch HTTP/1.1  
x-ms-version: 2013-08-15  
Accept-Charset: UTF-8  
DataServiceVersion: 3.0;  
MaxDataServiceVersion: 3.0;NetFx  
Content-Type: multipart/mixed; boundary=batch_a1e9d677-b28b-435e-a89e-87e6a768a431  
x-ms-date: Mon, 14 Oct 2013 18:25:49 GMT  
Authorization: SharedKey myaccount:50daR38MtfezvbMdKrGJVN+8sjDSn+AaA=  
Host: 127.0.0.1:10002  
Content-Length: 1323  
Connection: Keep-Alive  
  
--batch_a1e9d677-b28b-435e-a89e-87e6a768a431  
Content-Type: multipart/mixed; boundary=changeset_8a28b620-b4bb-458c-a177-0959fb14c977  
  
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
POST https://myaccount.table.core.windows.net/Blogs HTTP/1.1  
Content-Type: application/json  
Accept: application/json;odata=minimalmetadata  
Prefer: return-no-content  
DataServiceVersion: 3.0;  
  
{"PartitionKey":"Channel_19", "RowKey":"1", "Rating":9, "Text":".NET..."}  
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
POST https://myaccount.table.core.windows.net/Blogs HTTP/1.1  
Content-Type: application/json  
Accept: application/json;odata=minimalmetadata  
Prefer: return-no-content  
DataServiceVersion: 3.0;  
  
{"PartitionKey":"Channel_17", "RowKey":"2", "Rating":9, "Text":"Azure..."}  
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
MERGE https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_17', RowKey='3') HTTP/1.1  
Content-Type: application/json  
Accept: application/json;odata=minimalmetadata  
DataServiceVersion: 3.0;  
  
{"PartitionKey":"Channel_19", "RowKey":"3", "Rating":9, "Text":"PDC 2008..."}  
  
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977--  
--batch_a1e9d677-b28b-435e-a89e-87e6a768a431  
  
Atom Akışı (2015-12-11 öncesi sürümler)

Aşağıdaki örnekte Atom yüküne sahip bir toplu iş isteği gösterilmektedir.

POST /$batch HTTP/1.1  
User-Agent: Microsoft ADO.NET Data Services  
x-ms-version: 2013-08-15  
x-ms-date: Thu, 30 Aug 2013 20:45:13 GMT  
Authorization: SharedKeyLite myaccount:asOEzsCDS7YEe6oi+bx47KMwbXL0lYZCOlR/oc3FReQ=  
Accept: application/atom+xml,application/xml  
Accept-Charset: UTF-8  
DataServiceVersion: 1.0;NetFx  
MaxDataServiceVersion: 2.0;NetFx  
Content-Type: multipart/mixed; boundary=batch_a1e9d677-b28b-435e-a89e-87e6a768a431  
Host: MyHostName:10002  
Prefer: return-no-content  
Content-Length: ###  
  
--batch_a1e9d677-b28b-435e-a89e-87e6a768a431  
Content-Type: multipart/mixed; boundary=changeset_8a28b620-b4bb-458c-a177-0959fb14c977  
  
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
POST https://myaccount.table.core.windows.net/Blogs HTTP/1.1  
Content-ID: 1  
Content-Type: application/atom+xml;type=entry  
Content-Length: ###  
  
<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="https://www.w3.org/2005/Atom">  
  <title />  
  <author>  
    <name />  
  </author>  
  <id />  
  <content type="application/xml">  
    <m:properties>  
      <d:PartitionKey>Channel_19</d:PartitionKey>  
      <d:RowKey>1</d:RowKey>  
      <d:Rating m:type="Edm.Int32">9</d:Rating>  
      <d:Text>.NET...</d:Title>  
    </m:properties>  
  </content>  
</entry>  
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
POST https://myaccount.table.core.windows.net/Blogs HTTP/1.1  
Content-ID: 2  
Content-Type: application/atom+xml;type=entry  
Prefer: return-no-content  
Content-Length: ###  
  
<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="https://www.w3.org/2005/Atom">  
  <title />  
  <author>  
    <name />  
  </author>  
  <id />  
  <content type="application/xml">  
    <m:properties>  
      <d:PartitionKey>Channel_19</d:PartitionKey>  
      <d:RowKey>2</d:RowKey>  
      <d:Rating m:type="Edm.Int32">9</d:Rating>  
      <d:Text>Azure...</d:Title>  
    </m:properties>  
  </content>  
</entry>  
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
MERGE https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19', RowKey='3') HTTP/1.1  
Content-ID: 3  
Content-Type: application/atom+xml;type=entry  
Content-Length: ###  
  
<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="https://www.w3.org/2005/Atom">  
  <title />  
  <author>  
    <name />  
  </author>  
  <id>https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='3')</id>  
  
  <content type="application/xml">  
    <m:properties>  
      <d:PartitionKey>Channel_19</d:PartitionKey>  
      <d:RowKey>3</d:RowKey>  
      <d:Rating m:type="Edm.Int32">9</d:Rating>  
      <d:Text>PDC 2008...</d:Title>  
    </m:properties>  
  </content>  
</entry>  
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977--  
--batch_a1e9d677-b28b-435e-a89e-87e6a768a431—  
  

Sorgular için Örnek İstek

Aşağıdaki örneklerde bir sorgu için toplu iş isteği gösterilmiştir. Değişiklik kümesine yalnızca tek bir sorgunun dahil edilebileceğini unutmayın.

Not

JSON önerilen yük biçimidir ve 2015-12-11 ve sonraki sürümler için desteklenen tek biçimdir.

JSON (sürüm 2013-08-15 ve üzeri)

Aşağıdaki örnekte JSON yüküne sahip bir toplu iş isteği gösterilmektedir.

POST https://myaccount.table.core.windows.net/$batch HTTP/1.1  
x-ms-version: 2013-08-15  
Accept-Charset: UTF-8  
DataServiceVersion: 3.0;  
MaxDataServiceVersion: 3.0;NetFx  
Content-Type: multipart/mixed; boundary=batch_f351702c-c8c8-48c6-af2c-91b809c651ce  
x-ms-date: Mon, 14 Oct 2013 19:03:55 GMT  
Authorization: SharedKey testaccount1:y6TxCsXeRiR4l1KqihwRJ05Qb5zBk=  
Host: 127.0.0.1:10002  
Content-Length: 255  
Connection: Keep-Alive  
  
--batch_f351702c-c8c8-48c6-af2c-91b809c651ce  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
GET https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='2') HTTP/1.1  
Accept: application/json;odata=minimalmetadata  
  
--batch_f351702c-c8c8-48c6-af2c-91b809c651ce  
  
Atom Akışı (2015-12-11 öncesi sürümler)

Aşağıdaki örnekte Atom yüküne sahip bir toplu iş isteği gösterilmektedir.

POST /$batch HTTP/1.1  
User-Agent: Microsoft ADO.NET Data Services  
x-ms-version: 2013-08-15  
x-ms-date: Thu, 30 Aug 2013 20:45:13 GMT  
Authorization: SharedKeyLite myaccount:asOEzsCDS7YEe6oi+bx47KMwbXL0lYZCOlR/oc3FReQ=  
Accept: application/atom+xml,application/xml  
Accept-Charset: UTF-8  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Content-Type: multipart/mixed; boundary=batch_f351702c-c8c8-48c6-af2c-91b809c651ce  
Content-Length: ###  
  
--batch_f351702c-c8c8-48c6-af2c-91b809c651ce  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
GET https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='2') HTTP/1.1  
  
--batch_f351702c-c8c8-48c6-af2c-91b809c651ce—  
  

Toplu Yanıt Söz Dizimi

Yanıt, toplu iş isteği için genel bir durum kodu ve değişiklik kümesindeki her işlem için tek tek durum kodları ve sonuç parçaları döndürür. Yanıt, toplu iş sınırı ve değişiklik kümesi sınırı içeren çok parçalı bir MIME iletisidir.

Tablo hizmeti, toplu iş isteğinin tamamı için bir durum kodu ve başarılı veya başarısız olmasına bağlı olarak değişiklik kümesindeki işlemler için bir veya daha fazla durum kodu döndürür.

Toplu iş isteğinin düzgün şekilde yetkilendirildiğini ve Tablo hizmeti tarafından başarıyla alındığını varsayarsak, değişiklik kümesindeki işlemlerden biri başarısız olsa bile toplu iş isteği 202 (Kabul Edildi) durum kodunu döndürür. Toplu iş isteğinin kendisi başarısız olursa, değişiklik kümesindeki herhangi bir işlem yürütülmeden önce başarısız olur. Örneğin, bir yetkilendirme hatası nedeniyle toplu iş isteği başarısız olabilir; bu durumda durum kodu bu hatayı gösterir.

Bir değişiklik kümesindeki işlemler atomik olarak işlenir; yani, toplu işteki tüm işlemler başarılı olur veya toplu işlemin tamamı başarısız olur. Tablo hizmeti, değişiklik kümesindeki işlemleri başarısız olana kadar işlemeye devam eder. Bir işlem başarısız olursa, toplu işteki önceki tüm işlemler geri alınır. Ayrıca varlık grubu işlemleri anlık görüntü yalıtımıyla yürütülür.

Değişiklik kümesindeki tek bir işlemin durum kodu, değişiklik kümesi yanıtı içinde görünür. Tek bir işlem başarısız olduğunda, değişiklik kümesinin yanıtı 400 (Bad Request durum kodunu gösterir). Yanıttaki ek hata bilgileri, bu işlemin dizinini döndürerek hangi işlemin başarısız olduğunu gösterir. Dizin, yükteki komutun sıra numarasıdır.

Örnek için aşağıdaki örnek hata yanıtına bakın.

Oluşturma, Güncelleştirme ve Silme İşlemleri için Örnek Yanıt

Aşağıdaki örnekler, yukarıda gösterilen örnek isteklerde gönderilen toplu işlem yanıtlarını gösterir.

JSON (sürüm 2013-08-15 ve üzeri)

Aşağıdaki örnekte JSON yüküyle yapılan istek için bir yanıt gösterilmektedir.

HTTP/1.1 202 Accepted  
Cache-Control: no-cache  
Content-Type: multipart/mixed; boundary=batchresponse_e69b1c6c-62ff-471e-ab88-9a4aeef0a880  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: ed9c96eb-9473-4fd9-abf6-fa4dcf0d6295  
x-ms-version: 2013-08-15  
X-Content-Type-Options: nosniff  
Date: Mon, 14 Oct 2013 18:25:49 GMT  
Content-Length: 1647  
  
--batchresponse_e69b1c6c-62ff-471e-ab88-9a4aeef0a880  
Content-Type: multipart/mixed; boundary=changesetresponse_a6253244-7e21-42a8-a149-479ee9e94a25  
  
--changesetresponse_a6253244-7e21-42a8-a149-479ee9e94a25  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
HTTP/1.1 204 No Content  
Content-ID: 1  
X-Content-Type-Options: nosniff  
Cache-Control: no-cache  
Preference-Applied: return-no-content  
DataServiceVersion: 3.0;  
Location: https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='1')  
DataServiceId: https://myaccount.table.core.windows.net/Blogs (PartitionKey='Channel_19',RowKey='1')  
ETag: W/"0x8D101F7E4B662C4"  
  
--changesetresponse_a6253244-7e21-42a8-a149-479ee9e94a25  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
HTTP/1.1 204 No Content  
Content-ID: 2  
X-Content-Type-Options: nosniff  
Cache-Control: no-cache  
Preference-Applied: return-no-content  
DataServiceVersion: 3.0;  
Location: https://myaccount.table.core.windows.net/Blogs (PartitionKey='Channel_19',RowKey='2')  
DataServiceId: https://myaccount.table.core.windows.net/Blogs (PartitionKey='Channel_19',RowKey='2')  
ETag: W/"0x8C134F7A4B692D8"  
  
--changesetresponse_a6253244-7e21-42a8-a149-479ee9e94a25  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
HTTP/1.1 204 No Content  
Content-ID: 3  
X-Content-Type-Options: nosniff  
Cache-Control: no-cache  
DataServiceVersion: 1.0;  
ETag: W/"0x8A541B7C4D699D7"  
  
--changesetresponse_a6253244-7e21-42a8-a149-479ee9e94a25--  
--batchresponse_e69b1c6c-62ff-471e-ab88-9a4aeef0a880--  
  
Atom Akışı (2015-12-11 öncesi sürümler)

Aşağıdaki örnekte Atom yüküyle yapılan istek için bir yanıt gösterilmektedir.

HTTP/1.1 202 Accepted  
Cache-Control: no-cache  
Transfer-Encoding: chunked  
Content-Type: multipart/mixed; boundary=batchresponse_dc0fea8c-ed83-4aa8-ac9b-bf56a2d46dfb  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: b4b49b3e-19a9-4091-a280-da76a09da8d4  
Date: Thu, 30 Aug 2013 20:44:09 GMT  
  
334  
batchresponse_dc0fea8c-ed83-4aa8-ac9b-bf56a2d46dfb   
Content-Type: multipart/mixed; boundary=--changesetresponse_8a28b620-b4bb-458c-a177-0959fb14c977  
  
--changesetresponse_8a28b620-b4bb-458c-a177-0959fb14c977  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
HTTP/1.1 204 No Content  
Content-ID: 1  
Cache-Control: no-cache  
Preference-Applied: return-no-content  
ETag: W/"0x8D101F7E4B662C4"  
Location: https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='1')  
DataServiceVersion: 3.0;  
  
--changesetresponse_8a28b620-b4bb-458c-a177-0959fb14c977  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
HTTP/1.1 204 No Content  
Content-ID: 2  
Cache-Control: no-cache  
Preference-Applied: return-no-content  
ETag: W/"0x8C134F7A4B692D8"  
Location: https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='2')  
DataServiceVersion: 3.0;  
  
--changesetresponse_8a28b620-b4bb-458c-a177-0959fb14c977  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
HTTP/1.1 204 No Content  
Content-ID: 3  
Cache-Control: no-cache  
ETag: W/"0x8A541B7C4D699D7"  
DataServiceVersion: 3.0;  
  
--changesetresponse_8a28b620-b4bb-458c-a177-0959fb14c977--  
--batchresponse_4c637ba4-b2f8-40f8-8856-c2d10d163a83--  

Sorgular için Örnek Yanıt

Aşağıdaki örneklerde, yukarıda gösterilen örnek isteklerde gönderilen sorguların yanıtları gösterilmektedir.

JSON (sürüm 2013-08-15 ve üzeri)

Aşağıdaki örnekte JSON yüküyle yapılan istek için bir yanıt gösterilmektedir.

HTTP/1.1 202 Accepted  
Cache-Control: no-cache  
Content-Type: multipart/mixed; boundary=batchresponse_0a568496-fb38-4a83-9984-5908d7f4c63d  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: 6f2aafa3-19e9-434c-85f2-d178941c2d4b  
x-ms-version: 2013-08-15  
X-Content-Type-Options: nosniff  
Date: Mon, 14 Oct 2013 19:13:30 GMT  
Content-Length: 615  
  
--batchresponse_0a568496-fb38-4a83-9984-5908d7f4c63d  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
HTTP/1.1 200 OK  
DataServiceVersion: 3.0;  
Content-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8  
X-Content-Type-Options: nosniff  
Cache-Control: no-cache  
ETag: W/"0x5B168C7B6E589D2"  
  
{"odata.metadata":" https://myaccount.table.core.windows.net/Blogs/$metadata#Blogs/@Element","PartitionKey":"Channel_19","RowKey":"2","Timestamp":"2013-10-14T18:25:49.8922467Z","Rating":9,"Text":"Azure..."}  
--batchresponse_0a568496-fb38-4a83-9984-5908d7f4c63d--  
Atom Akışı (2015-12-11 öncesi sürümler)

Aşağıdaki örnekte Atom yüküyle yapılan istek için bir yanıt gösterilmektedir.

HTTP/1.1 202 Accepted  
Cache-Control: no-cache  
Transfer-Encoding: chunked  
Content-Type: multipart/mixed; boundary=batchresponse_4c637ba4-b2f8-40f8-8856-c2d10d163a83  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: 9202c4a1-43af-4dc0-baca-aa71f7a7407b  
Date: Thu, 30 Aug 2013 20:44:10 GMT  
  
--batchresponse_4c637ba4-b2f8-40f8-8856-c2d10d163a83  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
HTTP/1.1 200 OK  
Content-Type: application/atom+xml;charset=utf-8  
Cache-Control: no-cache  
ETag: W/"0x5B168C7B6E589D2"  
DataServiceVersion: 3.0;  
  
<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<entry xml:base="http://127.0.0.1:10002/testaccount1/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:etag="W/"0x5B168C7B6E589D2"" xmlns="https://www.w3.org/2005/Atom">  
    <id> https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='1')</id>  
  <title type="text"></title>  
  <updated>2013-08-30T20:44:10Z</updated>  
  <author>  
    <name />  
  </author>  
  <link rel="edit" title="Blogs" href=" Blogs(PartitionKey='Channel_19',RowKey='2')" />  
  <category term="myaccount.Blogs" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />  
  <content type="application/xml">  
    <m:properties>  
      <d:PartitionKey>Channel_19</d:PartitionKey>  
       <d:RowKey>2</d:RowKey>  
       <d:Timestamp m:type="Edm.DateTime">2013-08-30T20:44:09.5789464Z</d:Timestamp>  
       <d:Text>.Net...</d:RowKey>  
      <d:Rating m:type="Edm.Int32">9</d:Rating>  
    </m:properties>  
  </content>  
</entry>  
--batchresponse_4c637ba4-b2f8-40f8-8856-c2d10d163a83--  
  

Örnek Hata Yanıtı

Aşağıdaki örneklerde başarısız olan bir işlemi içeren toplu isteklerden gelen yanıtlar gösterilmiştir. Toplu yanıtın 202 durum kodunu (Kabul Edildi) döndürdüğünü, ancak başarısız olan tek işlemin 400 (Hatalı İstek) durum kodunu döndürdüğünü unutmayın. Başarısız işlemin yanıt gövdesine ek hata bilgileri eklenir. code öğesi depolama hizmeti hata kodunu belirtirkenmessage, öğesi başarısız işlemin diziniyle başlar ve ardından hata iletisi dizesi gelir. Hangi işlemin başarısız olduğunu belirlemek için, iletideki dizin değerini ayrıştırın. İşlemler sıfırdan başlayarak dizinlenir.

JSON Biçiminde İstek için Hata Yanıtı

JSON örneğinde, başarısız olan işlemin değişiklik kümesindeki ilk işlem olduğunu unutmayın. Ad/değer çiftinin message içinde, ileti sayı 0ile başlar ve ardından genişletilmiş hata bilgileriyle devam edin.

HTTP/1.1 202 Accepted  
Cache-Control: no-cache  
Content-Type: multipart/mixed; boundary=batchresponse_4e1c04af-af2b-4cfc-9e35-7677a5efcfca  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: 8abd3c55-a72e-47ba-ae0b-ba43abeb76ae  
x-ms-version: 2013-08-15  
X-Content-Type-Options: nosniff  
Date: Mon, 14 Oct 2013 19:21:58 GMT  
Content-Length: 1051  
  
--batchresponse_4e1c04af-af2b-4cfc-9e35-7677a5efcfca  
Content-Type: multipart/mixed; boundary=changesetresponse_e2a26601-bba8-4c1a-8a8c-bb66badcbca1  
  
--changesetresponse_e2a26601-bba8-4c1a-8a8c-bb66badcbca1  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
HTTP/1.1 400 Bad Request  
Content-ID: 1  
X-Content-Type-Options: nosniff  
DataServiceVersion: 3.0;  
Content-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8  
  
{"odata.error":{"code":"OutOfRangeInput","message":{"lang":"en-US","value":"0:One of the request inputs is out of range.\nRequestId:8abd3c55-a72e-47ba-ae0b-ba43abeb76ae\nTime:2013-10-14T19:21:58.0890048Z}}}  
--changesetresponse_e2a26601-bba8-4c1a-8a8c-bb66badcbca1--  
--batchresponse_4e1c04af-af2b-4cfc-9e35-7677a5efcfca--  
  
Atom Biçiminde İstek için Hata Yanıtı

Atom örneğinde, başarısız olan işlemin değişiklik kümesindeki dördüncü işlem olduğuna dikkat edin. öğesinde message , ileti sayı 3ile başlar ve ardından genişletilmiş hata bilgileriyle devam edin.

<message xml:lang="en-US">3:One of the request inputs is not valid.</message>  

Tam yanıt şu şekildedir:

HTTP/1.1 202 Accepted  
Cache-Control: no-cache  
Transfer-Encoding: chunked  
Content-Type: multipart/mixed; boundary=batchresponse_7ab1553a-7dd6-44e7-8107-bf1ea1ab1876  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: 45ac953e-a4a5-42ba-9b4d-97bf74a8a32e  
Date: Thu, 30 Apr 2009 20:45:13 GMT  
  
6E7  
--batchresponse_7ab1553a-7dd6-44e7-8107-bf1ea1ab1876  
Content-Type: multipart/mixed; boundary=changesetresponse_6cc856b4-8cb9-41eb-b8d2-bb73475c6cec  
  
--changesetresponse_6cc856b4-8cb9-41eb-b8d2-bb73475c6cec  
Content-Type: application/http  
Content-Transfer-Encoding: binary  
  
HTTP/1.1 400 Bad Request  
Content-ID: 4  
Content-Type: application/xml  
Cache-Control: no-cache  
DataServiceVersion: 1.0;  
  
<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">  
  <code>InvalidInput</code>  
  <message xml:lang="en-US">3:One of the request inputs is not valid.</message>  
</error>  
--changesetresponse_6cc856b4-8cb9-41eb-b8d2-bb73475c6cec--  
--batchresponse_7ab1553a-7dd6-44e7-8107-bf1ea1ab1876--  
  

Ayrıca Bkz.

OData Belirtimi
Tablo Hizmeti Kavramları