Azure Blockchain Workbench 메시징 API를 사용하여 계약 작업 수행

개요



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를 사용하여 계약 만들기 을 참고로 다음의 상태까지 작성한다.


  • 다음 단계에서 SQL Server → SQL 쿼리 실행을 선택합니다.
  • 다음을 입력합니다.
  • SELECT TOP 1 ContractLedgerIdentifier
      FROM [dbo].[vwContractProperty]
      WHERE ApplicationName = 'HelloBlockchain'
        AND WorkflowPropertyValue = N'こんにちわ'
      ORDER BY Version DESC
    

    여기는 응용 프로그램에 따라 많이 바뀝니다. 요점은 계약을 고유하게 식별하는 "ContractLedgerIdentifier"를 검색해야합니다.
    이번에는 WorkflowPropertyValue에 계약을 만들 때 지정한 요청 메시지를 직접 씁니다.
    여러 버전이 있다고 가정하고 Version 열을 내림차순으로 정렬하여 첫 번째 행을 가져 와서 최신 버전을 식별합니다.
  • 다음 단계에서 서비스 버스 → 메시지 보내기 작업을 선택합니다.
  • 접속명은 적당하게, Service Bus는 Blockchain Workbench 작성시에 만들어진 것을 선택합니다.
  • Service Bus 정책은 ReadWriteSharedAccessKey를 선택합니다.
  • 대기열은 ingressqueue를 선택합니다.
  • 세션 ID에서 저장 프로시저의 동적 콘텐츠와 SQL 쿼리의 동적 콘텐츠를 선택합니다.
  • 그러면 다음과 같이 For-Each 문에 이중으로 들어갑니다.
  • 이 상태에서 세션 ID에 동적 컨텐츠 [requestId]를 선택합니다.
  • 메시지 내용은 다음 JSON을 작성합니다.
  • {
      "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"
    }
    
  • 워크플로를 저장하고 실행합니다.
  • HelloBlockchain 어플리케이션의 컨트랙트에서, 응답 액션이 실행되면 OK입니다.
  • 좋은 웹페이지 즐겨찾기