概要
Blockchain WorkbenchメッセージングAPIを使って、コントラクトに対してアクションを実行します。
コントラクトは既に作られている前提です。
Workbenchのバージョンは1.6.0です。
関連記事
Azure Blockchain WorkbenchでHello Blockchain!
Azure Blockchain WorkbenchのメッセージングAPIを使ってコントラクトを作成する
構成
メッセージングAPIにメッセージを送信するために、ストアドプロシージャを実行したり、加工が必要だったりするので、Logic Appsを使っています。
ストアドプロシージャ作成
Azure Blockchain WorkbenchのメッセージングAPIを使ってコントラクトを作成する を参考に、ストアドプロシージャを作成してください。
Logic Apps作成
- Azure Blockchain WorkbenchのメッセージングAPIを使ってコントラクトを作成する を参考に、以下の状態まで作成する。
SELECT TOP 1 ContractLedgerIdentifier
FROM [dbo].[vwContractProperty]
WHERE ApplicationName = 'HelloBlockchain'
AND WorkflowPropertyValue = N'こんにちわ'
ORDER BY Version DESC
ここはアプリケーションによってだいぶ変わります。要はコントラクトを一意に識別する「ContractLedgerIdentifier」を取り出す必要があります。
今回はWorkflowPropertyValueに、コントラクトを作成したときに指定したリクエストメッセージを直書きしています。
複数バージョンがあることを想定し、Version列を降順で並び替えて一番最初の行を持ってくることで最新バージョンに特定しています。
{
"requestId":"@{variables('requestId')}",
"userChainIdentifier":"@{items('For_each_2')?['ChainIdentifier']}",
"contractLedgerIdentifier":"@{items('For_each')?['ContractLedgerIdentifier']}",
"workflowFunctionName":"SendResponse",
"parameters": [
{
"name":"responseMessage",
"value":"れすぽんす"
}
],
"connectionId":1,
"messageSchemaVersion":"1.0.0",
"messageName":"CreateContractActionRequest"
}