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

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

インフラストラクチャテンプレートの作成

関連項目:
[exec] [INSERT] [SHOW] [ 変数の使用 ]

StackQL では、INSERT 文を使用してクラウドリソースをデプロイします。さまざまなクラウドリソースの INSERT テンプレートは、SHOW INSERT コマンドを使用して生成できます。

SHOW INSERT コマンドを使用した INSERT テンプレートの生成​

テンプレートを生成する例を次に示します。

SHOW INSERT INTO google.compute.addresses;

これは、次のように shell から実行することも、exec コマンドを使用して実行することもできます。

./stackql exec 'show insert into google.compute.addresses' --output text --hideheaders

戻り値:

INSERT INTO google.compute.addresses(
project,
region,
data__address,
data__addressType,
data__description,
data__ipVersion,
data__name,
data__network,
data__networkTier,
data__prefixLength,
data__purpose,
data__subnetwork
)
SELECT
'{{ .values.project }}',
'{{ .values.region }}',
'{{ .values.data__address }}',
'{{ .values.data__addressType }}',
'{{ .values.data__description }}',
'{{ .values.data__ipVersion }}',
'{{ .values.data__name }}',
'{{ .values.data__network }}',
'{{ .values.data__networkTier }}',
{{ .values.data__prefixLength }},
'{{ .values.data__purpose }}',
'{{ .values.data__subnetwork }}'

このテンプレートを json または jsonnet のデータファイルと組み合わせて使用すると、実行時に値を指定できます。詳細については、変数の使用を参照してください。

必須パラメーターのみを含む INSERT テンプレートの生成​

必須の属性のみを含む StackQL の INSERT テンプレートを生成するには、次のように /*+ REQUIRED */ クエリヒントを使用します。

SHOW INSERT /*+ REQUIRED */ INTO google.compute.instances;

これは、次のように shell から実行することも、exec コマンドを使用して実行することもできます。

./stackql exec 'show insert /*+ REQUIRED */ into compute.instances' --output text -H

戻り値:

INSERT INTO google.compute.instances(
project,
zone,
data__machineType,
data__name
)
SELECT
'{{ .values.project }}',
'{{ .values.zone }}',
'{{ .values.data__machineType }}',
'{{ .values.data__name }}'
;