다음을 통해 공유


빠른 시작: Azure 관리 CCF 리소스에서 JavaScript 실행 엔진의 런타임 옵션 업데이트

요청 실행 기간을 연장하거나 힙 또는 스택 할당 크기를 업데이트하려면 CCF JavaScript 인터프리터의 런타임 옵션을 업데이트해야 하는 경우가 있습니다. 이 안내 방법에서는 런타임 설정을 업데이트하는 방법을 알아봅니다. 이 자습서는 빠른 시작: Azure Portal을 사용하여 Azure 관리 CCF 리소스 만들기 자습서에서 만든 Azure 관리 CCF(관리 CCF) 리소스를 기반으로 합니다.

필수 조건

서비스 ID 다운로드

Azure 관리 CCF 리소스에는 서비스 ID라는 고유한 ID가 있습니다. 이는 인증서로 표시되며 리소스 생성 중 만들어집니다. Azure 관리 CCF 리소스의 일부인 모든 개별 노드에는 서비스 ID로 보증되는 자체 서명된 인증서가 있으며, 이를 통해 신뢰가 설정됩니다.

고객은 서비스 ID 인증서를 다운로드하고 이를 사용하여 서비스와 상호 작용할 때 TLS 연결을 설정하는 것이 좋습니다. 다음 명령은 인증서를 다운로드하여 service_cert.pem에 저장합니다.

curl https://identity.confidential-ledger.core.azure.com/ledgerIdentity/confidentialbillingapp --silent | jq ' .ledgerTlsCertificate' | xargs echo -e > service_cert.pem

런타임 옵션 업데이트

참고 항목

Mac에서 명령을 실행할 때 date -Isdate +%FT%T%z로 바꿉니다.

  1. set_js_runtime_options.json 파일을 준비하고 다음 명령을 사용하여 제출합니다.
    $ cat set_js_runtime_options.json
    {
      "actions": [
        {
          "name": "set_js_runtime_options",
          "args": {
            "max_heap_bytes": 1024,
            "max_stack_bytes": 1024,
            "max_execution_time_ms": 5000, // increase the request execution time
            "log_exception_details": false,
            "return_exception_details": false
          }
        }
      ]
    }
    
    $ proposal_id=$( (ccf_cose_sign1 --content set_js_runtime_options.json --signing-cert member0_cert.pem --signing-key member0_privk.pem --ccf-gov-msg-type proposal --ccf-gov-msg-created_at `date -Is` | curl https://confidentialbillingapp.confidential-ledger.azure.com/gov/proposals -H 'Content-Type: application/cose' --data-binary @- --cacert service_cert.pem | jq -r ‘.proposal_id’) )
    
  2. 다음 단계는 응답을 제출하여 제안을 수락하는 것입니다.
    cat vote_accept.json
    {
      "ballot": "export function vote (proposal, proposerId) { return true }"
    }
    
    ccf_cose_sign1 --content vote_accept.json --signing-cert member0_cert.pem --signing-key member0_privk.pem --ccf-gov-msg-type ballot --ccf-gov-msg-created_at `date -Is` --ccf-gov-msg-proposal_id $proposal_id | curl https://confidentialbillingapp.confidential-ledger.azure.com/gov/proposals/$proposal_id/ballots -H 'Content-Type: application/cose' --data-binary @- --cacert service_cert.pem
    
  3. 관리 CCF 리소스의 모든 멤버에 대해 위 단계를 반복합니다.
  4. 제안이 수락되면 런타임 옵션이 후속 요청에 적용됩니다.

다음 단계