イベントのサブスクライブ

post

/restproxy/api/v2/channels/{channelId}/event-subscriptions

イベントをサブスクライブします

リクエスト

サポートされるメディア・タイプ
パス・パラメータ
本文()
イベントをサブスクライブするリクエスト
ルート・スキーマ: EventSubscription
型: object
ソースの表示
ネストしたスキーマ: callbackTLSCerts
型: object
ソースの表示
先頭に戻る

レスポンス

サポートされるメディア・タイプ

200レスポンス

操作の成功
本文()
ルート・スキーマ: schema
型: object
ソースの表示
ネストしたスキーマ: result
型: object
ソースの表示
  • 操作が成功した場合のサブスクリプションのID

400レスポンス

不正なリクエスト
本文()
ルート・スキーマ: Error
型: object
エラー情報。
ソースの表示
ネストしたスキーマ: errors
型: array
エラーのリスト
ソースの表示
ネストしたスキーマ: warnings
型: array
警告のリスト
ソースの表示

401レスポンス

未認可
本文()
ルート・スキーマ: Error
型: object
エラー情報。
ソースの表示
ネストしたスキーマ: errors
型: array
エラーのリスト
ソースの表示
ネストしたスキーマ: warnings
型: array
警告のリスト
ソースの表示

403レスポンス

禁止

404レスポンス

見つかりません
本文()
ルート・スキーマ: Error
型: object
エラー情報。
ソースの表示
ネストしたスキーマ: errors
型: array
エラーのリスト
ソースの表示
ネストしたスキーマ: warnings
型: array
警告のリスト
ソースの表示

500レスポンス

内部サーバー・エラー
本文()
ルート・スキーマ: Error
型: object
エラー情報。
ソースの表示
ネストしたスキーマ: errors
型: array
エラーのリスト
ソースの表示
ネストしたスキーマ: warnings
型: array
警告のリスト
ソースの表示
先頭に戻る

このエンドポイントは、イベント・サブスクリプションをリクエストするために使用されます。

次の例は、cURLを使用してRESTリソースに対するPOSTリクエストを発行し、イベント・サブスクリプションをリクエストする方法を示しています。

curl -v -u <username>:<password> -X POST \
  "https://<restproxy of your Blockchain instance>/api/v2/channels/default/event-subscriptions" \
  -H "accept: application/json" \
  -H "Content-Type: application/json" \
  --data @<JSON file with the request parameters>

例:

curl -v -u obpuser:<password> -X POST \
  "https://myvm.oracle.com:10000/restproxy/api/v2/channels/default/event-subscriptions" \
  -H "accept: application/json" \
  -H "Content-Type: application/json" \
  --data @file.json
file.jsonの内容は次のとおりです。
{
 "role": "myinstance_defaultuser",
 "type": "chaincode",
 "callbackURL": "http://10.168.108.17:9000",
 "expires": "1m", 
 "callbackTLSCerts": { 
   "caCert": "",
   "clientCert": "",
   "keyPassword": "" },
 "txid": "b1c11242383212cfdcca97d68efc0b3641436b1845a9b4c6e822cf6099ca49ee",
 "chaincode": "obcs-example02",
 "seek": "oldest", 
 "block": 0,
 "event": ".*"
}

ペイロード・ファイルの各パラメータは、次を表しています。

表-ペイロードのパラメータ

パラメータ 用途 指定できる値
role ユーザー・ロール  
type イベント・タイプ
  • transaction: 特定のトランザクションIDに対するイベントに関連します。
  • chaincode: チェーンコードから生成されたイベントを返します。
  • block: ブロック内のデータ全体を返します。
  • filteredtransaction: ブロック番号と各トランザクションIDを、チェーンコード・イベントの検証コードおよびペイロードとともに返します。
callbackURL イベントのコールバック・アドレス。 有効なHTTP/HTTPSアドレスである必要があります。
expires 現在のリクエスト時以降、サブスクライブ済イベントが期限切れになるまでの時間。
  • <xx>M<xx>w<xx>d<xx>h<xx>m:
    • xxは有効な整数です。
    • Mは月を表します。
    • wは週です。
    • dは日です。
    • hは時間です
    • mは分を示します。
  • 設定されていない場合、デフォルト値は1d (1日)です。
callbackTLSCerts TLS証明書をコールバックします。 次のものが含まれます。
  • caCert (オプション): コールバック・サーバーのCA証明書。コールバック・サーバーを検証するために、RESTプロキシによって使用されます。証明書はPEM形式で作成されている必要があります。
  • clientCert (オプション): コールバック・サーバーへの接続時に、RESTプロキシの証明書として使用されるクライアント証明書。コールバック・サーバーで相互認証を有効にする場合にのみ必要です。証明書はPEM形式で、秘密キーとクライアント証明書を連結したものであることが必要です。
  • keyPassword (オプション): 暗号化された秘密キーのパスワード。base64でエンコードされている必要があり、clientCertに暗号化された秘密キーが含まれる場合にのみ必要です。
txid トランザクションID  
chaincode サブスクライブしているチェーンコード・アプリケーションのチェーンコードID。  
seek 配信されるブロック。
  • oldest: すべてのブロックを最も古いブロックから配信します
  • newest: 最新のブロックを配信します
  • from: blockパラメータに指定されたブロック番号から配信します。

このオプションは、typeblockまたはfilteredblockの場合にのみ使用できます。

block ブロック番号 この値は、seekfromの場合に使用されます。
event チェーンコードのイベント・フィルタ *は、すべてのイベントを指定します。

ノート:

Blockchainインスタンスのrestproxy値は、インスタンス・コンソールの「ノード」タブから確認できます。

レスポンス本文の例

JSON形式のレスポンス本文のコンテンツの例を次に示します。

{
   "returnCode": "Success",
   "error": "",
   "result": {
       "subid": "obpuser-dc28b77c-7e58-4b09-ae23-b2c01fa01b70"
   }
}
先頭に戻る