这8个月来,我一直跟Azure打交道。解决数据管理问题,比如ETL、验证和治理,这些都是常规操作。
一开始,我挺兴奋的。Azure 就是 Azure——有明确立场、对开发者很友好并且很容易上手。
我在Udemy上学习了几个关于如何使用Azure Data Factory和Azure Synapse进行基本数据管理配置的课程,觉得自己能够应对任何难题。
我也相当有信心去创建 Azure 推荐的数据架构。
然后我看到了她的脸,现在我信了。
但是……azure里的某些东西太复杂了——而且文档只是把我们引向了死胡同,最后发现是死路……有时。
最近在使用Azure时遇到的一些挑战,特别是最近在搭建数据和ETL管道时。
这些挑战:这些挑战
IAM 设置过程真是.. 哇哦.. 一点都不简单设置用户。设置用户组。设置资源组。设置这么多的组。我花了大量时间仅仅设置这些组。以及访问权限和权限级别。结果发现我原本以为会给予数据工厂访问Blob存储权限的操作实际上并没有赋予我访问Blob存储的权限。
我知道你可能在想什么。不,这其实不难。我们已经在 Azure 中设置用户、角色和权限很多年了。这真的很简单。不过,我发现它并没有我想象的那么直观。最终还是搞清楚了,说白了,它并没有那么直观。
配置Azure Purview一开始看起来很简单……但实际上,操作起来却没那么简单我一直在遇到一些关于权限的晦涩问题,尤其是当我试图查看我运行的扫描报告时。我已经在我的Purview里给自己设定了几乎所有内容的权限,但还是被阻止了。文档没有给我任何有用的建议。
然后我问了GPT,它似乎知道我该做什么。我还了解到当我们创建Purview中的Data Domain时,这些数据领域有自己的权限。至少,错误信息至少应该告诉我哪里出了问题。但什么也没有。我在这个问题上浪费了几个小时。
创建一个基于Python的Azure函数花了我两天!我试图按照文档用VS Code开发功能。在VS Code中安装了Azure插件后,登录并尝试推送我的功能代码——遇到了一个奇怪的ENOENT
错误,完全不知道是怎么回事。我在Google和ChatGPT上搜索了一番,但没有找到解决办法。我查阅了论坛、Stack Overflow、文档等,最后在一个Medium文章中看到有提到,我们需要一个function.json文件。没想到我把代码放在了根目录,而实际上,功能的Python文件应该放在它自己的文件夹里。真是见鬼!
终于搞定啦,在忙活了几天之后,我的功能终于可以用了。这些文档一点帮助也没有。为什么他们就不能提供一个简单的向导来帮我们创建函数呢?他们知道怎么设置。这没必要那么难嘛!
Azure 数据工厂无法使用自宿集成运行时不过,它只能做数据复制的活动,比如这样的操作。
他们也不会告诉你这一点——AzureIntegrationRuntime 和 AutoresolveIntegrationRuntimes 的 IP 地址是从每个区域的 IP 地址池中随机选取的,并且这些 IP 地址会定期更新。
那问题在哪呢?
你知道,如果你的数据工厂需要使用集成运行时跟第三方系统交流,而对方坚决要求只允许白名单中的IP地址访问,那么他们就不得不添加一大串CIDR块到白名单中。这将是个不小的麻烦。
这是链接,指向该列表,下载 Azure IP 范围和服务标签(点击可下载)。
动手吧。所以我们无法使用AIR来连接到第三方系统,顺便提一句,这个第三方系统是Snowflake。相反,我只能使用自承载集成运行时,这些运行时的性能比AIR差一些。
我知道你会说AIR主要用于内部管道——仅限于Azure内的管道。然而,这一点并不显而易见,他们也没有让这一点变得容易明了。
此外,他们还应该支持可扩展集成运行时环境与像Databricks和Snowflake这样的平台集成,以避免源系统成为瓶颈。我不确定,我不想让源系统成为瓶颈。我也不知道,我不希望源系统成为瓶颈。
在调试模式下运行数据工厂(Data Factory)……会比较慢。至少有几天。管道启动并运行在调试上花费了一些时间。(它等了一会儿才开始运行计算)
而且日志也没有告诉我具体的状态——至少不是明确地表明。这只是一个通用的状态更新,我们并不真正清楚管道里发生了什么。
一个很好的例子是我有一天尝试调试一个数据流映射时的经历。它卡了大约9分钟后告诉我它失败了。由于某个逻辑上的错误。花了9分钟我才意识到我犯错了。
还有一次,这件事发生过
它就这样卡了2.5个小时;没有任何日志告诉我它在搞什么鬼。我只好把这个进程给结束了,然后重新启动,结果下一次它只用了15分钟就搞定。
确保你的存储服务和数据管道位于同一个区域我们发现了一个艰难的事实,即你的管道系统需要存储在同一个区域,否则我们会遇到奇怪的“IP未找到”错误。不清楚这是否是设计上的要求。
这句话其实没啥关系哦(引用的话)
我们知道你已经试过了,因为你遇到了问题。
Azure 要想变得宽容且友好,还有很长的路要走。也许这也还好。哎,如果平台仍然这么复杂,人工智能就不可能取代我们。
然而,我还是要直接说,我还是很爱 Azure 这个平台。它虽然有些地方做得不对,但做得对的地方却多了不止一倍。
由于我们提前解决了初期问题,我们在Azure上大规模地构建了一些极其复杂的系统。它运行得极其稳定。它具有很好的监控功能和应用洞察,如Azure Monitor和Application Insights。
一旦你习惯了,玩 Purview 就很好玩。实际上,找你的数据,并把它们分类整理真的很有趣。把你的数据有序地分类放到层级和文件夹里,感觉——真的很爽!
从现在看来,我可能有些地方搞错了。文档没有说明我是否真的错了。也许你们中的一些人会告诉我,我只是多虑了……还是有点妄想。非常想听听大家的意见!
留下评论并告诉我你们有没有在使用Azure时遇到过类似的问题。
跟我来 查看更多相关文章🤖AI/机器学习 (ML)
👨💻 科技
👩🎓 职业发展建议(职场菜鸟必读)
📲 用户体验感
🏆 领导
我也
✅ 职业发展咨询 — https://topmate.io/ritesh_shergill/149890
✅ 帮助初创企业作为兼职技术合伙人 — https://topmate.io/ritesh_shergill/193786