首页 > 解决方案 > 如何在谷歌云功能中运行exe文件?

问题描述

我的本地机器上有一个 Windows 可执行文件(net_audio_client.exe)。当我在我的 pycharm IDE 上运行以下 python 代码时,它工作正常。

def hello_world(request):
    request_json = request.get_json()
    if request.args and 'message' in request.args:
        return request.args.get('message')
    elif request_json and 'message' in request_json:
        return request_json['message']
    else:
        print(subprocess.Popen("net_audio_client -user xxx -pass xxx -mac macaddr", shell=True,
                               stdout=subprocess.PIPE).stdout.read())
        return f'Hello World!'

当我将其压缩并将其上传到谷歌云功能时,相同的代码不起作用。我收到以下错误:

/bin/sh: 1: net_audio_client: not found

我遵循的堆栈问题:

  1. 如何在 GCP 云功能中加载本地资产?
  2. 如何在 Google Cloud Function 中运行子进程?

谢谢

标签: pythongoogle-cloud-platformgoogle-cloud-functions

解决方案


Cloud Functions、Cloud Run 和 App Engine 仅支持 Linux 运行时。您不能在它们上运行 Windows 二进制文件。

如果您想使用容器和 Windows 二进制文件,可以使用 Windows 部署 GKE 集群。或者直接使用 Compute Engine。


推荐阅读