Probleme beim Aufrufen von Funktionen

Erfahren Sie, wie Sie Probleme beim Aufrufen von in OCI Functions bereitgestellten Funktionen beheben.

Diese Probleme treten möglicherweise beim Aufrufen von Funktionen auf, die in OCI Functions bereitgestellt sind.

Beim Aufrufen einer Funktion werden eine FunctionInvokeRequestContentTooLarge-Meldung und ein 413-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeRequestContentTooLarge","message":"Request content too large"}
Fn: Error invoking function. status: 413 message: Request content too large

Die Nachricht gibt an, dass der Inhalt der Anforderung an OCI Functions die maximal zulässige Größe von 6 MB überschreitet.

Wenn dieser Fehler angezeigt wird, prüfen Sie, ob der Inhalt der Anforderung die maximal zulässige Größe nicht überschreitet.

Beim Aufrufen einer Funktion werden die Meldung TooManyRequests und ein 429-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"TooManyRequests","message":"User-rate limit exceeded"}
Fn: Error invoking function. status: 429 message: User-rate limit exceeded

Die Meldung gibt an, dass OCI Functions bereits die maximal zulässige Anzahl an Anforderungen für Ihren Mandanten verarbeitet und keine andere Anforderung akzeptieren kann.

Weitere Informationen zur proaktiven Antizipation und Vermeidung dieses Fehlers finden Sie unter Speicherauslastung und -verfügbarkeit für OCI Functions überwachen.

Wenn dieser Fehler angezeigt wird, warten Sie einige Minuten, bevor Sie die Funktion erneut aufrufen. Alternativ oder wenn das Problem weiterhin besteht, kontaktieren Sie uns, um den Gesamtspeicher für die Ausführung gleichzeitiger Funktionen zu erhöhen.

Beim Aufrufen einer Funktion meldet der Client einen Timeout. In den Logs der Funktion wird ein 444-Fehler angezeigt.

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, kann der Client einen Timeout melden.

Weitere Informationen finden Sie in den Logs der Funktion (siehe Funktionslogs speichern und anzeigen). Wenn die Logs eine Statusnachricht 444 enthalten, wurde die Verbindung zwischen dem Client und OCI Functions während der Funktionsausführung unterbrochen. Wenn in den Logs der Funktion eine Statusmeldung 444 angezeigt wird, rufen Sie die Funktion erneut auf.

Beachten Sie, dass die Art und Weise, wie Sie eine Funktion aufrufen, auch die maximale Zeit bestimmt, für die diese Funktion ausgeführt werden kann. Weitere Informationen finden Sie unter Funktionen aufrufen.

Wenn Sie eine Funktion aufrufen, werden die Meldung "Funktion nicht erfolgreich" und ein 502-Fehler zurückgegeben

Wenn ein Problem mit dem Code einer Funktion auftritt, wird beim Aufrufen der Funktion folgender Fehler angezeigt:

Fn: Error invoking function. status: 502 message: Function failed

Um das Problem mit dem Code der Funktion zu untersuchen, prüfen Sie die von der Funktion ausgegebenen Logs. Der Oracle Cloud Infrastructure-Loggingservice ist die Standardoption und die empfohlene Option für den Zugriff auf, die Suche und das Speichern von Funktionslogs. Beachten Sie, dass die Funktion Druckanweisungen enthalten muss, um Logs für eine Funktion zu speichern und anzuzeigen. Weitere Informationen finden Sie unter Funktionslogs speichern und anzeigen.

Beim Aufrufen einer Funktion werden die Meldung "FunctionInvokeSyslogUnavailable" und ein 502-Fehler zurückgegeben

Mit OCI Functions können Sie die Logs einer Funktion an ein externes Loggingziel (wie Papertrail) senden, indem Sie eine Syslog-URL für die Anwendung festlegen. Siehe Funktionslogs speichern und anzeigen.

Falls die Syslog-URL ungültig oder nicht erreichbar ist, wird beim Aufrufen der Funktion folgender Fehler angezeigt:

{"code":"FunctionInvokeSyslogUnavailable","message":"Syslog endpoint unavailable"}

Fn: Error invoking function. status: 502 message: Syslog endpoint unavailable

So bestätigen Sie, dass die URL des externen Loggingziels die Fehlerursache ist:

  1. Aktualisieren Sie die Anwendung, um die Festlegung aufzuheben, dass die Syslog-URL die Fn-Projekt-CLI verwendet. Beispiel: Geben Sie Folgendes ein:
    fn update app helloworld-app --syslog-url ''
  2. Stellen Sie die auszuführende Funktion bereit. Siehe Funktionen erstellen und bereitstellen.
  3. Rufen Sie die Funktion auf. Siehe Funktionen aufrufen.

Wenn die Funktion erfolgreich ausgeführt wird, ist die URL des externen Loggingziels von dem Subnetz aus, in dem die Funktion ausgeführt wird, nicht erreichbar. Prüfen Sie Folgendes:

  • Die URL des externen Loggingziels ist gültig.
  • Die URL des externen Loggingziels ist öffentlich zugänglich.
  • Das Subnetz, in dem die Funktion ausgeführt wird, hat ausgehend Zugriff auf das öffentliche Internet.

Beim Aufrufen einer Funktion werden die Meldung "FunctionInvokeImageNotAvailable" und ein 502-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, ruft OCI Functions das entsprechende Image aus Oracle Cloud Infrastructure Registry mit dem VCN und den Subnetzen ab, die für die Anwendung angegeben sind.

Wenn OCI Functions das Image nicht abrufen kann, wird beim Aufrufen einer Funktion die folgende Nachricht zurückgegeben:

{"code":"FunctionInvokeImageNotAvailable","message":"Failed to pull function image"}

Fn: Error invoking function. status: 502 message: Failed to pull function image

Mögliche Lösungen:

  • Prüfen Sie, ob das für die Funktion angegebene Image noch am angegebenen Speicherort in Oracle Cloud Infrastructure Registry vorhanden ist.
  • Prüfen Sie, ob Oracle Cloud Infrastructure verfügbar ist (diese Meldung wird zurückgegeben, wenn Oracle Cloud Infrastructure unerwarteterweise nicht verfügbar ist).
  • Prüfen Sie, ob das VCN ein Internetgateway oder ein Servicegateway enthält. Damit OCI Functions auf Oracle Cloud Infrastructure Registry zugreifen kann, um ein Image abzurufen, muss das VCN wie folgt ein Internetgateway oder ein Servicegateway enthalten:

    • Wenn öffentliche Subnetze für die Anwendung angegeben wurden, muss das VCN auch ein Internetgateway enthalten. Eine Routentabelle muss eine Routingregel enthalten, die auf das Internetgateway abzielt, wobei für die Ziel-CIDR-Block-Eigenschaft 0.0.0.0/0 angegeben sein muss. Eine Sicherheitsliste muss eine zustandsbehaftete Egress-Regel enthalten, die den Zugriff auf Oracle Cloud Infrastructure Registry zulässt (z.B. wenn die Eigenschaft Zieltyp auf Service, die Eigenschaft Zielservice auf All <region> services In Oracle Services Network und die Eigenschaft IP-Protokoll auf All gesetzt sind).
    • Wenn private Subnetze für die Anwendung angegeben wurden, muss das VCN auch ein Servicegateway enthalten. Das Servicegateway muss so eingerichtet sein, dass es den Zugriff auf All <region> Services In Oracle Services Network erlaubt. Eine Routentabelle muss eine Routingregel enthalten, die auf das Servicegateway abzielt, wobei die Zielservice-Eigenschaft auf All <region> Services In Oracle Services Network gesetzt sein muss. Eine Sicherheitsliste muss eine zustandsbehaftete Egress-Regel enthalten, die den Zugriff auf Oracle Cloud Infrastructure Registry zulässt (z.B. wenn die Eigenschaft Zieltyp auf Service, die Eigenschaft Zielservice auf All <region> services In Oracle Services Network und die Eigenschaft IP-Protokoll auf All gesetzt sind).

    Wenn noch kein Internetgateway oder Servicegateway für das VCN definiert wurde, definieren Sie jetzt eines.

Beim Aufrufen einer Funktion werden die Meldung "FunctionInvokeSubnetOutOfIPs" und ein 502-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeSubnetOutOfIPs","message":"subnet ocid1.subnet.oc1.phx.aaaaaaaac... is out of IPs"}
Fn: Error invoking function. status: 502 message: subnet ocid1.subnet.oc1.phx.aaaaaaaac... is out of IPs

Wenn dieser Fehler angezeigt wird, prüfen Sie, ob jedes Subnetz im VCN mindestens die erforderliche Mindestanzahl an freien IP-Adressen hat, die unter VCN und Subnetze zur Verwendung mit OCI Functions erstellen, wenn diese nicht bereits vorhanden sind angegeben wurden.

Beim Aufrufen einer Funktion werden die Meldung "FunctionInvokeSubnetNotAvailable" und ein 502-Fehler (aufgrund eines Subnetzproblems) zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeSubnetNotAvailable","message":"subnet ocid1.subnet.oc1.phx.aaaaaaaac... does not exist or Oracle Functions is not authorized to use it"}
Fn: Error invoking function. status: 502 message: subnet ocid1.subnet.oc1.phx.aaaaaaaac... does not exist or Oracle Functions is not authorized to use it

Wenn dieser Fehler angezeigt wird, prüfen Sie, ob das für die Anwendung angegebene Subnetz noch vorhanden ist.

Beim Aufrufen einer Funktion werden die Meldung "FunctionInvokeSubnetNotAvailable" und ein 502-Fehler (aufgrund eines DHCP-Optionenproblems) zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeSubnetNotAvailable","message":"dhcp options ocid1.dhcpoptions.oc1.phx.aaaaaaaac... does not exist or Oracle Functions is not authorized to use it"}
Fn: Error invoking function. status: 502 message: dhcp options ocid1.dhcpoptions.oc1.phx.aaaaaaaac... does not exist or Oracle Functions is not authorized to use it

Wenn dieser Fehler angezeigt wird, prüfen Sie, ob die Gruppe der DHCP-Optionen in dem für die Anwendung angegebenen VCN noch vorhanden ist.

Beim Aufrufen einer Funktion werden die Meldung FunctionInvokeResponseBodyTooLarge und ein 502-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeResponseBodyTooLarge","message":"function response body too large"}
Fn: Error invoking function. status: 502 message: function response body too large

Die Meldung gibt an, dass die durch Ausführung der Funktion zurückgegebene Antwort die maximal zulässige Größe von 6 MB überschreitet.

Wenn dieser Fehler angezeigt wird, prüfen Sie den Funktionscode, und reduzieren Sie die Größe der Antworten, die von der Funktion zurückgegeben werden.

Beim Aufrufen einer Funktion werden die Meldung FunctionInvokeResponseHeaderTooLarge und ein 502-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeResponseHeaderTooLarge","message":"function response header too large"}
Fn: Error invoking function. status: 502 message: function response body too large

Die Meldung gibt an, dass der durch Ausführung der Funktion zurückgegebene Antwortheader die maximal zulässige Größe überschreitet.

Wenn dieser Fehler auftritt, prüfen Sie den Funktionscode, und reduzieren Sie die Anzahl und/oder Größe aller benutzerdefinierten Header, die von der Funktion zurückgegeben werden.

Beim Aufrufen einer Funktion werden die Meldung FunctionInvokeTooManyMatchingDGs und ein 502-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":" FunctionInvokeTooManyMatchingDGs","message":"Unable to get resource authorization token due to Function resource matching too many Dynamic Groups. Update your Dynamic Groups' matching rules"}
Fn: Error invoking function. status: 502 message: Unable to get resource authorization token due to Function resource matching too many Dynamic Groups. Update your Dynamic Groups' matching rules

Die Meldung gibt an, dass die Funktion zu dynamischeren Gruppen gehört, als die unterstützte maximale Anzahl.

Wenn dieser Fehler angezeigt wird, reduzieren Sie die Anzahl der dynamischen Gruppen, zu denen die Funktion gehört, indem Sie die Übereinstimmungsregeln für dynamische Gruppen aktualisieren. Informationen zur maximalen Anzahl dynamischer Gruppen, zu denen eine Funktion gehören kann, finden Sie unter Limits für dynamische Gruppen (der für eine einzelne Compute-Instanz angezeigte Grenzwert gilt auch für eine Funktion).

Beim Aufrufen einer Funktion werden die Meldung FunctionInvokeExecutionError und ein 502-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeExecutionError","message":"error receiving function response"}
Fn: Error invoking function. status: 502 message: error receiving function response

Die Meldung gibt an, dass die Antwort bei der Ausführung der Funktion einen Fehler zurückgibt.

Wenn dieser Fehler unerwartet auftritt, prüfen Sie den Funktionscode, um die Bedingungen zu verstehen, unter denen die Funktion nicht erfolgreich ausgeführt wird.

Beim Aufrufen einer Funktion werden die Meldung FunctionInvokeExecutionFailed und ein 502-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeExecutionFailed","message":"function failed"}
Fn: Error invoking function. status: 502 message: function failed

Die Meldung zeigt an, dass während der Funktionsausführung ein Fehler erkannt wurde, der höchstwahrscheinlich durch einen Fehler im Funktionscode verursacht wurde.

Wenn Sie diesen Fehler sehen, überprüfen Sie den Funktionscode und beheben Sie alle gefundenen Bugs.

Beim Aufrufen einer Funktion werden die Meldung FunctionInvokeInvalidResponse und ein 502-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeInvalidResponse","message":"invalid function response"}
Fn: Error invoking function. status: 502 message: invalid function response

Die Meldung gibt an, dass beim Aufrufen der Funktion ein ungültiger HTTP-Antwortcode zurückgegeben wird (weder ein Funktionsfehler noch ein Timeout).

Wenn Sie diesen Fehler sehen, überprüfen Sie den Funktionscode und beheben Sie alle gefundenen Bugs.

Beim Aufrufen einer Funktion werden die Meldung FunctionInvokeSubnetConfigError und ein 502-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeSubnetConfigError","message":"Customer subnet DNS resolver error. Please fix the subnet configuration and try again"}
Fn: Error invoking function. status: 502 message: Customer subnet DNS resolver error. Please fix the subnet configuration and try again

Die Meldung weist auf ein VCN-Konfigurationsproblem hin, das sich wahrscheinlich auf die benutzerdefinierte Resolver-Konfiguration bezieht.

Wenn dieser Fehler angezeigt wird, identifizieren Sie jedes Subnetz im VCN, das einen benutzerdefinierten Resolver verwendet. Wenn ein Subnetz einen benutzerdefinierten Resolver verwendet (z.B. im Internet, im VCN oder in Ihrem On-Premise-Netzwerk), bestätigen Sie, dass der benutzerdefinierte Resolver erreichbar ist. Prüfen Sie außerdem, ob der benutzerdefinierte Resolver korrekt funktioniert. Weitere Informationen zu benutzerdefinierten Resolvern finden Sie unter DNS im virtuellen Cloud-Netzwerk.

Wenn der Fehler weiterhin besteht, prüfen Sie, ob die VCN-Konfiguration (und gegebenenfalls die benutzerdefinierte Resolver-Konfiguration) korrekt ist, indem Sie eine neue Hello World-Funktion aufrufen, die in einem neuen VCN ausgeführt wird:

  1. Erstellen Sie ein neues VCN mit dem VCN-Assistenten (wählen Sie VCN mit Internetverbindung aus).
  2. Erstellen Sie eine neue DHCP-Optionsressource, und geben Sie dieselben DNS-Optionen an wie zuvor (wenn zuvor ein benutzerdefinierter Resolver verwendet wurde, wählen Sie Benutzerdefinierter Resolver aus).
  3. Erstellen Sie ein neues Subnetz im VCN, und wählen Sie die soeben erstellte DHCP-Optionsressource aus.
  4. Erstellen Sie eine neue Anwendung, und geben Sie das soeben erstellte VCN und Subnetz an.
  5. Erstellen Sie eine einfache hello world-Funktion in der Anwendung, die Sie gerade erstellt haben.
  6. Bestätigen Sie, dass Sie die neue hello world-Funktion erfolgreich aufrufen können.

Wenn das Problem weiterhin besteht, kontaktieren Sie uns, um das Problem mit der VCN-Konfiguration zu beheben.

Beim Aufrufen einer Funktion wird die Meldung "Die kombinierte unkomprimierte Größe aller Funktionsbilder in einer Anwendung hat den zugewiesenen Grenzwert überschritten...." und ein 502-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird das Image der Funktion aus der Docker-Registry abgerufen. Abhängig von der Größe des Bildes und der Größe der Bilder für andere Funktionen in der Anwendung wird möglicherweise eine Meldung wie die Folgende angezeigt:

Fn: Error invoking function. status: 502 message: The combined uncompressed size of all Function images in an application has exceeded the allowed limit. Please reduce the size of the images or number of functions from the application.

Diese Meldung gibt an, dass das Abrufen des Funktionsbilds die gesamte unkomprimierte Größe aller Bilder für Funktionen in der Anwendung über den maximal zulässigen Grenzwert hinaus erhöht hat.

Wenn dieser Fehler angezeigt wird:

  • Verwenden Sie Standardtechniken, um das Bild der Funktion und/oder die Größe der Bilder für andere Funktionen in der Anwendung zu reduzieren.
  • Reduzieren Sie die Anzahl der Funktionen in der Anwendung.

Beim Aufrufen einer Funktion werden die Meldung FunctionInvokeServiceUnavailable und ein 503-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeServiceUnavailable","message":"Timed out - server too busy"}
Fn: Error invoking function. status: 503 message: Timed out - server too busy

Die Meldung gibt an, dass OCI Functions die Anforderung derzeit nicht verarbeiten kann, möglicherweise wegen unzureichender Kapazität. Diese Fehlermeldung mehrmals zu erkennen, ist nicht ungewöhnlich, da es einige Zeit dauern kann, die OCI Functions-Kapazität zu skalieren, um den Bedarf aus Funktionsaufrufen zu decken.

Wenn dieser Fehler angezeigt wird, rufen Sie die Funktion erneut auf. Machen Sie sich keine Sorgen, wenn die Nachricht erneut angezeigt wird. Wiederholen Sie den Aufruf der Funktion, und lassen Sie einen kurzen Zeitraum zwischen den Aufrufversuchen zurück.

Folgendes ist zu beachten:

  • Wenn Sie diesen Fehler weiterhin sehen, sollten Sie das Zeitintervall zwischen Funktionsaufrufen erhöhen (möglicherweise verwenden Sie eine Standardtechnik wie ein exponentielles Backoff, um dem Intervall einen Grad der Zufälligkeit hinzuzufügen).
  • Wenn die Meldung angezeigt wird, wenn eine Funktion als Ergebnis einer von einem Ereignis ausgelösten Aktion aufgerufen wird, werden zusätzliche Versuche, die Funktion aufzurufen, automatisch wiederholt, bis die Funktion erfolgreich aufgerufen wird. Ihrerseits ist kein Eingreifen erforderlich.
  • Wenn Sie Alarme einrichten, die durch Funktionsfehlerantworten mit 503 Fehlercodes ausgelöst werden, werden möglicherweise mehrere Benachrichtigungen angezeigt, für die kein Eingriff Ihrerseits erforderlich ist.
  • Wenn die Nachricht nach einem längeren Zeitraum weiterhin angezeigt wird, kontaktieren Sie uns, um Unterstützung zu erhalten.

Beim Aufrufen einer Funktion werden eine FunctionInvokeContainerInitFail-Fehlermeldung, ein 504-Fehler und eine ModuleNotFoundError-Logmeldung zurückgegeben: Kein Modul namens "contextvars"

Wenn Sie eine Python 3.6-Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeContainerInitFail","message":"Container failed to initialize, please ensure you are using the latest fdk and check the logs"}

Fn: Error invoking function. status: 504 message: Container failed to initialize, please ensure you are using the latest fdk and check the logs

Wenn dieser Fehler angezeigt wird, prüfen Sie die Logs der Funktion. Wenn in den Logs der Funktion die Meldung "ModuleNotFoundError: No module named 'contextvars'" angezeigt wird:

  1. Fügen Sie der Datei requirements.txt der Funktion folgende Zeile hinzu:
    fdk>=0.1.21
  2. Stellen Sie die Funktion erneut in OCI Functions bereit.
  3. Rufen Sie die Funktion erneut auf.

Beim Aufrufen einer Funktion werden die Meldungen "FunctionInvokeContainerInitFail" und "Container initialization timed out" sowie ein 504-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, unterliegt die Ausführung der Funktion einem maximalen Arbeitsspeicher. Bei Überschreitung dieses Limits wird die Ausführung der Funktion gestoppt, und die folgende Fehlermeldung wird zurückgegeben:

{"code":"FunctionInvokeContainerInitFail","message":"Container failed to initialize, please ensure you are using the latest fdk and check the logs"}

Fn: Error invoking function. status: 504 message: Container failed to initialize, please ensure you are using the latest fdk and check the logs

Wenn dieser Fehler angezeigt wird, erhöhen Sie den maximalen Speicherschwellenwert der Funktion. Beispiel: Bis zu 256, 512, 1024, 2048 oder 3072 MB. Gültige Werte für den maximalen Speicherschwellenwert finden Sie unter Standardspeicher- und Timeouteinstellungen ändern.

Beispiel: Um den maximalen Schwellenwert für den Arbeitsspeicher einer Funktion auf 256 MB zu setzen, führen Sie einen der folgenden Schritte aus:

  • Wählen Sie in der Konsole auf der Seite Funktionsdetails die Option Funktion bearbeiten aus, und wählen Sie in der Dropdown-Liste Speicher (in MB) die Option 256 aus.
  • Fügen Sie der Datei "func.yaml" der Funktion folgende Zeile hinzu. Dadurch wird der maximale Arbeitsspeicher-Schwellenwert bei jedem Aufruf der Funktion auf 256 MB gesetzt:

    memory: 256

    Wenn Sie die Datei func.yaml bearbeiten, müssen Sie die Funktion vor dem nächsten Aufruf erneut in OCI Functions bereitstellen.

Beim Erstellen der Python-Funktion "helloworld" sollten Sie vorzugsweise die neueste Version der Fn-Projekt-CLI verwenden. Wenn Sie den Befehl fn init --runtime python <function-name> eingeben, um die helloworld-Funktion zu erstellen, wird die Zeile memory: 256 automatisch der Datei "func.yaml" hinzugefügt.

Beim Aufrufen einer Funktion werden die Meldung "FunctionInvokeTimeout" und ein 504-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, kann die Funktion nur eine bestimmte Zeit lang ausgeführt werden. Bei Überschreitung dieses Zeitlimits wird die Ausführung der Funktion gestoppt, und die folgende Fehlermeldung wird zurückgegeben:

{"code":"FunctionInvokeTimeout","message":"Timed out"}

Fn: Error invoking function. status: 504 message: Timed out

Wenn dieser Fehler angezeigt wird, versuchen Sie, die maximale Zeitspanne zu erhöhen, in der eine Funktion in der Funktionsdefinition ausgeführt werden darf. Beispiel: Um die maximale Zeit auf 300 Sekunden zu setzen, führen Sie einen der folgenden Schritte aus:

  • Wählen Sie in der Konsole auf der Seite Funktionsdetails die Option Funktion bearbeiten, und geben Sie in das Feld Timeout den Wert 300 ein.
  • Fügen Sie der Datei "func.yaml" der Funktion folgende Zeile hinzu. Dadurch wird das maximale Zeitlimit für alle Funktionsaufrufe auf 300 Sekunden gesetzt:

    timeout: 300

    Wenn Sie die Datei func.yaml bearbeiten, müssen Sie die Funktion vor dem nächsten Aufruf erneut in OCI Functions bereitstellen.

Beachten Sie, dass die Art und Weise, wie Sie eine Funktion aufrufen, auch die maximale Zeit bestimmt, für die diese Funktion ausgeführt werden kann. Weitere Informationen finden Sie unter Funktionen aufrufen.

Diese Fehlermeldung wird möglicherweise auch angezeigt, wenn eine Funktion, die in einem öffentlichen Subnetz ausgeführt wird, keine Verbindung zu einer Oracle Autonomous Database-Instanz herstellen kann, für die Access Control-Listen (ACLs) aktiviert sind. In diesem Fall finden Sie unter Verbindung zu Oracle Autonomous Database-Instanzen über ausgeführte Funktionen herstellen weitere Informationen zu:

  • Konfigurieren Sie das Subnetz so, dass der gesamte ausgehende Internettraffic an ein NAT-Gateway gesendet und Internettraffic zugelassen wird.
  • Die öffentliche IP-Adresse des NAT-Gateways wird der Access-Control-Liste der Datenbank hinzugefügt.

Beim Aufrufen einer Funktion werden die Meldung FunctionInvokeContainerInitTimeout und ein 504-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird das Image der Funktion aus der Docker-Registry abgerufen und in einem Container ausgeführt. Abhängig von den Abhängigkeiten der Funktion kann der Start des Containers lange dauern. Wenn der Start des Containers zu lange dauert, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeContainerInitTimeout","message":"Container initialization timed out, please ensure you are using the latest fdk and check the logs"}
Fn: Error invoking function. status: 504 message: Container initialization timed out, please ensure you are using the latest fdk and check the logs

Wenn dieser Fehler angezeigt wird, erhöhen Sie den maximalen Speicherschwellenwert der Funktion. Beispiel: Bis zu 256, 512, 1024, 2048 oder 3072 MB. Gültige Werte für den maximalen Speicherschwellenwert finden Sie unter Standardspeicher- und Timeouteinstellungen ändern.

Beispiel: Um den maximalen Schwellenwert für den Arbeitsspeicher einer Funktion auf 256 MB zu setzen, führen Sie einen der folgenden Schritte aus:

  • Wählen Sie in der Konsole auf der Seite Funktionsdetails die Option Funktion bearbeiten aus, und wählen Sie in der Dropdown-Liste Speicher (in MB) die Option 256 aus.
  • Fügen Sie der Datei "func.yaml" der Funktion folgende Zeile hinzu. Dadurch wird der maximale Arbeitsspeicher-Schwellenwert bei jedem Aufruf der Funktion auf 256 MB gesetzt:

    memory: 256

    Wenn Sie die Datei func.yaml bearbeiten, müssen Sie die Funktion vor dem nächsten Aufruf erneut in OCI Functions bereitstellen.

Beim Erstellen der Python-Funktion "helloworld" sollten Sie vorzugsweise die neueste Version der Fn-Projekt-CLI verwenden. Wenn Sie den Befehl fn init --runtime python <function-name> eingeben, um die helloworld-Funktion zu erstellen, wird die Zeile memory: 256 automatisch der Datei "func.yaml" hinzugefügt.

Beim Aufrufen einer Funktion werden die Meldung FunctionInvokeImagePullTimeout und ein 504-Fehler zurückgegeben

Wenn Sie eine Funktion aufrufen, die Sie in OCI Functions bereitgestellt haben, wird das Image der Funktion aus der Docker-Registry abgerufen. Je nach Größe des Bildes kann es lange dauern, bis das Bild abgerufen wird. Wenn das Abrufen des Images zu lange dauert, wird möglicherweise die folgende Fehlermeldung angezeigt:

{"code":"FunctionInvokeImagePullTimeout","message":"Image pull timed out"}
Fn: Error invoking function. status: 504 message: Image pull timed out
Wenn dieser Fehler angezeigt wird:
  • Verwenden Sie Standardtechniken, um die Größe des Bildes zu reduzieren.
  • Prüfen Sie, ob das für die Funktion angegebene Image noch am angegebenen Speicherort in Oracle Cloud Infrastructure Registry vorhanden ist.