添付ファイルの作成

操作により Create Attachment 、ドキュメントの添付ファイルが作成されます。

Request

Method 要求 URI 説明
POST https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments。 {databaseaccount} は、サブスクリプションの下に作成された Azure Cosmos DB アカウントの名前です。 {db-id} 値は、システムによって生成された ID (rid) ではなく、データベースのユーザーによって生成された名前/ID です。 {coll-id} 値は、ドキュメントが含まれているコレクションの名前です。 {doc-name} 値は、添付ファイルに関連付けられているドキュメントの名前です。

ヘッダー

すべての Azure Cosmos DB 要求 で使用されるヘッダーについては、「共通の Azure Cosmos DB REST 要求ヘッダー」を参照してください。

ヘッダー 必須 Type 説明
置換フィールド 省略可能 String 添付ファイルの名前。 これは、生メディアが Azure Cosmos DB 添付ストレージに送信される場合にのみ必要です。 詳細については、 AtomPub プロトコルに関するページを参照してください。

Body

プロパティ 必須 Type 説明
id 省略可能 String 生メディアを添付するときは Not Required と設定されます。 これはユーザー設定可能なプロパティです。 添付ファイルを識別する一意の名前です。つまり、同じ ID を共有する 2 つの添付ファイルはありません。 ID は 255 文字以内にする必要があります。
contentType 省略可能 String 生メディアを添付するときは Not Required と設定されます。 これはユーザー設定可能なプロパティです。 添付ファイルのコンテンツの種類を示します。 添付ファイルビットを本文として送信すると、Cosmos DB は contentTypeContent-Type ヘッダーで設定された型に設定します。
メディア 省略可能 String 生メディアを添付するときは Not Required と設定されます。 これは、添付ファイルが存在する URL リンクまたはファイル パスです。
{  
    "id": "image_id",  
    "contentType": "image/jpg",  
    "media": "www.bing.com"  
}  
  

[応答]

ヘッダー

すべての Azure Cosmos DB 応答 によって返されるヘッダーについては、「共通の Azure Cosmos DB REST 応答ヘッダー」を参照してください。

状態コード

次の表に、この操作で返される一般的なステータス コードを示します。 状態コードの完全な一覧については、「 HTTP 状態コード」を参照してください。

HTTP 状態コード 説明
201 Created 操作に成功しました。
400 Bad Request JSON の本文が無効です。 中かっこや引用符の不足がないか確認してください。
409 競合 新しい添付ファイルに指定された ID または Slug は、既存の添付ファイルによって取得されています。
413 Entity Too Large 要求のドキュメント サイズが、要求で許可されているドキュメント サイズを超えています。

本文

添付ファイルを作成すると、次の応答本文で添付ファイル リソースが作成されます。

プロパティ 説明
_解消 これは、システムによって生成されるプロパティです。 リソース ID (_rid) は、リソース モデルのリソース スタックごとに階層化される一意識別子です。 添付ファイル リソースの配置およびナビゲーションのために内部的に使用されます。
_Ts これは、システムによって生成されるプロパティです。 リソースの最終更新タイムスタンプを示します。 値は、タイムスタンプです。
_自己 これは、システムによって生成されるプロパティです。 リソースの一意のアドレス指定が可能な URI です。
_Etag これは、オプティミスティック コンカレンシー制御に必要なリソース etag を指定するシステム生成プロパティです。
{  
    "id": "image_id",  
    "contentType": "image/jpg",  
    "media": "www.bing.com",  
    "_rid": "Sl8fALN4sw4CAAAAAAAAAOnTcEc=",  
    "_ts": 1449606296,  
    "_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/docs\/Sl8fALN4sw4CAAAAAAAAAA==\/attachments\/Sl8fALN4sw4CAAAAAAAAAOnTcEc=",  
    "_etag": "\"060091c2-0000-0000-0000-56673c980000\""  
}  
  

POST https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d/attachments HTTP/1.1  
x-ms-session-token: 16  
x-ms-date: Tue, 08 Dec 2015 20:24:56 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3dQ8MDtRExrtOeDL5TSaHvXhPTNyKiRrrIC3IjTSpf958%3d  
Cache-Control: no-cache  
User-Agent: contoso/1.0  
x-ms-version: 2015-08-06  
Accept: application/json  
Host: contosomarketing.documents.azure.com  
Cookie: x-ms-session-token=16  
Content-Length: 66  
Expect: 100-continue  
Connection: Keep-Alive  
{  
    "id": "image_id",  
    "contentType": "image/jpg",  
    "media": "www.bing.com"  
}  
  
HTTP/1.1 201 Created  
Cache-Control: no-store, no-cache  
Pragma: no-cache  
Content-Type: application/json  
Server: Microsoft-HTTPAPI/2.0  
x-ms-max-media-storage-usage-mb: 2048  
x-ms-media-storage-usage-mb: 0  
Strict-Transport-Security: max-age=31536000  
x-ms-last-state-change-utc: Sun, 29 Nov 2015 19:20:18.154 GMT  
etag: "060091c2-0000-0000-0000-56673c980000"  
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;  
x-ms-resource-usage: documentSize=0;documentsSize=291;collectionSize=369;  
x-ms-schemaversion: 1.1  
x-ms-alt-content-path: dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d  
x-ms-content-path: Sl8fALN4sw4CAAAAAAAAAA==  
x-ms-quorum-acked-lsn: 18  
x-ms-session-token: 19  
x-ms-current-write-quorum: 3  
x-ms-current-replica-set-size: 4  
x-ms-request-charge: 4.95  
x-ms-serviceversion: version=1.5.57.3  
x-ms-activity-id: c03c09bf-a791-4dad-b2f8-fa88fa1bce04  
Set-Cookie: x-ms-session-token=19; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/colls/volcano1  
x-ms-gatewayversion: version=1.5.57.3  
Date: Tue, 08 Dec 2015 20:24:57 GMT  
Content-Length: 292  
  
{  
    "id": "image_id",  
    "contentType": "image/jpg",  
    "media": "www.bing.com",  
    "_rid": "Sl8fALN4sw4CAAAAAAAAAOnTcEc=",  
    "_ts": 1449606296,  
    "_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/docs\/Sl8fALN4sw4CAAAAAAAAAA==\/attachments\/Sl8fALN4sw4CAAAAAAAAAOnTcEc=",  
    "_etag": "\"060091c2-0000-0000-0000-56673c980000\""  
}  
  

注釈

添付ファイル リソースを作成する方法は 2 つあります。 AtomPub プロトコルのように Cosmos DB にメディア コンテンツを投稿するか、添付ファイルメタデータのみを外部に格納されたメディアに投稿します。

1 つ目は、本文ペイロードに生メディアを POST して、Cosmos DB アカウントの下の指定された添付ファイル ストレージに格納することです。 この種類の添付ファイルを作成するには、未加工の添付ファイル (ビデオ、オーディオ、ファイル、BLOB など) を POST の本文として含める必要があります。 2 つのヘッダー、Content-Type と Slug を設定する必要があります。 Content-Type ヘッダーには添付ファイルの MIME タイプを設定し、Slug ヘッダーには添付ファイルの名前を設定します。

第 2 の方法は、種類を記した添付ファイル リソース プロパティおよび添付ファイルのメディア リンクを POST します。 最初の種類の添付ファイル リソースとは異なり、Content-Type ヘッダーと Slug ヘッダーを設定しないでください。

参照