この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

スキーマ ID によるプラットフォームイベントスキーマ

スキーマ名のプラットフォームイベントの定義を JSON 形式で取得します。このリソースは REST API バージョン 40.0 以降で使用できます。
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=EXPANDED

API バージョン 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=COMPACT

API バージョン 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}

コンパクトスキーマには replayId または channel 項目は含まれません。これは、これらの項目が受信したコンパクトイベントの並列化に不要であるためです。

メモ

API バージョン 42.0 以前の例

API バージョン 42.0 以前では、応答形式はレコード複合型のオープンソース Apache Avro 仕様に準拠しています。

この形式は、?payloadFormat=COMPACT パラメーターを追加した場合に API バージョン 43.0 以降の API が返す形式です。

メモ

この URI は、スキーマ ID が 5E5OtZj5_Gm6Vax9XMXH9A のプラットフォームイベントのスキーマを取得します。このスキーマ ID が例の ID です。これをイベントの有効なスキーマ ID に置き換えます。

1/services/data/v42.0/event/eventSchema/5E5OtZj5_Gm6Vax9XMXH9A

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}

プラットフォームイベントの定義を変更すると、このプラットフォームイベントのスキーマ ID も変更されます。

メモ

スキーマ ID がない場合は、プラットフォームイベント名を入力するとスキーマを取得できます。/services/data/vXX.X/sobjects/eventName/eventSchema に対して GET 要求を行います。「イベント名によるプラットフォームイベントスキーマ」を参照してください。

Apache Avro 形式

返される応答の項目は、レコード複合型のオープンソース Apache Avro 仕様に準拠しています (Apache Avro 仕様の「Avro レコード」を参照してください)。次の点に注意してください。
  • name はプラットフォームイベントの名前です。
  • namespacecom.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 に追加してスキーマを取得することができます。