[英]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 至少有兩個問題。
請嘗試以下更改:
def main(request):
作為 func main
的第一行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.