我正在使用terraform在Azure上部署一个数据块工作区,其中包括一个全局init脚本。没什么特别的--工作区可以通过一个私有端点访问,初始化脚本depends_on
同时访问工作区和私有端点。整个过程使用现有的服务主体进行身份验证。
当我从头开始terraform apply
时,我从init脚本创建中获得以下结果:
<log preamble> POST /api/2.0/global-init-scripts
> {
> "enabled": true,
> "name": "the-init-script.sh",
> "position": 0,
> "script": "some base 64... (1234 more bytes)"
> }
< HTTP/2.0 503 Service Unavailable
< {
< "error_code": "TEMPORARILY_UNAVAILABLE",
< "message": "Missing credentials to access Azure container"
< }: timestamp=<a timestamp>
这种情况持续了几分钟,然后我才能从现有状态中得到一个没有错误的terraform apply
。
就谷歌而言,这是第一次有人在公共互联网上发布这个错误信息,我找不到任何相关的东西,似乎指向一个类似的问题。
这显然是某种传播问题,因为它在几分钟后就消失了,但我很想弄清楚是否有其他东西可以依赖,使这个计划干净地应用
1条答案
按热度按时间ozxc1zmp1#
这是already reported在github问题的Databricks Terraform提供商-在某些情况下,事情传播得不够快。
记者发帖说,他们能够解决这个问题,并通过在创建工作空间和添加全局init脚本之间添加延迟来获得干净的应用程序-他们的答案是:
我们已经通过使用
on_create
30 s超时添加time_sleep
和depends_on
工作区ID解决了这个问题。全局init脚本等待30秒,其中depends_on
thistime_sleep
。