Snabbstart: Uppdatera körningsalternativen för JavaScript-körningsmotorn på en Azure Managed CCF-resurs
Ibland är det nödvändigt att uppdatera körningsalternativen för CCF JavaScript-tolken för att förlänga varaktigheten för körningen av begäran eller uppdatera heap- eller stackallokeringsstorleken. I den här guiden får du lära dig att uppdatera körningsinställningarna. Den här självstudien bygger på resursen Azure Managed CCF (Managed CCF) som skapades i snabbstarten : Skapa en Azure Managed CCF-resurs med hjälp av självstudien om Azure-portalen .
Förutsättningar
- Python 3+.
- Installera den senaste versionen av CCF Python-paketet.
Ladda ned tjänstidentiteten
En Azure Managed CCF-resurs har en unik identitet som kallas tjänstidentitet. Det representeras av ett certifikat och skapas när resursen skapas. Varje enskild nod som ingår i Azure Managed CCF-resursen har sitt självsignerade certifikat, som stöds av tjänstidentiteten, som upprättar förtroende för den.
Kunder rekommenderas att ladda ned tjänstidentitetscertifikatet och använda det för att upprätta en TLS-anslutning när de interagerar med tjänsten. Följande kommando laddar ned certifikatet och sparar det i service_cert.pem.
curl https://identity.confidential-ledger.core.azure.com/ledgerIdentity/confidentialbillingapp --silent | jq ' .ledgerTlsCertificate' | xargs echo -e > service_cert.pem
Uppdatera körningsalternativen
Kommentar
När du kör kommandona på en Mac ersätter du date -Is
med date +%FT%T%z
.
- Förbered en set_js_runtime_options.json-fil och skicka den med det här kommandot:
$ 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’) )
- Nästa steg är att godkänna förslaget genom att lägga fram en omröstning.
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
- Upprepa ovanstående steg för varje medlem i den hanterade CCF-resursen.
- När förslaget har godkänts tillämpas körningsalternativen på efterföljande begäranden.