我希望将 Google VM 连接到网站
I'm looking to connect a Google VM to a website
我需要对我的问题进行反思、设想和记录。
我写了一个 python 脚本来根据 API 计算一些东西并将结果导出到 CSV 文件中。然后,我使用 JavaScript 脚本在建筑网站上显示来自此 CSV 文件的数据。
我需要为我的网站提供最新数据,所以我在 Google 云平台(Google 计算引擎)中打开了一个 VM 实例,并自动将 Crontab 作业设置为 运行 我的 python 脚本。现在每天执行计算并将结果导出到 CSV 文件,但存储在此 VM 实例中。
我的目标是:如何在我的网站上获取我的 CSV 文件? CSV 始终在虚拟机上,我不知道如何将我的 JavaScript 脚本与虚拟机通信。我必须直接与 VM 通信吗?我是否必须在(服务器、API 等)之前完成另一个步骤?
我无法在 Internet 上找到针对我的问题的具体解决方案。
提前致谢。
我建议您采用不同于使用 VM 计算和存储 CSV 的方法。
我们的想法是使用 Python Cloud Function,即 运行 by Cloud Scheduler and Pub/Sub.
此函数将生成您的 CSV 文件,该文件将存储在云存储中。 Here 您可以找到有关如何使用 Python.
将对象上传到云存储的示例
然后,您需要让您的网站能够在需要时访问云存储中的该 CSV 文件。正如@guillaumeblaquiere 所指出的,确切的方式将取决于您网站的托管位置:特别是,它将限制您需要用于下载数据的身份验证机制。 GCP 中的文档提供了关于此事的几个 examples。
Google Cloud 的 documentation 提供了建议架构的示例。
我发现 an article 以某种方式描述了我建议的设置。
请考虑查看上述不同产品的成本。
How can I get my CSV file on my website?
通过使您的 python 脚本将 CSV 文件输出到您网站的根文件夹中。
例如,如果您是 运行 apache,您的根文件夹很可能位于 /var/www/html/...
如果脚本是从另一台机器(不是您网站所在的机器)生成的,那么我会托管它并让托管您网站的服务器通过 cronjob 获取它。
基本上:
如果您的 CSV 生成自与将使用它的网站相同的机器 - 只需将其输出到网站的文件夹
如果您的 CSV 是从另一台机器生成的,请将其公开访问并让您网站的机器 cronjob 在生成该 CSV 几分钟后获取该 CSV。
我需要对我的问题进行反思、设想和记录。
我写了一个 python 脚本来根据 API 计算一些东西并将结果导出到 CSV 文件中。然后,我使用 JavaScript 脚本在建筑网站上显示来自此 CSV 文件的数据。 我需要为我的网站提供最新数据,所以我在 Google 云平台(Google 计算引擎)中打开了一个 VM 实例,并自动将 Crontab 作业设置为 运行 我的 python 脚本。现在每天执行计算并将结果导出到 CSV 文件,但存储在此 VM 实例中。
我的目标是:如何在我的网站上获取我的 CSV 文件? CSV 始终在虚拟机上,我不知道如何将我的 JavaScript 脚本与虚拟机通信。我必须直接与 VM 通信吗?我是否必须在(服务器、API 等)之前完成另一个步骤?
我无法在 Internet 上找到针对我的问题的具体解决方案。
提前致谢。
我建议您采用不同于使用 VM 计算和存储 CSV 的方法。
我们的想法是使用 Python Cloud Function,即 运行 by Cloud Scheduler and Pub/Sub.
此函数将生成您的 CSV 文件,该文件将存储在云存储中。 Here 您可以找到有关如何使用 Python.
将对象上传到云存储的示例然后,您需要让您的网站能够在需要时访问云存储中的该 CSV 文件。正如@guillaumeblaquiere 所指出的,确切的方式将取决于您网站的托管位置:特别是,它将限制您需要用于下载数据的身份验证机制。 GCP 中的文档提供了关于此事的几个 examples。
Google Cloud 的 documentation 提供了建议架构的示例。
我发现 an article 以某种方式描述了我建议的设置。
请考虑查看上述不同产品的成本。
How can I get my CSV file on my website?
通过使您的 python 脚本将 CSV 文件输出到您网站的根文件夹中。
例如,如果您是 运行 apache,您的根文件夹很可能位于 /var/www/html/...
如果脚本是从另一台机器(不是您网站所在的机器)生成的,那么我会托管它并让托管您网站的服务器通过 cronjob 获取它。
基本上: 如果您的 CSV 生成自与将使用它的网站相同的机器 - 只需将其输出到网站的文件夹
如果您的 CSV 是从另一台机器生成的,请将其公开访问并让您网站的机器 cronjob 在生成该 CSV 几分钟后获取该 CSV。