Platform Event Schema by Event Name
構文
- URI
- /vXX.X/sobjects/Event_Name/eventSchema
- 適用開始バージョン
- 40.0
- 形式
- JSON
- HTTP メソッド
- GET
- 認証
- Authorization: Bearer token
- パラメータ
-
パラメータ 説明 payloadFormat (省略可能なクエリパラメータ。API バージョン 43.0 以降で使用可能)。返されるイベントスキーマの形式。このパラメータは、次のいずれかの値を取ります。 - EXPANDED — イベントスキーマの JSON 表現。これは、API バージョン 43.0 以降で payloadFormat を指定しない場合のデフォルトの形式です。
- COMPACT — レコード複合型のオープンソース Apache Avro 仕様に準拠した形式 (「Apache Avro 形式」を参照)。登録者は、コンパクトスキーマ形式を使用して、バイナリ形式で受信したコンパクトイベントを並列化します。
エラーコード
| 400 Bad Request | 説明 |
|---|---|
| API バージョン 43.0 以降 | 要求の形式が正しくありません — URI の payloadFormat パラメータで無効な値が渡されました。 |
| API バージョン 42.0 以前 | 要求の形式が正しくありません — URI で payloadFormat パラメータが渡されましたが、この API バージョンではこのパラメータはサポートされていません。 |
API バージョン 43.0 以降の例
この URI は、プラットフォームイベント名が Low_Ink__e のスキーマを取得します。API バージョン 43.0 以降では、応答形式がイベントスキーマの JSON 表現となっています。
1/services/data/v43.0/sobjects/Low_Ink__e/eventSchemaまたは、
1/services/data/v43.0/sobjects/Low_Ink__e/eventSchema?payloadFormat=EXPANDEDAPI バージョン 43.0 では、拡張された形式について返される応答は次のようになります。
1{
2 "name" : "Low_Ink__e",
3 "namespace" : "com.sforce.eventbus",
4 "type" : "expanded-record",
5 "fields" : [ {
6 "name" : "data",
7 "type" : {
8 "type" : "record",
9 "name" : "Data",
10 "namespace" : "",
11 "fields" : [ {
12 "name" : "schema",
13 "type" : "string"
14 }, {
15 "name" : "payload",
16 "type" : {
17 "type" : "record",
18 "name" : "Payload",
19 "doc" : "",
20 "fields" : [ {
21 "name" : "CreatedDate",
22 "type" : "string",
23 "doc" : "CreatedDate:DateTime"
24 }, {
25 "name" : "CreatedById",
26 "type" : "string",
27 "doc" : "CreatedBy:EntityId"
28 }, {
29 "name" : "Printer_Model__c",
30 "type" : [ "null", "string" ],
31 "doc" : "Data:Text",
32 "default" : null
33 }, {
34 "name" : "Serial_Number__c",
35 "type" : [ "null", "string" ],
36 "doc" : "Data:Text",
37 "default" : null
38 }, {
39 "name" : "Ink_Percentage__c",
40 "type" : [ "null", "double" ],
41 "doc" : "Data:Double",
42 "default" : null
43 } ]
44 }
45 }, {
46 "name" : "event",
47 "type" : {
48 "type" : "record",
49 "name" : "Event",
50 "fields" : [ {
51 "name" : "replayId",
52 "type" : "long"
53 } ]
54 }
55 } ]
56 }
57 }, {
58 "name" : "channel",
59 "type" : "string"
60 } ]
61}コンパクト (Apache Avro) 形式を取得するには、次の URI を使用します。
1/services/data/v43.0/sobjects/Low_Ink__e/eventSchema?payloadFormat=COMPACTAPI バージョン 43.0 では、コンパクト形式について返される応答は次のようになります。
1{
2 "name" : "Low_Ink__e",
3 "namespace" : "com.sforce.eventbus",
4 "doc" : "43.0",
5 "type" : "record",
6 "fields" : [ {
7 "name" : "CreatedDate",
8 "type" : "long",
9 "doc" : "CreatedDate:DateTime"
10 }, {
11 "name" : "CreatedById",
12 "type" : "string",
13 "doc" : "CreatedBy:EntityId"
14 }, {
15 "name" : "Printer_Model__c",
16 "type" : [ "null", "string" ],
17 "doc" : "Data:Text",
18 "default" : null
19 }, {
20 "name" : "Serial_Number__c",
21 "type" : [ "null", "string" ],
22 "doc" : "Data:Text",
23 "default" : null
24 }, {
25 "name" : "Ink_Percentage__c",
26 "type" : [ "null", "double" ],
27 "doc" : "Data:Double",
28 "default" : null
29 } ],
30 "uuid" : "5E5OtZj5_Gm6Vax9XMXH9A"
31}API バージョン 42.0 以前の例
API バージョン 42.0 以前では、応答形式はレコード複合型のオープンソース Apache Avro 仕様に準拠しています。
1/services/data/v42.0/sobjects/Low_Ink__e/eventSchemaAPI バージョン 42.0 では、返される応答は次のようになります。
1{
2 "name" : "Low_Ink__e",
3 "namespace" : "com.sforce.eventbus",
4 "doc" : "42.0",
5 "type" : "record",
6 "fields" : [ {
7 "name" : "CreatedDate",
8 "type" : "long",
9 "doc" : "CreatedDate:DateTime"
10 }, {
11 "name" : "CreatedById",
12 "type" : "string",
13 "doc" : "CreatedBy:EntityId"
14 }, {
15 "name" : "Printer_Model__c",
16 "type" : [ "null", "string" ],
17 "doc" : "Data:Text",
18 "default" : null
19 }, {
20 "name" : "Serial_Number__c",
21 "type" : [ "null", "string" ],
22 "doc" : "Data:Text",
23 "default" : null
24 }, {
25 "name" : "Ink_Percentage__c",
26 "type" : [ "null", "double" ],
27 "doc" : "Data:Double",
28 "default" : null
29 } ],
30 "uuid" : "5E5OtZj5_Gm6Vax9XMXH9A"
31}Apache Avro 形式
返される応答の項目は、レコード複合型のオープンソース Apache Avro 仕様に準拠しています (Apache Avro 仕様の「Avro レコード」を参照してください)。次の点に注意してください。
- name はプラットフォームイベントの名前です。
- namespace は com.sforce.eventbus に対応します。
- type は Avro 複合型です。
- fields はプラットフォームイベントの項目が含まれる JSON 配列です。項目ごとに、type は、その項目が null であるか、指定された型の値があるかを示します。項目が存在しない場合、値は default です。また、doc は項目のデータ型です。このデータ型情報を使用して、DateTime 項目を long から DateTime に変換します。
応答には uuid 項目も含まれ、この項目にはこのスキーマの ID が含まれています。この ID は、base-64 URL バリアントとして符号化された、正規化された Avro スキーマの MD5 フィンガープリントです。この ID を /vXX.X/event/eventSchema/ URI に追加してスキーマを取得することができます。