微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GCP 云函数可以访问写入到 /src/main/resources 吗?

如何解决GCP 云函数可以访问写入到 /src/main/resources 吗?

我有一个触发 jar 的云函数,它开始良好,直到我尝试在 /src/main/resources 中写入文件,在那里我可以读取,在我尝试编写程序失败并抛出异常的那一刻.

那么我可以直接写入 /src/main/resources 还是必须实现 Cloud Storage 库?

参考文献:

谢谢大家。

解决方法

没有 Java 代码(无论平台如何)可以写入该“目录”,因为该目录的 是这些文件最终位于 jar 文件结束的同一位置并使用 MyClass.class.getResource 阅读它们。如果你写过 new File("src/..."),你就会搞砸('src'?在生产环境中,显然没有 'src')。

这种抽象(MyClass.class.getResource 和朋友)故意提供了无法编写任何内容的方法,因为 jar 文件不是可写的。

在磁盘上存储可变数据的正确位置远不是您的 jar 文件;对于最终用户系统,通常写在 System.getProperty("user.home") 中,然后从那里写一个子目录,例如 .yourapp,或者询问用户哪个数据目录是合适的;不同的操作系统有不同的“风格”(linux 需要 /var 或 ~,苹果需要 ~/Library/Application Support 或 /Library/Application Support,windows 到处都是,但可能需要 HOME/My Documents 等),并且唯一的其中一个共同点是“用户主目录之外的某个子目录”。

特别是对于云,你必须实现云存储库;运行您的谷歌云应用程序的实际底层操作系统系统是短暂的(它可能会消失在您身上,它的资源会被扔进虚无中,如果您的应用程序被写成这是一件坏事,那么您的应用程序就会被破坏)。>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。