Delen via


Quickstart: De runtime-opties van de JavaScript-uitvoeringsengine bijwerken in een Azure Managed CCF-resource

Soms is het nodig om de runtime-opties van de CCF JavaScript-interpreter bij te werken om de uitvoeringsduur van de aanvraag uit te breiden of de heap- of stacktoewijzingsgrootte bij te werken. In deze handleiding leert u hoe u de runtime-instellingen bijwerkt. Deze zelfstudie bouwt voort op de Azure Managed CCF-resource (Managed CCF) die is gemaakt in de quickstart: Een Azure Managed CCF-resource maken met behulp van de zelfstudie over Azure Portal .

Vereisten

De service-id downloaden

Een beheerde CCF-resource van Azure heeft een unieke identiteit met de naam service-identiteit. Het wordt vertegenwoordigd door een certificaat en wordt gemaakt tijdens het maken van de resource. Elk afzonderlijk knooppunt dat deel uitmaakt van de Azure Managed CCF-resource, heeft het zelfondertekende certificaat, dat wordt goedgekeurd door de service-id, waarmee vertrouwen wordt vastgesteld.

Klanten wordt aangeraden het service-id-certificaat te downloaden en te gebruiken om een TLS-verbinding tot stand te brengen bij interactie met de service. Met de volgende opdracht wordt het certificaat gedownload en opgeslagen in service_cert.pem.

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

De runtime-opties bijwerken

Notitie

Vervang bij het uitvoeren van de opdrachten op een Mac door date -Is date +%FT%T%z.

  1. Bereid een set_js_runtime_options.json-bestand voor en verzend het met behulp van deze opdracht:
    $ 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. De volgende stap is het accepteren van het voorstel door een stemming in te dienen.
    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. Herhaal de bovenstaande stap voor elk lid in de beheerde CCF-resource.
  4. Nadat het voorstel is geaccepteerd, worden de runtime-opties toegepast op de volgende aanvragen.

Volgende stappen