Aller au contenu principal
Page traduite

Cette page a été traduite de l'anglais avec l'aide de l'IA. En cas de divergence, la version anglaise fait référence.

EXEC

Exécute une méthode de ressource d'un provider (procédure intégrée).

Voir aussi :
[ Hiérarchie des ressources StackQL ]


Syntaxe​

execStatement::=

EXECqueryHintmultipartIdentifier'.'providerMethodNameparameterExpressionparameterExpression';'

 
 

EXEC [ queryHint ] <multipartIdentifier>.<methodName> [ <methodArguments> ];

Indications de requête​

Les indications de requête prises en charge par la commande EXEC sont résumées ci-dessous :

IndicationDescription
/*+ SHOWRESULTS */Renvoie le jeu de résultats, conçue pour les méthodes qui renvoient des données ; utilisez toutefois SELECT si possible.
/*+ AWAIT */Rend l'opération bloquante (synchrone), permet de contrôler le déroulement des scripts pour les opérations de longue durée (par exemple les opérations de mutation). Remarque : elle n'est pas prise en charge par tous les providers

Exemples​

Arrêter une instance Google Compute Engine​

Dans une session authentifiée, exécutez une instruction EXEC pour arrêter une instance Compute Engine en cours d'exécution.

-- Stop a running Compute Engine resource instance
EXEC google.compute.instances.stop
@instance = 'demo-instance-1',
@project = 'stackql-demo',
@zone = 'australia-southeast1-a';

Démarrer une instance Google Compute Engine (option synchrone)​

Dans une session authentifiée, exécutez une instruction EXEC pour démarrer une instance Compute Engine arrêtée ; l'indication de requête /*+ AWAIT */ rend l'opération bloquante (synchrone).

-- Start a stopped Compute Engine resource instance
EXEC /*+ AWAIT */ google.compute.instances.stop
@instance = 'demo-instance-1',
@project = 'stackql-demo',
@zone = 'australia-southeast1-a';

Démarrer et arrêter une instance AWS EC2​

Dans une session authentifiée, exécutez une instruction EXEC pour démarrer une instance AWS EC2.

-- Start an EC2 instance
EXEC aws.ec2.instances.start_instances
@InstanceId = 'i-0fc989cf4efcd8b88',
@region = 'ap-southeast-2';
-- Stop an EC2 instance
EXEC aws.ec2.instances.stop_instances
@InstanceId = 'i-0fc989cf4efcd8b88',
@region = 'ap-southeast-2';

Attacher un disque à une instance Google Compute Engine​

Dans une session authentifiée, exécutez une instruction EXEC pour attacher un disque à une instance Compute Engine.

-- Attach a Disk resource to a Compute Engine instance
EXEC google.compute.instances.attachDisk
@zone='australia-southeast1-a',
@project='stackql-demo',
@instance='demo-instance-1'
@@json=
'{
"source": "projects/stackql-demo/zones/australia-southeast1-a/disks/test10gbdisk2",
"boot": false
}';

Simuler l'éviction d'une VM Azure Spot​

Exécutez une instruction EXEC pour simuler l'éviction d'une instance de VM Azure Spot.

exec azure.compute.virtual_machines.simulate_eviction
@subscription_id = '0123456789',
@resource_group_name = 'vmss-flex',
@vm_name = 'vmss-flex-manual-1';