翻訳ページ
このページは AI の支援を受けて英語から翻訳されています。内容が異なる場合は英語版が正となります。
EXEC
プロバイダーのリソースメソッド(組み込みプロシージャ)を実行します。
関連項目:
[ StackQL リソース階層 ]
構文
execStatement::=
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';