Dépannage du service des fonctions pour OCI

Découvrez comment dépanner les problèmes liés au service des fonctions pour OCI et les solutions possibles aux problèmes courants.

Cette rubrique présente des problèmes courants liés au service des fonctions pour OCI et explique comment les résoudre.

Utilisez les techniques suivantes pour en savoir plus sur une erreur ou un problème :

  • Utilisez le graphique Erreurs de la page Mesures de la console pour voir les codes d'erreur et les messages pour des fonctions individuelles : Si une fonction ne s'exécute pas ou ne s'exécute pas comme prévu lorsque vous l'appelez, vous pouvez utiliser le graphique Erreurs de la page Mesures de la console pour voir les codes d'erreur et les messages d'erreur de cette fonction. Pour plus d'informations, voir Mesures de fonction.
  • Utiliser le traçage pour observer l'exécution de la fonction : Si une fonction ne s'exécute pas ou ne s'exécute pas comme prévu lorsque vous l'appelez, vous pouvez utiliser le traçage pour déboguer les problèmes d'exécution et de performance. Pour utiliser le traçage, vous devez activer le traçage pour l'application contenant la fonction, puis activer le traçage pour une ou plusieurs fonctions. Vous pouvez ensuite voir les traces de fonction dans l'explorateur de trace APM. Pour plus d'informations, voir Traçage réparti pour les fonctions.
  • Utiliser les journaux de fonction pour vérifier les informations d'appel de fonction : Le service Oracle Cloud Infrastructure Logging est l'option par défaut recommandée pour l'accès, la recherche et le stockage des journaux de fonction. Notez que pour stocker et consulter les journaux d'une fonction, la fonction doit inclure des énoncés d'impression. Pour plus d'informations, voir Stockage et consultation des journaux de fonction.
  • Utilisez DEBUG=1 pour voir les détails sur les demandes et les réponses envoyées vers et depuis le service des fonctions pour OCI : Si vous rencontrez une erreur inattendue lors de l'utilisation d'une commande d'interface de ligne de commande Fn Project, vous pouvez voir plus de détails sur les demandes HTTP et les réponses envoyées vers et depuis le service des fonctions pour OCI. Démarrez la commande avec la chaîne DEBUG=1 et exécutez à nouveau la commande. Par exemple :

    $ DEBUG=1 fn invoke helloworld-app helloworld-func

    Notez que DEBUG=1 doit apparaître avant la commande et que DEBUG doit être en majuscules.

    Si vous communiquez avec Oracle Support et que vous soumettez un ticket de soutien, vous pouvez joindre la sortie au ticket.

    Notez également que si vous avez configuré un ordinateur local en tant qu'environnement de développement du service des fonctions pour OCI (en spécifiant --provider oracle dans le contexte de l'interface de ligne de commande Fn Project), vous devez définir la variable d'environnement OCI_GO_SDK_DEBUG=v et démarrer la commande avec DEBUG=1.

Les questions abordées dans ce sujet sont classées dans les grandes catégories suivantes :

Configuration et exécution du service des fonctions d'OCI

Création d'applications et de fonctions

Numéro et message d'erreur (le cas échéant) Description et lien
Unable to create your app, please try again. La création d'une nouvelle application affiche un message d'erreur dans la boîte de dialogue Nouvelle application

Déployer des applications et des fonctions

Numéro et message d'erreur (le cas échéant) Description et lien
unauthorized: incorrect username or password Le déploiement d'une application retourne un message "non autorisé : nom d'utilisateur ou mot de passe incorrect"

denied: requested access to the resource is denied

Fn: error running docker push, are you logged into docker?: exit status 1

Le déploiement d'une fonction retourne un message "Erreur lors de l'exécution de la poussée de docker, êtes-vous connecté à docker?"
500: Internal server error Le déploiement d'une fonction retourne un message ListTriggers et une erreur de type 500
Image <image-name> does not exist or you do not have access to use it. Le déploiement d'une fonction retourne un message indiquant que l'image n'existe pas ou que vous n'y avez pas accès
401: Missing subnets annotation Le déploiement d'une fonction dans le service des fonctions pour OCI retourne le message "Fn : Annotation de sous-réseaux manquante"
Getting image source signatures Error: trying to reuse blob ... at destination: checking whether a blob ... exists in .... :StatusCode: 403, Fn: error running docker push: exit status 125 Le déploiement d'une fonction retourne un message "Obtention des signatures de source d'image Erreur : tentative de réutilisation d'un objet blob ... à la destination : vérification de l'existence d'un objet blob ... dans .... :StatusCode : 403, Fn : erreur lors de l'exécution de la poussée du docker : statut de sortie 125"
Function's image architecture 'x86' is incompatible with the application's shape type 'GENERIC_X86_ARM' Le déploiement d'une fonction dans le service des fonctions pour OCI retourne le message "L'architecture d'image de la fonction 'x86' est incompatible..."
OL8 CloudShell does not support cross-compilation and multi-arch functions builds. Please ensure the architecture of your App matches the CloudShell architecture. Le déploiement d'une fonction dans le service des fonctions pour OCI dans Cloud Shell retourne le message "OL8 Cloud Shell ne prend pas en charge les créations de fonctions inter-compilation et multi-archives..."
Invalid or unsupported image manifest. Unable to get architecture from the OCIR Manifest/Headers… Le déploiement d'une fonction retourne un manifeste d'image non valide ou non pris en charge. Impossible d'obtenir l'architecture à partir du message Manifeste/En-têtes OCIR…"

Appel de fonctions

Numéro et message d'erreur (le cas échéant) Description et lien

413: Request content too large

FunctionInvokeRequestContentTooLarge

L'appel d'une fonction retourne un message FunctionInvokeRequestContentTooLarge et une erreur 413

429: User-rate limit exceeded

TooManyRequests

L'appel d'une fonction retourne un message TooManyRequests et une erreur 429

444 L'appel d'une fonction entraîne le signalement d'une temporisation par le client, et une erreur 444 est affichée dans les journaux de la fonction
502: Function failed L'appel d'une fonction retourne un message d'échec de fonction et une erreur 502
502: Syslog endpoint unavailable L'appel d'une fonction retourne un message FunctionInvokeSyslogUnavailable et une erreur de type 502
502: Failed to pull function image L'appel d'une fonction retourne un message FunctionInvokeImageNotAvailable et une erreur de type 502
502: subnet ocid1.subnet.... is out of IPs L'appel d'une fonction retourne un message FunctionInvokeSubnetOutOfIPs et une erreur de type 502
502: subnet ocid1.subnet.... does not exist or Oracle Functions is not authorized to use it L'appel d'une fonction retourne un message FunctionInvokeSubnetNotAvailable et une erreur de type 502 (en raison d'un problème de sous-réseau)
502: dhcp options ocid1.dhcpoptions.... does not exist or Oracle Functions is not authorized to use it L'appel d'une fonction retourne un message FunctionInvokeSubnetNotAvailable et une erreur de type 502 (en raison d'un problème d'options DHCP)

502: function response body too large

FunctionInvokeResponseBodyTooLarge

L'appel d'une fonction retourne un message FunctionInvokeResponseBodyTooLarge et une erreur 502

502: FunctionInvokeResponseHeaderTooLarge

function response header too large

L'appel d'une fonction retourne un message FunctionInvokeResponseHeaderTooLarge et une erreur 502

502: Unable to get resource authorization token due to Function resource matching too many Dynamic Groups. Update your Dynamic Groups' matching rules

FunctionInvokeTooManyMatchingDGs

L'appel d'une fonction retourne un message FunctionInvokeTooManyMatchingDGs et une erreur 502

502: error receiving function response

FunctionInvokeExecutionError

L'appel d'une fonction retourne un message FunctionInvokeExecutionError et une erreur 502

502: function failed

FunctionInvokeExecutionFailed

L'appel d'une fonction retourne un message FunctionInvokeExecutionFailed et une erreur 502

502: invalid function response

FunctionInvokeInvalidResponse

L'appel d'une fonction retourne un message FunctionInvokeInvalidResponse et une erreur 502

502: Customer subnet DNS resolver error. Please fix the subnet configuration and try again

L'appel d'une fonction retourne un message FunctionInvokeSubnetConfigError et une erreur 502

502: 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.

L'appel d'une fonction retourne le message "La taille non compressée combinée de toutes les images de fonction dans une application a dépassé la limite allouée...." et une erreur 502

503: Timed out - server too busy

FunctionInvokeServiceUnavailable

L'appel d'une fonction retourne un message FunctionInvokeServiceUnavailable et une erreur 503

504: Container failed to initialize, please ensure you are using the latest fdk and check the logs

'ModuleNotFoundError: No module named 'contextvars'

L'appel d'une fonction retourne un message d'erreur FunctionInvokeContainerInitFail, une erreur 504 et un message de journal 'ModuleNotFoundError : Aucun module nommé 'contextvars'
504: Container failed to initialize, please ensure you are using the latest fdk and check the logs L'appel d'une fonction retourne des messages FunctionInvokeContainerInitFail et Container initialization timed out, et une erreur de type 504
504: Timed out L'appel d'une fonction retourne un message FunctionInvokeTimeout et une erreur de type 504

504: Container initialization timed out, please ensure you are using the latest fdk and check the logs

FunctionInvokeContainerInitTimeout

L'appel d'une fonction retourne un message FunctionInvokeContainerInitTimeout et une erreur 504

504: Image pull timed out

FunctionInvokeImagePullTimeout

L'appel d'une fonction retourne un message FunctionInvokeImagePullTimeout et une erreur 504

Frais divers

Numéro et message d'erreur (le cas échéant) Description et lien
error getting credentials - err: exit status 1, out: Error spawning command line 'dbus-launch --autolaunch... Lors de l'exécution du service des fonctions pour OCI dans Ubuntu, la connexion Docker retourne un message " erreur lors de l'obtention des données d'identification - erreur : statut de sortie 1... "