我在terraform中定义了一个流分析作业,但是如果对该作业进行了更改,并且它当前正在运行,则terraform apply将失败。有没有一种方法可以检测terraform中作业的更改,如果有更改,则停止作业,然后在apply完成后重新启动作业?
我可以在apply上运行powershell脚本来停止和启动它,但如果可能的话,我希望避免每次运行apply时都停止/启动作业。我正在看this的文章,但它看起来在这种情况下不会起作用。
发布于 2020-09-30 21:00:18
寻找同样的东西!我正在考虑使用一些额外的步骤来启动和停止流分析作业。为此,您需要在用于配置的系统上安装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,这意味着作业将从它停止的时间开始处理。否则,您正在更新的窗口内的未处理事件可能会丢失。
https://stackoverflow.com/questions/61414013
复制相似问题