java系统找不到指定文件怎么解决
273
2022-09-30
Azure新知识科普 - App Service 现在支持直接mount blob storage或者Azure file
感觉现在很多功能真的是越做越方便了,很多以前要通过很复杂操作实现的功能,现在都可以鼠标点点就搞定,比如说这次要介绍App Service的功能
在使用App Service的时候,如果想要把数据持久化保存的话,要不就存储在数据库里,要不就放在blob storage这种对象存储或者Azure file里,这其实是很正常的。而以前如果想把数据存储到blob storage或者Azure file中,是需要靠一些其他手段的,比如要通过blob storage提供的API在代码层面拿到相关的token,这样才能操作blob storage,但是现在已经不用那么麻烦了,App Service现在可以直接mount blob storage或者Azure file,这样在存取文件的时候,直接按照路径操作就OK了
这项功能是一段时间以前GA的,不过现在还不能说很完整,仍然有一些限制存在
对于Linux 容器支持以下功能:
使用服务终结点和专用链接对存储帐户进行安全访问(当使用 VNET 集成时)。 Azure 文件存储(读取/写入)。 Azure Blob(只读)。 每个应用最多 5 个装入点。
对于Windows 容器支持以下功能:
使用专用链接对存储帐户进行安全访问(当使用 VNET 集成时)。 服务终结点支持当前不可用。 Azure 文件存储(读取/写入)。 每个应用最多 5 个装入点。 驱动器号分配(C: 到 Z:)。
总体来说,对于Azure File的支持会更好一点,Windows/Linux,读写都可以支持。考虑到网络安全上的设计,可以再结合app service的VNET Integration功能,以及private endpoint,以更安全的方式连接到storage account,至于VNET Integration是啥可以以后再说
下边来初步尝试下,大概的环境很简单,基本如下:
Blob Storage * 1Linux App Service * 1
在尝试mount之前,首先先SSH到Linux App Service,创建一个/formount文件夹,之后可以把blob storage mount到这里,方法也很简单,直接在app service的configuration里,找到path mappings,新建一个mount
这里因为没使用private endpoint之类的技术,所以直接用basic即可
创建完mount之后,app service会自动restart,之后再SSH进入到app service内,即可看到之前创建的文件夹里,已经出现了blob中的内容
而且写入是没有权限的,只能读取,这和上边介绍的限制是一致的
而通过df -h可以发现,mount文件实际上是通过blobfuse实现的,这东西并不支持Windows,难怪Windows的app service不支持mount blob了
至于blobfuse是什么,之后会有博客再单独介绍的,mount Azure File的方法是基本一样的,操作起来非常简单,比通过API的方法要快多了,不过API的好处是不会受权限的限制,最起码能把文件写到blob里,算是各有各的优势吧
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~