簡體   English   中英

Python 谷歌雲 Function

[英]Python Google Cloud Function

我很難獲得在 GCP 函數中運行的最簡單的 Python 代碼,非常感謝有人指出我可能遺漏的內容。

我的 Python 非常基本,看起來像:

主文件

import requests

def main():
    """
    Simple
    """

    print("got here ok")
    print("----all good.")

    response = requests.get('https://swapi.dev/api/people/1')
    print(response.text)

if __name__ == "__main__":
    main()

從字面上看,我想要(開始)是能夠觸發 function 並將其發送到 go 並帶回一大塊 Z466DEEC76ECDF5FCA6D38571F6324D54 並打印到某個地方(做到了)。 就這樣。

我正在使用觸發器和 cloudbuild.yaml 觸發 function 構建:

steps:
- name: 'gcr.io/cloud-builders/gcloud'
  args:
  - functions
  - deploy
  - main
  - --source=.
  - --trigger-http
  - --runtime=python38
  - --allow-unauthenticated

git 推送將這些文件連同 requirements.txt(其中包含請求 package 及其傳遞性)一起放置完全沒有問題。 觸發器在按下時觸發,並且 function 構建正常,據我所知,它會導致綠色的小勾號圖標。

我的期望是,在 function 建成后,我應該能夠通過點擊 URL 谷歌提供的或通過 ZC1C425268E68385D1AB5074C17A94F1 中的測試實用程序來觸發它。

不管我做什么,它只會導致 500 服務器錯誤,並且日志中沒有跡象表明 function 已實際運行。

我會錯過什么?

主要的 function 至少有兩個問題。

  1. 它沒有任何參數
  2. 它不返回任何東西

請嘗試以下更改:

  1. def main(request):作為 func main的第一行
  2. return "success"作為 func main的最后一行(或您選擇的響應)。

請參閱此鏈接以查看示例。 注意Ensure HTTP functions send an HTTP response部分以及包含request (flask.Request): The request object

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM