跳到主要内容
翻译页面

本页面由 AI 辅助从英文翻译而来。如两者存在差异,以英文版本为准。

创建基础设施模板

另请参阅:
[exec] [INSERT] [SHOW] [ 使用变量 ]

在 StackQL 中,云资源通过 INSERT 语句部署。可以使用 SHOW INSERT 命令为不同的云资源生成 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 }}'
;