Freigeben über


Schnellstart: Aktualisieren der Laufzeitoptionen des JavaScript-Ausführungsmoduls für eine Azure Managed CCF-Ressource

Manchmal ist es notwendig, die Laufzeitoptionen des CCF-JavaScript-Interpreters zu aktualisieren, um die Dauer der Anforderungsausführung zu erweitern oder die Heap- oder Stapelzuweisungsgröße zu aktualisieren. In dieser Anleitung erfahren Sie, wie Sie die Laufzeiteinstellungen aktualisieren. Dieses Lernprogramm baut auf der Azure Managed CCF (Managed CCF)-Ressource auf, die in der Schnellstartanleitung erstellt wurde: Erstellen einer Azure Managed CCF-Ressource mithilfe des Azure-Portal Lernprogramms.

Voraussetzungen

Herunterladen der Dienstidentität

Eine von Azure verwaltete CCF-Ressource verfügt über eine eindeutige Identität, die als Dienstidentität bezeichnet wird. Sie wird durch ein Zertifikat dargestellt und während der Ressourcenerstellung erstellt. Jeder einzelne Knoten, der Teil der Azure Managed CCF-Ressource ist, verfügt über sein selbstsigniertes Zertifikat, das von der Dienstidentität unterstützt wird, wodurch eine Vertrauensstellung dafür hergestellt wird.

Kunden werden empfohlen, das Dienstidentitätszertifikat herunterzuladen und es zu verwenden, um eine TLS-Verbindung herzustellen, wenn sie mit dem Dienst interagieren. Der folgende Befehl lädt das Zertifikat herunter und speichert es in service_cert.pem.

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

Aktualisieren der Laufzeitoptionen

Hinweis

Ersetzen Sie beim Ausführen der Befehle auf einem Mac date -Is durch date +%FT%T%z.

  1. Bereiten Sie eine set_js_runtime_options.json-Datei vor, und übermitteln Sie sie mit diesem Befehl:
    $ 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. Der nächste Schritt besteht darin, den Vorschlag durch Einreichung einer Abstimmung anzunehmen.
    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. Wiederholen Sie den obigen Schritt für jedes Mitglied in der verwalteten CCF-Ressource.
  4. Nachdem der Vorschlag angenommen wurde, werden die Laufzeitoptionen auf die nachfolgenden Anforderungen angewendet.

Nächste Schritte