イベント・サブスクリプションのリスト
get
/restproxy/api/v2/channels/{channelName}/event-subscriptions
すべてのイベント・サブスクリプションをリストしますこのエンドポイントは、指定したチャネルでブロックチェーン・ユーザーがサブスクライブしているすべてのイベントのリストを生成するために使用されます。
リクエスト
サポートされるメディア・タイプ
- application/json
パス・パラメータ
- channelName(必須): string
チャネルのID
問合せパラメータ
- role: string
使用するHyperledger Fabric登録の名前
- subscription-id: string
操作が成功した場合のサブスクリプションのID
- user-id: string
ユーザー名。Basic認証で定義されているユーザーと同じである必要があります。
レスポンス
サポートされるメディア・タイプ
- application/json
200レスポンス
操作の成功
ルート・スキーマ: schema
型:
ソースの表示
object
- error: string
デフォルト値:操作が失敗した場合のエラー・メッセージ
- result: array result
- returnCode(必須): string
許容値:
[ "Success", "Failure" ]
ネストしたスキーマ: EventSubscriptionQuery
型:
ソースの表示
object
- block: integer(int64)
ブロックの番号
- callbackTLSCerts: object callbackTLSCerts
- callbackURL: string
コールバックするURL
- chaincode: string
チェーンコード名
- event: string
イベント名
- expires: string
サブスクリプションの有効期限
- maxCallbackRetry: integer
再試行の最大数再試行間隔は、指数関数的バックオフに基づいて最大2分まで長くなります。
- oauth: object oauth
コールバック・サーバーがOAuth2で保護されている場合、オプションでOAuthアプリケーションの詳細を指定します。クライアント資格証明およびリフレッシュ・トークン・フローのみがサポートされています。
- role: string
使用するHyperledger Fabric登録
- seek: string
許容値:
[ "oldest", "newest", "from" ]
イベントの開始位置。typeが"block"および"filteredblock"の場合にのみ使用されます - txid: string
トランザクションのID
- type: string
許容値:
[ "block", "filteredblock", "transaction", "chaincode" ]
サブスクライブするイベント・タイプ
ネストしたスキーマ: oauth
型:
object
コールバック・サーバーがOAuth2で保護されている場合、オプションでOAuthアプリケーションの詳細を指定します。クライアント資格証明およびリフレッシュ・トークン・フローのみがサポートされています。
ソースの表示
- authInHeader: boolean
ヘッダーで認可パラメータを渡す必要がある場合はtrueに設定します。
- clientID: string
OAuthアプリケーションのクライアントID。クライアント資格証明フローには必須で、リフレッシュ・トークン・フローにはオプションです。
- scopes: array scopes
トークンに関連付けるスコープのリスト
- tokenUrl: string
アクセス・トークンを生成するためのコールが行われるURL。
400レスポンス
不正なリクエスト
401レスポンス
未認可
403レスポンス
禁止されています
404レスポンス
無効なパラメータ
500レスポンス
サービス使用不可
例
このエンドポイントは、指定したチャネルでBlockchainユーザーがサブスクライブしているすべてのイベントのリストを生成するために使用されます。
次の例では、cURLを使用してRESTリソースに対するGETリクエストを発行し、イベント・サブスクリプションのリストを取得する方法を示しています。
curl -v -u <username>:<password> -X GET \ "<restproxy of your Blockchain instance>/api/v2/channels/<channelName>/event-subscriptions?role=<role>&user-id=<username>&subscription-id=<subscription ID>&channelName=<channel_name>"
たとえば、
curl -v -u obpuser:<password> -X GET \ "https://myvm.oracle.com:10001/restproxy/api/v2/channels/default/event-subscriptions?role=myinstance_defaultuser&user-id=obpuser&subscription-id=obpuser-dc28b77c-7e58-4b09-ae23-b2c01fa01b70&channelName=default"
ノート:
Blockchainインスタンスのrestproxy値は、インスタンス・コンソールの「ノード」タブから確認できます。レスポンス本文の例
JSON形式のレスポンス本文のコンテンツの例を次に示します。
{ "returnCode": "Success", "error": "", "result": { "subid": "obpuser-b75db132-605a-41a1-86d2-d5be9237c826", "type": "chaincode", "callbackURL": "http://10.168.108.17:9000", "callbackTLSCerts": {}, "expires": "1m", "expireTime": "2021-08-20T04:33:53+0000", "txid": "b1c11242383212cfdcca97d68efc0b3641436b1845a9b4c6e822cf6099ca49ee", "chaincode": "obcs-example02", "event": ".*", "seek": "newest", "block": 0 } }
説明:
subid
は、サブスクリプションIDです。type
は、イベント・タイプを指定します。この例では、chaincode
は、チェーンコードから生成されたイベントが返されることを示しています。callbackURL
は、有効なHTTP/HTTPSアドレスであるイベント・コールバック・アドレスを指定します。expires
は、このサブスクリプションが現在のリクエスト時から1か月後に期限切れになることを示します。txid
は、トランザクションIDです。chaincode
は、サブスクライブしているチェーンコード・アプリケーションのチェーンコードIDです。event
はチェーンコード・イベント・フィルタです。*
は、ユーザーが指定されたチェーンコード内のすべてのイベントにサブスクライブしていることを示します。seek
は、配信するブロックを指定します。この例では、newest
は、このサブスクリプションが最新のブロックを配信することを示しています。このオプションは、transaction
を除くすべてのtype
パラメータに使用できます。block
は、ブロック番号を示します。