このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
Insert Entity

Insert Entity

更新日: 2015年5月

Insert Entity 操作は、テーブルに新しいエンティティを挿入します。

Insert Entity 要求の構成は次のとおりです。HTTPS が推奨されます。myaccount をストレージ アカウントの名前で、mytable をテーブルの名前でそれぞれ置き換えます。

 

メソッド 要求 URI HTTP バージョン

POST

https://myaccount.table.core.windows.net/mytable

HTTP/1.1

エミューレートされたストレージ サービスに対する要求では、エミュレーターのホスト名とテーブル サービス ポートを 127.0.0.1:10002 と指定し、その後にエミューレートされたストレージ アカウント名を指定します。

 

メソッド 要求 URI HTTP バージョン

POST

http://127.0.0.1:10002/devstoreaccount1/mytable

HTTP/1.1

ストレージ エミュレーターのテーブル サービスは、Windows® Azure™ のテーブル サービスとはいくつかの点で異なります。詳細については、「Differences between Development Storage and Cloud Storage Services」を参照してください。

ありません。

必須要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。

 

要求ヘッダー 説明

Authorization

必須。認証スキーム、アカウント名、および署名を指定します。詳細については、「Azure ストレージ サービスの認証」を参照してください。

Date またはx-ms-date

必須。要求の世界協定時刻 (UTC) を指定します。詳細については、「Azure ストレージ サービスの認証」を参照してください。

x-ms-version

省略可能。この要求に使用する操作のバージョンを指定します。詳細については、「Windows Azure の BLOB サービス、キュー サービス、およびテーブル サービスのバージョン管理」を参照してください。

Content-Type

必須。ペイロードのコンテンツの種類を指定します。指定できる値は application/atom+xml および application/json です。

有効なコンテンツの種類の詳細については、「テーブル サービス操作のペイロード形式」を参照してください。

Content-Length

必須。要求本文の長さ。

Accept

省略可能。応答ペイロードの受け入れられたコンテンツの種類を指定します。次の値をとります。

  • application/atom+xml

  • application/json;odata=nometadata

  • application/json;odata=minimalmetadata

  • application/json;odata=fullmetadata

詳細については、「テーブル サービス操作のペイロード形式」を参照してください。

Prefer

省略可能。応答で挿入されたエンティティをペイロードに含める必要があるかどうかを指定します。指定できる値は return-no-content および return-content です。詳細については、「挿入操作で応答のエコーを管理するための Prefer ヘッダーの設定」を参照してください。

x-ms-client-request-id

省略可能。Storage Analytics Logging が有効な場合に解析ログに記録される、クライアントで生成された非透過の値を 1 KB の文字制限付きで提供します。クライアント側のアクティビティとサーバーが受け取る要求を相互に関連付けるには、このヘッダーを使用することを強くお勧めします。詳細については、「Storage Analytics Logging について」および「Azure のログ:ログを使用した、ストレージ要求の追跡」を参照してください。

Insert Entity 操作は、挿入するエンティティを OData エンティティ (JSON または Atom フィード) として送信します。詳細については、「エンティティの挿入と更新」を参照してください。

次の例は、Insert Entity 操作の Atom 要求本文です。

<?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="http://www.w3.org/2005/Atom">
  <title />
  <updated>2013-09-18T23:46:19.3857256Z</updated>
  <author>
    <name />
  </author>
  <id />
  <content type="application/xml">
    <m:properties>
      <d:Address>Mountain View</d:Address>
      <d:Age m:type="Edm.Int32">23</d:Age>
      <d:AmountDue m:type="Edm.Double">200.23</d:AmountDue>
      <d:BinaryData m:type="Edm.Binary" m:null="true" />
      <d:CustomerCode m:type="Edm.Guid">c9da6455-213d-42c9-9a79-3e9149a57833</d:CustomerCode>
      <d:CustomerSince m:type="Edm.DateTime">2008-07-10T00:00:00</d:CustomerSince>
      <d:IsActive m:type="Edm.Boolean">true</d:IsActive>
      <d:NumOfOrders m:type="Edm.Int64">255</d:NumOfOrders>
      <d:PartitionKey>mypartitionkey</d:PartitionKey>
      <d:RowKey>myrowkey1</d:RowKey>
    </m:properties>
  </content>
</entry>

次の例は、Insert Entity 操作の JSON 要求本文です。

{
   "Address":"Mountain View",
   "Age":23,
   "AmountDue":200.23,
   "CustomerCode@odata.type":"Edm.Guid",
   "CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833",
   "CustomerSince@odata.type":"Edm.DateTime",
   "CustomerSince":"2008-07-10T00:00:00",
   "IsActive":true,
   "NumberOfOrders@odata.type":"Edm.Int64",
   "NumberOfOrders":"255",
   "PartitionKey":"mypartitionkey",
   "RowKey":"myrowkey"
}

応答には、HTTP 状態コード、一連の応答ヘッダー、および応答本文が含まれています。

ステータス コードは、Prefer ヘッダーの値によって異なります。Prefer ヘッダーが return-no-content に設定されている場合、操作が正常に完了するとステータス コード 204 (No Content) が返されます。Prefer ヘッダーが指定されていない場合や return-content に設定されている場合、操作が正常に完了するとステータス コード 201 (Created) が返されます。詳細については、「挿入操作で応答のエコーを管理するための Prefer ヘッダーの設定」を参照してください。

ステータス コードの詳細については、「ステータス コードとエラー コード」および「テーブル サービスのエラー コード」を参照してください。

応答には次のヘッダーが含まれます。応答に追加の標準 HTTP ヘッダーが含まれる場合もあります。標準ヘッダーはすべて、HTTP/1.1 プロトコル仕様に準拠しています。

 

応答ヘッダー 説明

x-ms-request-id

このヘッダーは要求を一意に識別するので、要求のトラブルシューティングに使用できます。詳細については、「API 操作のトラブルシューティング」を参照してください。

x-ms-version

要求の実行に使用するテーブル サービスのバージョンを示します。このヘッダーはバージョン 2009-09-19 以降で行った要求に対して返されます。

Date

サービスによって生成される、応答の開始時刻を示す UTC 日付/時刻値。

ETag

エンティティの ETag。

Preference-Applied

Prefer 要求ヘッダーが受け入れられたかどうかを示します。応答にこのヘッダーが含まれない場合、Prefer ヘッダーは受け入れられていません。このヘッダーが返された場合、その値は return-content または return-no-content になります。

詳細については、「挿入操作で応答のエコーを管理するための Prefer ヘッダーの設定」を参照してください。

Content-Type

ペイロードのコンテンツの種類を示します。値は、Accept 要求ヘッダーに指定された値によって異なります。次の値をとります。

  • application/atom+xml

  • application/json;odata=nometadata

  • application/json;odata=minimalmetadata

  • application/json;odata=fullmetadata

コンテンツの種類の詳細については、「テーブル サービス操作のペイロード形式」を参照してください。

要求に値が return-no-contentPrefer ヘッダーが含まれる場合、応答本文は返されません。それ以外の場合、応答本文は OData エンティティ セットです。

次の例は、Insert Entity 操作の Atom 応答本文です。

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xml:base="https://myaccount.table.core.windows.net/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:etag="W/&quot;0x5B168C7B6E589D2&quot;" xmlns="http://www.w3.org/2005/Atom">
  <id>https://myaccount.table.core.windows.net/mytable(PartitionKey='mypartitionkey',RowKey='myrowkey1')</id>
  <title type="text"></title>
  <updated>2008-09-18T23:46:19.3857256Z</updated>
  <author>
    <name />
  </author>
  <link rel="edit" title="mytable" href="mytable(PartitionKey='mypartitionkey',RowKey='myrowkey1')" />
  <category term="myaccount.Tables" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
  <content type="application/xml">
    <m:properties>
      <d:PartitionKey>mypartitionkey</d:PartitionKey>
      <d:RowKey>myrowkey1</d:RowKey>
      <d:Timestamp m:type="Edm.DateTime">2008-09-18T23:46:19.4277424Z</d:Timestamp>
      <d:Address>Mountain View</d:Address>
      <d:Age m:type="Edm.Int32">23</d:Age>
      <d:AmountDue m:type="Edm.Double">200.23</d:AmountDue>
      <d:CustomerCode m:type="Edm.Guid">c9da6455-213d-42c9-9a79-3e9149a57833</d:CustomerCode>
      <d:CustomerSince m:type="Edm.DateTime">2008-07-10T00:00:00</d:CustomerSince>
      <d:IsActive m:type="Edm.Boolean">true</d:IsActive>
      <d:NumOfOrders m:type="Edm.Int64">255</d:NumOfOrders>
    </m:properties>
  </content>
</entry>

次の例は、各メタデータ レベルの JSON 応答です。

メタデータなし:

{
   "PartitionKey":"mypartitionkey",
   "RowKey":"myrowkey",
   "Timestamp":"2013-08-22T01:12:06.2608595Z",
   "Address":"Mountain View",
   "Age":23,
   "AmountDue":200.23,
   "CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833",
   "CustomerSince":"2008-07-10T00:00:00",
   "IsActive":true,
   "NumberOfOrders":"255"
}

最小のメタデータ:

{
   "odata.metadata":"https://myaccount.table.core.windows.net/Customer/$metadata#Customers/@Element",
   "PartitionKey":"mypartitionkey",
   "RowKey":"myrowkey",
   "Timestamp":"2013-08-22T01:12:06.2608595Z",
   "Address":"Mountain View",
   "Age":23,
   "AmountDue":200.23,
   "CustomerCode@odata.type":"Edm.Guid",
   "CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833",
   "CustomerSince@odata.type":"Edm.DateTime",
   "CustomerSince":"2008-07-10T00:00:00",
   "IsActive":true,
   "NumberOfOrders@odata.type":"Edm.Int64",
   "NumberOfOrders":"255"
}

完全なメタデータ:

{
   "odata.metadata":"https://myaccount.table.core.windows.net/Customer/$metadata#Customers/@Element",
   "odata.type":"myaccount.Customers",
   "odata.id":" https://myaccount.table.core.windows.net/Customers(PartitionKey='mypartitionkey',RowKey='myrowkey')",
   "odata.etag":"W/\"0x5B168C7B6E589D2\"",
   "odata.editLink":"Customers(PartitionKey='mypartitionkey',RowKey='myrowkey')",
   "PartitionKey":"mypartitionkey",
   "RowKey":"myrowkey",
   "Timestamp@odata.type":"Edm.DateTime",
   "Timestamp":"2013-08-22T01:12:06.2608595Z",
   "Address":"Mountain View",
   "Age":23,
   "AmountDue":200.23,
   "CustomerCode@odata.type":"Edm.Guid",
   "CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833",
   "CustomerSince@odata.type":"Edm.DateTime",
   "CustomerSince":"2008-07-10T00:00:00",
   "IsActive":true,
   "NumberOfOrders@odata.type":"Edm.Int64",
   "NumberOfOrders":"255"
}

この操作を実行できるのは、アカウント所有者と、この操作を実行するアクセス許可を持つ共有アクセス署名を使用する任意のユーザーです。

エンティティをテーブルに挿入する場合は、PartitionKey システム プロパティと RowKey システム プロパティの値を指定する必要があります。これらのプロパティがプライマリ キーを構成します。これらのプロパティはテーブル内で一意である必要があります。

PartitionKey 値と RowKey 値の両方が文字列値である必要があります。各キー値のサイズは最大 64 KB です。キー値は正規の順序で並べ替えられるため、キー値に整数値を使用している場合は、整数から固定幅文字列に変換する必要があります。たとえば、値 10000001 に変換して、正しく並べ替えられるようにする必要があります。

プロパティの型を明示的に設定するには、m:type 属性を Atom フィードのプロパティ定義内に設定することで、適切な OData データ型を指定します。プロパティの型指定の詳細については、「エンティティの挿入と更新」を参照してください。

バッチ挿入操作の実行方法については、「エンティティ グループ トランザクションの実行」を参照してください。

関連項目

表示:
© 2015 Microsoft