Démarrage rapide : Mettre à jour les options d’exécution du moteur d’exécution JavaScript sur une ressource Azure Managed CCF
Il est parfois nécessaire de mettre à jour les options d’exécution de l’interpréteur JavaScript CCF pour prolonger la durée d’exécution de la requête ou mettre à jour la taille d’allocation de tas ou de pile. Dans ce guide pratique, vous allez apprendre à mettre à jour les paramètres d’exécution. Ce tutoriel s’appuie sur la ressource Azure Managed CCF (Managed CCF) créée dans le guide de démarrage rapide : Créer une ressource Azure Managed CCF à l’aide du didacticiel Portail Azure.
Prérequis
- Python 3+.
- Installez la dernière version du package Python CCF.
Télécharger l’identité du service
Une ressource CCF managée Azure a une identité unique appelée identité de service. Il est représenté par un certificat et est créé lors de la création de la ressource. Chaque nœud individuel qui fait partie de la ressource Azure Managed CCF a son certificat auto-signé, approuvé par l’identité de service, qui établit l’approbation sur celui-ci.
Les clients sont recommandés de télécharger le certificat d’identité de service et de l’utiliser pour établir une connexion TLS lors de l’interaction avec le service. La commande suivante télécharge le certificat et l’enregistre dans service_cert.pem.
curl https://identity.confidential-ledger.core.azure.com/ledgerIdentity/confidentialbillingapp --silent | jq ' .ledgerTlsCertificate' | xargs echo -e > service_cert.pem
Mettre à jour les options d’exécution
Remarque
Lors de l’exécution des commandes sur un Mac, remplacez date -Is
par date +%FT%T%z
.
- Préparez un fichier set_js_runtime_options.json et envoyez-le à l’aide de cette commande :
$ 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’) )
- L’étape suivante consiste à accepter la proposition en soumettant un vote.
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
- Répétez l’étape ci-dessus pour chaque membre de la ressource CCF gérée.
- Une fois la proposition acceptée, les options d’exécution sont appliquées aux demandes suivantes.