Функция Cloud (Run) не запускается при Cloud Run — контейнер не удалось запустить и прослушать порт = 8080 после недавнеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Функция Cloud (Run) не запускается при Cloud Run — контейнер не удалось запустить и прослушать порт = 8080 после недавне

Сообщение Anonymous »

Я развертываю облачную функцию Python Google (Gen2) (недавно переименованную в функцию Cloud Run), которая прекрасно работает с той же структурой и логикой до изменений, но сейчас просто не работает.
И я проверил, что сервер отлично работает локально 8080. Но при попытке развертывания в облаке происходит сбой. Эта функция представляет собой простую конечную точку HTTP, которая действует как веб-перехватчик:
она срабатывает, когда мои службы вызывают эту конечную точку, а мой веб-перехватчик выполняет некоторые действия Firebase и возвращает ответ JSON.
Локально:
functions-framework --source main.py --target hi_kata --debug
* Serving Flask app 'hi_kata'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:8080
* Running on http://10.241.125.3:8080

Постоянно появляется эта ошибка и ничего больше...

message=Не удалось создать или обновить Kata службы Cloud Run -v3, проверка работоспособности контейнера не удалась. Версия '' не готова и не может обслуживать трафик. Контейнер, предоставленный пользователем, не удалось запустить, и не удалось прослушать p. Версия '' не готова и не может обслуживать трафик. Предоставленному пользователем контейнеру не удалось запуститься и прослушать порт, определенный переменной среды PORT=8080, в течение выделенного времени ожидания. Это может произойти, если порт контейнера настроен неправильно или время ожидания слишком мало. Тайм-аут проверки работоспособности можно продлить. Журналы этой версии могут содержать дополнительную информацию.

И видел это в облачных службах запуска:

Обратная трассировка (последний вызов — последний):
. ( /layers/google.python.pip/pip/bin/functions-framework:8 )

Вот моя структура вкратце:import os
import json
from flask import Flask, jsonify
import functions_framework
from google.oauth2 import id_token
from google.auth.transport import requests

import firebase_admin
from firebase_admin import credentials, firestore, db
from openai import AzureOpenAI

firebase_admin.initialize_app()
db_fs = firestore.client()

def some_function():
pass

def some_function1():
pass

@functions_framework.http
def hi_kata(request):

try:
auth_header = request.headers.get('Authorization')
if not auth_header:
print("Missing Authorization header")
return 'Unauthorized - Missing token', 401

id_token_str = auth_header.split(' ')[1]
# My auth Logic here
audience = " "

# Auth token
try:
id_info = id_token.verify_oauth2_token(
id_token_str,
requests.Request(),
audience
)
print(f"Token verified for user: {id_info.get('email', 'unknown')}")

except ValueError as e:
print(f"Token verification failed: {str(e)}")
return 'Unauthorized - Invalid token', 401

# Steps 2.

request_json = request.get_json(silent=True)
if not request_json:
return 'No request data provided', 400

try:
# ....

return jsonify(response_to_my_function), 200

except KeyError as e:
print(f"Missing required field: {str(e)}")
return f'Invalid request format: missing {str(e)}', 400

except Exception as e:
print(f"Unexpected error: {str(e)}")
return 'Internal server error', 500

мой Requirement.txt (версия Python 3.11)
functions-framework==3.8.2
google-cloud-secret-manager==2.16.3
Flask==2.2.5
google-auth
google-auth-httplib2
firebase-admin ==6.5.0
google-cloud-firestore==2.16.0


Подробнее здесь: https://stackoverflow.com/questions/793 ... -start-and
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»