Platform Event Schema by Event Name
| 400 Bad Request | 説明 |
|---|---|
| API バージョン 43.0 以降 | 要求の形式が正しくありません — URI の payloadFormat パラメータで無効な値が渡されました。 |
| API バージョン 42.0 以前 | 要求の形式が正しくありません — URI で payloadFormat パラメータが渡されましたが、この API バージョンではこのパラメータはサポートされていません。 |
構文
- URI
- /services/data/vXX.X/sobjects/eventName/eventSchema
- 形式
- 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 は、プラットフォームイベント名が Low_Ink__e のスキーマを取得します。API バージョン 43.0 以降では、応答形式がイベントスキーマの JSON 表現となっています。
1curl https://MyDomainName.my.salesforce.com/services/data/v58.0/sobjects/Low_Ink__e/eventSchema -H "Authorization: Bearer token"または
1curl https://MyDomainName.my.salesforce.com/services/data/v58.0/sobjects/Low_Ink__e/eventSchema?payloadFormat=EXPANDED -H "Authorization: Bearer token"API バージョン 58.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 を使用します。
1curl https://MyDomainName.my.salesforce.com/services/data/v58.0/sobjects/Low_Ink__e/eventSchema?payloadFormat=COMPACT -H "Authorization: Bearer token"API バージョン 58.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 仕様に準拠しています。
1curl https://MyDomainName.my.salesforce.com/services/data/v42.0/sobjects/Low_Ink__e/eventSchema -H "Authorization: Bearer token"API バージョン 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}Apache Avro 形式
返される応答の項目は、レコード複合型のオープンソース Apache Avro 仕様に準拠しています (Apache Avro 仕様の「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 に追加してスキーマを取得することができます。