0

我在 terraform 中定义了一个流分析作业,但是如果对作业进行了更改并且它当前正在运行,则会terraform apply失败。有没有办法检测 terraform 中作业的更改,如果有,请停止作业,然后在完成后重新启动作业apply

我可以运行一个 powershell 脚本来停止和启动它apply,但如果可能的话,我想避免每次运行时停止/启动作业。我正在看这篇文章,但它看起来不适用于这种情况。

4

1 回答 1

0

寻找同样的东西!我正在考虑使用一些额外的步骤来启动和停止流分析工作。为此,您需要在用于供应的系统上安装 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,这意味着作业将从停止时开始处理。否则,您正在更新的窗口中未处理的事件可能会丢失。

于 2020-09-30T13:00:17.610 回答