メインコンテンツまでスキップ
翻訳ページ

このページは AI の支援を受けて英語から翻訳されています。内容が異なる場合は英語版が正となります。

EXEC

プロバイダーのリソースメソッド(組み込みプロシージャ)を実行します。

関連項目:
[ StackQL リソース階層 ]


構文​

execStatement::=

EXECqueryHintmultipartIdentifier'.'providerMethodNameparameterExpressionparameterExpression';'

 
 

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

クエリヒント​

EXEC コマンドでサポートされているクエリヒントを以下にまとめます。

ヒント説明
/*+ SHOWRESULTS */結果セットを返します。データを返すメソッド向けですが、可能な場合は SELECT を使用してください。
/*+ AWAIT */操作をブロッキング(同期)にし、長時間実行される操作(ミューテーション操作など)のスクリプト制御を提供します。注記:すべてのプロバイダーでサポートされているわけではありません

例​

Google Compute Engine インスタンスを停止する​

認証済みのセッションで EXEC 文を実行し、実行中の Compute Engine インスタンスを停止します。

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

Google Compute Engine インスタンスを起動する(同期オプション)​

認証済みのセッションで EXEC 文を実行し、停止中の Compute Engine インスタンスを起動します。/*+ AWAIT */ クエリヒントを使用して、操作をブロッキング(同期)にします。

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

AWS EC2 インスタンスを起動および停止する​

認証済みのセッションで EXEC 文を実行し、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';

Google Compute Engine インスタンスにディスクをアタッチする​

認証済みのセッションで EXEC 文を実行し、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
}';

Azure Spot VM のエビクションをシミュレートする​

EXEC 文を実行し、Azure Spot VM インスタンスのエビクションをシミュレートします。

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