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