首页 > 解决方案 > 如何在 Google Cloud Functions 上部署基本的 Python 函数(带有包)

问题描述

我正在尝试部署一个基本的 python 函数,该函数通过 Google Functions(浏览器编辑器)使用 HTTP 触发器调用 api。

这是我要部署的功能:

import requests
import json

def call_api():

    API_URL = 'https://some-api.com/v1'
    API_TOKEN = 'some-api-token'

    result = requests.get(API_URL+"/contacts?access_token="+API_TOKEN).json()
    print(result)

call_api()

我的 requirements.txt 包含:

requests==2.21.0

但是,每次我尝试部署该功能时,都会出现以下错误:

Unknown resource type

我究竟做错了什么?该功能在我的本地机器上运行良好。

标签: python-3.xhttpgoogle-cloud-platformgoogle-cloud-functions

解决方案


有关详细信息,请参阅编写 HTTP 函数。这是我在查看您的代码时想到的:

  • 缺少request参数 ( def call_api(request):)
  • 最后缺少返回(您不需要打印它,只需将其返回给调用者即可)
  • 在文件末尾调用call_api()只会在本地调用函数,CF不需要这个

确保您正在部署使用gcloud functions deploy call_api --runtime python37 --trigger-http


推荐阅读