最近我发现了谷歌云服务来部署我的python分析库。
所以在我的例子中,我有几个模块,比如A、B和C。每个模块在每次初始化中都有不同的参数,它们可以运行几天。
维护虚拟机很困难,因为每次都要启动/停止它们。我认为云函数会很好,因为它可以用http查询作为参数调用,但函数在最多6分钟左右后超时。我一直在考虑的最后一个选项是将我的docker映像部署到Cloud Run,但在这种情况下,我找不到任何方法像在云函数中那样传递参数。。。
所以我的问题是;有没有什么方法可以用我想要的参数(主要是字符串数组(调用Cloud Run映像?
或者,考虑到体系结构,有什么更好的建议吗?
提前感谢
有什么方法可以用我想要的调用Cloud Run映像吗参数?
是的,在调用Cloud Run应用程序时,将这些字符串添加为编码的查询参数。
注意:谷歌接受的最长GET URL是2048个字符。创建HTTP请求链接时还需要考虑其他限制。将查询字符串长度限制为1024个字符。请在此处查看我的评论。
如果数据比Google在HTTP GET或POST方法中支持的数据长,请在云存储上存储一个文件,然后在查询参数中提供指向该位置的链接。
当您构建一个容器时,您的目标是使容器静态且自包含。提供环境变量的灵活性是由Docker命令行执行的,这在Cloud Run中是不存在的。因此,您必须通过另一种方法提供动态环境配置。
如果您的目标是计算密集型应用程序,那么Cloud Run不是最佳选择,请使用计算引擎。编写启动虚拟机、启动程序和自动关闭虚拟机的脚本是相当容易的。计算引擎还支持运行容器。在我的环境中,我在计算引擎上安装Docker,然后使用脚本化的SSH命令通过Docker命令远程运行容器。易于设置和配置。