Terraform Azure 流分析作业 - 开始/停止
Posted
技术标签:
【中文标题】Terraform Azure 流分析作业 - 开始/停止【英文标题】:Terraform Azure Stream Analytics Job - Start/Stop 【发布时间】:2020-04-24 17:26:18 【问题描述】:我在 terraform 中定义了一个流分析作业,但如果对作业进行了更改并且它当前正在运行,terraform apply
将失败。有没有办法在 terraform 中检测作业的变化,如果有,请停止作业,然后在 apply
完成后重新启动作业?
我可以运行一个 powershell 脚本来停止并在 apply
上启动它,但如果可能的话,我希望避免在每次运行 apply 时停止/启动作业。我正在查看this 文章,但它看起来不适用于这种情况。
【问题讨论】:
【参考方案1】:寻找同样的东西!我正在考虑使用一些额外的步骤来启动和停止流分析工作。为此,您需要在用于供应的系统上安装 az cli。当一切正常时,我会更新我的答案。
更新:我找到了一种可行的方法,尽管我希望 Terraform 自己管理它。我使用 Github 操作,但这些步骤可以应用于任何环境:
# Stop the job, so it can be updated.
# Do not fail when job does not exist.
az stream-analytics job stop \
--resource-group <RESOURCE_GROUP> \
--name <JOB_NAME> || true
# Apply changes
terraform apply
# Start the job again
az stream-analytics job start \
--resource-group <RESOURCE_GROUP> \
--name <JOB_NAME> \
--output-start-mode LastOutputEventTime
注意,不要忘记--output-start-mode LastOutputEventTime
,这意味着作业将从停止时开始处理。否则,您正在更新的窗口中未处理的事件可能会丢失。
【讨论】:
如果 terraform apply 失败会怎样?以上是关于Terraform Azure 流分析作业 - 开始/停止的主要内容,如果未能解决你的问题,请参考以下文章
使用流分析作业查询从 EventHub 中过滤 Azure 事件