Hinzufügen von Knoten zur Python Firebase -FunktionPython

Python-Programme
Anonymous
 Hinzufügen von Knoten zur Python Firebase -Funktion

Post by Anonymous »

Ich versuche, eine Firebase -Funktion in Python bereitzustellen. In der Datei main.py definiere ich einen grundlegenden Flask -Server, dieses main.py importiert fetch.py ​​ (ein anderes Datei -same -Verzeichnis - mit meinem Quellcode). Die Datei fetch.py ​​ verwendet das Python JavaScript -Paket. Ich habe auch JavaScript zu Anforderungen hinzugefügt.txt. Dieses Paket benötigt Node.js in der Umgebung. Gibt es eine einfache Möglichkeit, wie ich Node.js hinzufügen kann? Aufrufen dieses Bereitstellungsbefehls < /p>

Code: Select all

gcloud functions deploy fetchPython \
--gen2 \
--runtime=python311 \
--region=us-central1 \
--entry-point=app \
--trigger-http \
--allow-unauthenticated
< /code>
Ergebnisse in diesem < /p>

Fehler: (gcloud.Functions.Deploy) OperationError: Code = 3, Message = konnte Cloud -Lauf -Service -Fetchpython, Container HealthCheck nicht erstellen oder aktualisieren. Revision "Fetchpython-00003-muh" ist nicht fertig und kann den Verkehr nicht dienen. Der von Benutzer bereitgestellte Container konnte den von der Port = 8080-Umgebungsvariablen im Rahmen des zugewiesenen Timeout bereitgestellten Ports nicht starten und anhören. Dies kann passieren, wenn der Containeranschluss falsch konfiguriert ist oder wenn die Zeitüberschreitung zu kurz ist. Das Zeitlimit für das Gesundheitswesen kann verlängert werden. Protokolle für diese Revision können weitere Informationen enthalten.LEVEL    NAME         EXECUTION_ID  TIME_UTC                 LOG
E        fetchpython                2025-04-17 21:54:58.739  Default STARTUP TCP probe failed 1 time consecutively for container "worker" on port 8080.  The instance was not started.
Connection failed with status CANCELLED.
fetchpython                2025-04-17 21:54:58.649  Exception: Timed out accessing 'console'
WARNING  fetchpython                2025-04-17 21:54:58.649  Container called exit(1).
fetchpython                2025-04-17 21:54:58.345      raise Exception(f"Timed out accessing '{attr}'")
fetchpython                2025-04-17 21:54:58.345    File "/layers/google.python.pip/pip/lib/python3.11/site-packages/javascript/proxy.py", line 43, in ipc
fetchpython                2025-04-17 21:54:58.345             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fetchpython                2025-04-17 21:54:58.345      resp = self.ipc("get", ffid, method)
fetchpython                2025-04-17 21:54:58.345    File "/layers/google.python.pip/pip/lib/python3.11/site-packages/javascript/proxy.py", line 150, in getProp
fetchpython                2025-04-17 21:54:58.345                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fetchpython                2025-04-17 21:54:58.345      methodType, val = self._exe.getProp(self._pffid, attr)
fetchpython                2025-04-17 21:54:58.343    File "/layers/google.python.pip/pip/lib/python3.11/site-packages/javascript/proxy.py", line 230, in __getattr__
fetchpython                2025-04-17 21:54:58.343                ^^^^^^^^^^^^^^^^^^^^^^^^^
fetchpython                2025-04-17 21:54:58.343      console = config.global_jsi.console  # TODO: Remove this in 1.0
fetchpython                2025-04-17 21:54:58.343    File "/layers/google.python.pip/pip/lib/python3.11/site-packages/javascript/__init__.py", line 18, in init
fetchpython                2025-04-17 21:54:58.343      init()
fetchpython                2025-04-17 21:54:58.341    File "/layers/google.python.pip/pip/lib/python3.11/site-packages/javascript/__init__.py", line 27, in 
fetchpython                2025-04-17 21:54:58.341      from javascript import require
fetchpython                2025-04-17 21:54:58.341    File "/workspace/fetch.py", line 2, in 
fetchpython                2025-04-17 21:54:58.341      from fetch import KeyFetcher
fetchpython                2025-04-17 21:54:58.341    File "/workspace/main.py", line 3, in 
main.py

Code: Select all

from flask import Flask, request, jsonify
from google.cloud import firestore
from fetch import KeyFetcher
import os

app = Flask(__name__)
db = firestore.Client()

@app.route('/keys', methods=['POST'])
def call_fetch():
data = request.json
version = data.get("version")

if not version:
return jsonify({"error": "Version is required"}), 401

try:
result = KeyFetcher(version).fetch_keys()
except Exception as e:
return jsonify({"parse error": e}), 401

return jsonify({"result": result}), 200

if __name__ == '__main__':
port = int(os.environ.get('PORT', 8080))
app.run(host='0.0.0.0', port=port)
fetch.py

Code: Select all

import base64, os, re, tempfile, threading, esprima
from javascript import require
from functools import wraps
from logger import Logger
from wasm import Wasm
import jsbeautifier
import requests
import binascii
import sys, os
import base64
import re

# My code here
< /code>
rquirments.txt
firebase_functions~=0.1.0
flask
google-cloud-firestore
jsbeautifier
requests
esprima
javascript
colorama

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post