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

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

スキーマ名のプラットフォームイベントの定義を JSON 形式で取得します。

構文

URI
/services/data/vXX.X/event/eventSchema/schemaId
適用開始バージョン
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 は、スキーマ ID が 5E5OtZj5_Gm6Vax9XMXH9A のプラットフォームイベントのスキーマを取得します。このスキーマ ID が例の ID です。これをイベントの有効なスキーマ ID に置き換えます。

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

または

1/services/data/v54.0/event/eventSchema/5E5OtZj5_Gm6Vax9XMXH9A?payloadFormat=EXPANDED

API バージョン 43.0 以降では、デフォルトで応答形式がイベントスキーマの JSON 表現となっています。API バージョン 54.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/v54.0/event/eventSchema/5E5OtZj5_Gm6Vax9XMXH9A?payloadFormat=COMPACT

API バージョン 54.0 では、コンパクト形式について返される応答は次のようになります。

1{
2  "name" : "Low_Ink__e",
3  "namespace" : "com.sforce.eventbus",
4  "doc" : "54.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}

コンパクトスキーマには 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  "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}

プラットフォームイベントの定義を変更すると、このプラットフォームイベントのスキーマ 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 は、項目データの種別です。この項目は、組織内で使用することを目的としています。たとえば、このデータ型情報を使用して、DateTime 項目を long から DateTime に変換します。この項目の値は、将来変更される可能性があるため、依存しないことをお勧めします。

応答には uuid 項目も含まれ、この項目にはこのスキーマの ID が含まれています。この ID は、base-64 URL バリアントとして符号化された、正規化された Avro スキーマの MD5 フィンガープリントです。この ID を /vXX.X/event/eventSchema/ URI に追加してスキーマを取得することができます。