Risoluzione dei problemi delle funzioni OCI

Scopri come risolvere i problemi con OCI Functions e le possibili soluzioni ai problemi più comuni.

Questo argomento descrive i problemi comuni relativi alle funzioni OCI e come affrontarli.

Utilizzare le tecniche riportate di seguito per ulteriori informazioni su un errore o un problema.

  • Utilizzare il grafico Errori nella pagina Metriche della console per visualizzare i codici e i messaggi di errore per le singole funzioni. Se una funzione non viene eseguita o non viene eseguita come previsto quando viene richiamata, è possibile utilizzare il grafico Errori nella pagina Metriche della console per visualizzare i codici di errore e i messaggi di errore per tale funzione. Per ulteriori informazioni, vedere Metriche delle funzioni.
  • Utilizzare il trace per osservare l'esecuzione delle funzioni: se una funzione non viene eseguita o non viene eseguita come previsto quando viene richiamata, è possibile utilizzare il trace per eseguire il debug dei problemi di esecuzione e prestazioni. Per utilizzare il trace, è necessario abilitare il trace per l'applicazione che contiene la funzione, quindi abilitare il trace per una o più funzioni. È quindi possibile visualizzare i trace delle funzioni in Trace Explorer APM. Per ulteriori informazioni, vedere Trace distribuito per le funzioni.
  • Utilizzare i log delle funzioni per rivedere le informazioni sul richiamo delle funzioni: il servizio Oracle Cloud Infrastructure Logging è l'opzione predefinita e consigliata per accedere, cercare e memorizzare i log delle funzioni. Per memorizzare e visualizzare i log di una funzione, la funzione deve includere istruzioni di stampa. Per ulteriori informazioni, vedere Memorizzazione e visualizzazione dei log delle funzioni.
  • Utilizzare DEBUG=1 per visualizzare i dettagli sulle richieste e sulle risposte inviate al e dal servizio OCI Functions: Se si verifica un errore imprevisto durante l'uso di un comando CLI Fn Project, è possibile visualizzare ulteriori dettagli sulle richieste e sulle risposte HTTP inviate al e dal servizio OCI Functions. Avviare il comando con la stringa DEBUG=1 ed eseguire di nuovo il comando. Ad esempio:

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

    Si noti che DEBUG=1 deve essere visualizzato prima del comando e che DEBUG deve essere in lettere maiuscole.

    Se interagisci con il Supporto Oracle e presenti un ticket di supporto, puoi allegare l'output al ticket.

    Si noti inoltre che se è stato impostato un computer locale come ambiente di sviluppo OCI Functions (specificando --provider oracle nel contesto CLI di Fn Project), è necessario impostare la variabile di ambiente OCI_GO_SDK_DEBUG=v e avviare il comando con DEBUG=1.

I problemi in questo argomento sono organizzati nelle seguenti categorie generali:

Impostazione ed esecuzione di OCI Functions

Creazione di applicazioni e funzioni

Numero e messaggio di errore (se applicabile) Descrizione e collegamento
Unable to create your app, please try again. La creazione di una nuova applicazione visualizza un messaggio di errore nella finestra di dialogo Nuova applicazione

Distribuzione di applicazioni e funzioni

Numero e messaggio di errore (se applicabile) Descrizione e collegamento
unauthorized: incorrect username or password La distribuzione di un'applicazione restituisce un messaggio "non autorizzato: nome utente o password errati"

denied: requested access to the resource is denied

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

La distribuzione di una funzione restituisce un messaggio "error running docker push, are you logg to docker?"
500: Internal server error La distribuzione di una funzione restituisce un messaggio ListTriggers e un errore 500
Image <image-name> does not exist or you do not have access to use it. La distribuzione di una funzione restituisce un messaggio "Immagine inesistente o non si dispone dell'accesso per utilizzarla"
401: Missing subnets annotation La distribuzione di una funzione in OCI Functions restituisce il messaggio "Fn: Annotazione subnet mancante"
Function's image architecture 'x86' is incompatible with the application's shape type 'GENERIC_X86_ARM' La distribuzione di una funzione in OCI Functions restituisce il messaggio "L'architettura immagine della funzione 'x86' è incompatibile..."
OL8 CloudShell does not support cross-compilation and multi-arch functions builds. Please ensure the architecture of your App matches the CloudShell architecture. La distribuzione di una funzione in OCI Functions in Cloud Shell restituisce il messaggio "OL8 Cloud Shell non supporta le build delle funzioni di compilazione incrociata e a più ricerche..."
Invalid or unsupported image manifest. Unable to get architecture from the OCIR Manifest/Headers… La distribuzione di una funzione restituisce un file manifesto dell'immagine non valido o non supportato. Impossibile ottenere l'architettura dal messaggio Manifest/Headers OCIR..."

Richiamo delle funzioni

Numero e messaggio di errore (se applicabile) Descrizione e collegamento

413: Request content too large

FunctionInvokeRequestContentTooLarge

Il richiamo di una funzione restituisce un messaggio FunctionInvokeRequestContentTooLarge e un errore 413

429: User-rate limit exceeded

TooManyRequests

Il richiamo di una funzione restituisce un messaggio TooManyRequests e un errore 429

444 Se si richiama una funzione, il client segnala un timeout e nei log della funzione viene visualizzato un errore 444
502: Function failed Il richiamo di una funzione restituisce un messaggio di errore Funzione e un errore 502
502: Syslog endpoint unavailable Il richiamo di una funzione restituisce un messaggio FunctionInvokeSyslogUnavailable e un errore 502
502: Failed to pull function image Il richiamo di una funzione restituisce un messaggio FunctionInvokeImageNotAvailable e un errore 502
502: subnet ocid1.subnet.... is out of IPs Il richiamo di una funzione restituisce un messaggio FunctionInvokeSubnetOutOfIPs e un errore 502
502: subnet ocid1.subnet.... does not exist or Oracle Functions is not authorized to use it Il richiamo di una funzione restituisce un messaggio FunctionInvokeSubnetNotAvailable e un errore 502 (a causa di un problema della subnet)
502: dhcp options ocid1.dhcpoptions.... does not exist or Oracle Functions is not authorized to use it Il richiamo di una funzione restituisce un messaggio FunctionInvokeSubnetNotAvailable e un errore 502 (a causa di un problema di opzioni DHCP)

502: function response body too large

FunctionInvokeResponseBodyTooLarge

Il richiamo di una funzione restituisce un messaggio FunctionInvokeResponseBodyTooLarge e un errore 502

502: FunctionInvokeResponseHeaderTooLarge

function response header too large

Il richiamo di una funzione restituisce un messaggio FunctionInvokeResponseHeaderTooLarge e un errore 502

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

FunctionInvokeTooManyMatchingDGs

Il richiamo di una funzione restituisce un messaggio FunctionInvokeTooManyMatchingDGs e un errore 502

502: error receiving function response

FunctionInvokeExecutionError

Il richiamo di una funzione restituisce un messaggio FunctionInvokeExecutionError e un errore 502

502: function failed

FunctionInvokeExecutionFailed

Il richiamo di una funzione restituisce un messaggio FunctionInvokeExecutionFailed e un errore 502

502: invalid function response

FunctionInvokeInvalidResponse

Il richiamo di una funzione restituisce un messaggio FunctionInvokeInvalidResponse e un errore 502

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

Il richiamo di una funzione restituisce un messaggio FunctionInvokeSubnetConfigError e un errore 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.

Richiamando una funzione restituisce "La dimensione combinata non compressa di tutte le immagini Funzione in un'applicazione ha superato il limite assegnato...." messaggio e un errore 502

503: Timed out - server too busy

FunctionInvokeServiceUnavailable

Il richiamo di una funzione restituisce un messaggio FunctionInvokeServiceUnavailable e un errore 503

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

'ModuleNotFoundError: No module named 'contextvars'

Il richiamo di una funzione restituisce un messaggio di errore FunctionInvokeContainerInitFail, un errore 504 e un messaggio di log 'ModuleNotFoundError: nessun modulo denominato 'contextvars'
504: Container failed to initialize, please ensure you are using the latest fdk and check the logs Il richiamo di una funzione restituisce i messaggi FunctionInvokeContainerInitFail e 'Timeout inizializzazione contenitore' e un errore 504
504: Timed out Il richiamo di una funzione restituisce un messaggio FunctionInvokeTimeout e un errore 504

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

FunctionInvokeContainerInitTimeout

Il richiamo di una funzione restituisce un messaggio FunctionInvokeContainerInitTimeout e un errore 504

504: Image pull timed out

FunctionInvokeImagePullTimeout

Il richiamo di una funzione restituisce un messaggio FunctionInvokeImagePullTimeout e un errore 504

Varie

Numero e messaggio di errore (se applicabile) Descrizione e collegamento
error getting credentials - err: exit status 1, out: Error spawning command line 'dbus-launch --autolaunch... Quando si eseguono le funzioni OCI su Ubuntu, il login Docker restituisce un messaggio "errore di recupero delle credenziali - errore: stato di uscita 1..."