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
,Accept
Version
veDataServiceVersion
ü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ındaPrefer
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ı 0
ile 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ı 3
ile 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--