Richiamo funzioni

Scopri i diversi modi per richiamare le funzioni distribuite in OCI Functions.

È possibile richiamare una funzione distribuita in OCI Functions in diversi modi:

  • Utilizzo dell'interfaccia CLI Fn Project.
  • Uso dell'interfaccia CLI di Oracle Cloud Infrastructure.
  • Utilizzando gli SDK di Oracle Cloud Infrastructure.
  • Esecuzione di una richiesta HTTP firmata all'endpoint di richiamo della funzione. Ogni funzione ha un endpoint di richiamo.

Ciascuno di questi richiami la funzione tramite richieste all'API. Qualsiasi richiesta all'API deve essere autenticata includendo una firma e l'OCID del compartimento a cui appartiene la funzione nell'intestazione della richiesta. Tale richiesta è denominata richiesta "firmata". La firma include le credenziali di Oracle Cloud Infrastructure in forma cifrata.

Se si utilizza l'interfaccia CLI di Fn Project o l'interfaccia CLI di Oracle Cloud Infrastructure per richiamare una funzione, l'autenticazione viene gestita automaticamente. Vedere Utilizzo dell'interfaccia CLI di Fn Project per richiamare le funzioni e Utilizzo dell'interfaccia CLI di Oracle Cloud Infrastructure per richiamare le funzioni.

Se utilizzi un SDK Oracle Cloud Infrastructure per richiamare una funzione, puoi utilizzare l'SDK per gestire l'autenticazione. Vedere Utilizzo di SDK per richiamare le funzioni.

Se effettui una richiesta HTTP firmata all'endpoint di richiamo di una funzione, dovrai gestire l'autenticazione includendo una firma e l'OCID del compartimento a cui appartiene la funzione nell'intestazione della richiesta. Puoi farlo in diversi modi:

Si noti che il modo in cui si richiama una funzione e il tipo di richiamo specificato determina il periodo di tempo massimo di esecuzione della funzione e altri comportamenti di esecuzione.

Suggerimento

Se non si riesce a completare correttamente uno dei passi di questo argomento, esaminare le soluzioni per individuare i problemi più comuni (vedere Risoluzione dei problemi delle funzioni OCI).

Tipi di richiamo sincrono e scollegato

Quando si richiama una funzione, è possibile specificare un tipo per il richiamo della funzione. Il tipo di richiamo della funzione determina la responsabilità per la gestione dei risultati, quando il controllo viene restituito al chiamante e il codice di stato HTTP restituito, come riportato di seguito.

  • Sincronizza: se si specifica Sync come tipo di richiamo della funzione (impostazione predefinita), OCI Functions esegue la richiesta in modo sincrono. Al completamento con successo, OCI Functions emette un codice di stato HTTP 200 e restituisce il risultato al chiamante, insieme al controllo.
  • Scollegato: se si specifica Scollegato come tipo di richiamo della funzione, OCI Functions esegue la richiesta in modo asincrono. Non appena inizia l'elaborazione, OCI Functions emette un codice di stato HTTP 202 e restituisce il controllo al chiamante. La funzione stessa è responsabile della gestione dei risultati.

La specifica di Sync come tipo di richiamo della funzione è nota anche come richiamo della funzione in modalità Sync o come richiamo sincrono. La specifica dello scollegato come tipo di richiamo della funzione è nota anche come richiamo della funzione in modalità scollegata o come richiamo scollegato.

Il richiamo scollegato può essere migliore del richiamo sincrono per le funzioni che richiedono molto tempo per essere eseguite, poiché il richiamo scollegato supporta un timeout di esecuzione più lungo e supporta anche opzioni di configurazione aggiuntive per le destinazioni di consegna successive all'esecuzione (vedere Funzioni di richiamo in modalità scollegata). I vantaggi del richiamo scollegato sono in genere molto utili per le funzioni pianificate per l'esecuzione in base a una schedulazione ricorrente. Di conseguenza, le funzioni pianificate vengono sempre richiamate con Scollegato come tipo di richiamo (vedere Funzioni di pianificazione).

Per specificare il tipo di richiamo della funzione, effettuare le operazioni riportate di seguito.

  • Quando si richiama una funzione utilizzando il comando fn function invoke dell'interfaccia CLI OCI, utilizzare il parametro --fn-invoke-type. Ad esempio:
    oci fn function invoke --function-id ocid1.fnfunc.oc1.phx.aaaa____uxoa --file "-" --body "" --fn-invoke-type "detached"
  • Quando si richiama una funzione da un'altra funzione utilizzando uno degli FDK, specificare il tipo di richiamo nella chiamata di funzione. Ad esempio, utilizzando il FDK Python:
    resp = client.invoke_function(function_id=function_ocid, invoke_function_body=function_body, fn_invoke_type='detached')
  • Quando si richiama una funzione utilizzando il comando raw-request dell'interfaccia CLI OCI, includere "fn-invoke-type" nel parametro --request- headers. Ad esempio:
    oci raw-request --http-method POST --target-uri https://fht7ns4mn2q.us-phoenix-1.functions.oci.oraclecloud.com/20181201/functions/ocid1.fnfunc.oc1.phx.aaaa____uxoa/actions/invoke --request-body ""  --request-headers '{"fn-invoke-type" : "detached"}'

Timeout funzione, Timeout richiamo funzione e Timeout esecuzione funzione

Il timeout della funzione può essere definito con maggiore precisione come:

  • Timeout di richiamo delle funzioni, che si riferisce al periodo di tempo durante il quale un client richiama una funzione attenderà una risposta dalla funzione prima di rinunciare.
  • Timeout di esecuzione delle funzioni, che si riferisce al periodo di tempo durante il quale le funzioni OCI consentiranno l'esecuzione di una funzione, prima di terminare l'esecuzione.

Quando si richiama una funzione con Sync come tipo di richiamo, il timeout di richiamo della funzione e il timeout di esecuzione della funzione sono effettivamente gli stessi. Tuttavia, quando si richiama una funzione con lo scollegato come tipo di richiamo, il parametro Timeout di richiamo scollegato (detachedModeTimeoutInSeconds) controlla il timeout di esecuzione della funzione ed è separato dal timeout di richiamo della funzione.

La modalità di richiamo di una funzione e il tipo di richiamo specificato determinano il periodo di tempo massimo durante il quale la funzione può essere eseguita, come indicato di seguito.

  • Se si richiama una funzione utilizzando l'interfaccia CLI di Fn Project (con Sync come tipo di richiamo), viene applicato il parametro Timeout di richiamo sincrono (timeoutInSeconds) specificato nella definizione della funzione (l'impostazione predefinita è 30 secondi). Vedere Modifica delle impostazioni di memoria e timeout predefinite.
  • Se si richiama una funzione utilizzando l'interfaccia CLI di Oracle Cloud Infrastructure (con Sync come tipo di richiamo), viene applicato il valore del parametro globale --read-timeout dell'interfaccia CLI OCI (il valore predefinito è 60 secondi). Vedere oci fn function invoke.
  • Se si richiama una funzione utilizzando gli SDK di Oracle Cloud Infrastructure (con Sync come tipo di richiamo), viene applicato il timeout di lettura specificato per il client. Ad esempio, consultare la documentazione Java SDK e Python SDK.
  • Se si richiama una funzione utilizzando l'SDK PL/SQL, viene applicato il valore UTL_HTTP.set_transfer_timeout (l'impostazione predefinita è 60 secondi).
  • Se si richiama una funzione dall'interfaccia API REST DBMS_CLOUD utilizzando DBMS_CLOUD.SEND_REQUEST, viene applicato il valore di UTL_HTTP.set_transfer_timeout (l'impostazione predefinita è 60 secondi).
  • Se si richiama una funzione con lo scollegato come tipo di richiamo, viene applicato il parametro Timeout di richiamo scollegato (detachedModeTimeoutInSeconds) specificato nella definizione della funzione (tra 5 secondi e 3600 secondi o 1 ora). Se si richiama una funzione con lo scollegato come tipo di richiamo e il parametro Timeout di richiamo scollegato (detachedModeTimeoutInSeconds) non è impostato, viene applicato il valore del parametro Timeout di richiamo sincronizzato (timeoutInSeconds). Vedere Richiamo di funzioni in modalità scollegata.

Utilizzo dell'interfaccia CLI di Fn Project per richiamare le funzioni

Per richiamare una funzione distribuita in OCI Functions utilizzando l'interfaccia CLI Fn Project, effettuare le operazioni riportate di seguito.

  1. Accedere all'ambiente di sviluppo come sviluppatore di funzioni.

  2. In una finestra del terminale, immettere:

    fn invoke <app-name> <function-name>

    Dove:

    • <app-name> è il nome dell'applicazione contenente la funzione che si desidera richiamare
    • <function-name> è il nome della funzione che si desidera richiamare

    Ad esempio:

    fn invoke helloworld-app helloworld-func

    output:

    Hello World !
    Suggerimento

    Se si desidera passare argomenti e valori a una funzione, anteporre al comando fn invoke echo -n '<argument>=<value>' |

    Se la funzione prevede l'argomento e il valore come JSON, utilizzare un formato JSON valido. Ad esempio:

    echo -n '{"name":"John"}' | fn invoke helloworld-app helloworld-func

    output:

    Hello John !

Utilizzo dell'interfaccia CLI di Oracle Cloud Infrastructure per richiamare le funzioni

Se hai installato l'interfaccia CLI di Oracle Cloud Infrastructure, puoi utilizzarla per inviare richieste API per richiamare funzioni. Tra le altre cose, l'interfaccia CLI di Oracle Cloud Infrastructure faciliterà l'autenticazione di Oracle Cloud Infrastructure. Per informazioni sull'uso dell'interfaccia CLI di Oracle Cloud Infrastructure, vedere Command Line Interface (CLI).

Queste istruzioni presuppongono:

  • è già stata installata e configurata l'interfaccia CLI di Oracle Cloud Infrastructure
  • si desidera richiamare una funzione come sviluppatore di funzioni configurato per l'ambiente di sviluppo

Per richiamare una funzione utilizzando l'interfaccia CLI di Oracle Cloud Infrastructure:

  1. Accedere all'ambiente di sviluppo come sviluppatore di funzioni.

  2. In una finestra del terminale, immettere:

    oci fn function invoke --function-id <function-ocid> --file "<output-filepath>" --body "<request-parameters>"

    Dove:

    • <function-ocid> è l'OCID della funzione che si desidera richiamare. Per individuare l'OCID di una funzione, utilizzare il comando fn inspect per visualizzare il valore della proprietà id della funzione (vedere Listing Functions).
    • <output-filepath> è il percorso e il nome di un file in cui scrivere la risposta. Per scrivere la risposta a stdout, specificare --file "-"
    • <request-parameters> sono facoltativamente argomenti e valori da passare alla funzione. Se la funzione prevede argomenti e valori come JSON, utilizzare un formato JSON valido. Ad esempio, --body '{"name":"John"}'. Si noti che è necessario includere --body "" nella richiesta, anche se non sono presenti parametri di richiesta da passare.

    Ad esempio:

    • oci fn function invoke --function-id ocid1.fnfunc.oc1.phx.aaaa____uxoa --file "-" --body ""

      output:

      Hello World !
    • oci fn function invoke --function-id ocid1.fnfunc.oc1.phx.aaaa____uxoa --file "-" --body '{"name":"John"}'

      output:

      Hello John !

Utilizzo degli SDK per richiamare le funzioni

Se stai scrivendo un programma per richiamare una funzione in una lingua per la quale esiste un SDK Oracle Cloud Infrastructure, ti consigliamo di utilizzare tale SDK per inviare richieste API per richiamare la funzione. Tra le altre cose, l'SDK faciliterà l'autenticazione di Oracle Cloud Infrastructure.

Tenere presente che quando si utilizza un SDK per richiamare una funzione, non si specifica l'intero endpoint di richiamo specificato quando si utilizza il comando raw-request dell'interfaccia CLI di Oracle Cloud Infrastructure (vedere Come ottenere l'endpoint di richiamo di una funzione). Specificare invece solo la prima parte dell'endpoint di richiamo della funzione. Ad esempio, quando si utilizza un SDK, non specificare l'endpoint di richiamo della funzione come https://fht7ns4mn2q.us-phoenix-1.functions.oci.oraclecloud.com/20181201/functions/ocid1.fnfunc.oc1.phx.aaaa____uxoa/actions/invoke. Specificare invece l'endpoint di richiamo della funzione come https://fht7ns4mn2q.us-phoenix-1.functions.oci.oraclecloud.com.

Per informazioni sull'uso dell'API e delle richieste di firma, consulta la documentazione dell'API REST e le credenziali di sicurezza. Per informazioni sugli SDK, vedere SDK e l'interfaccia CLI.

Utilizzare l'operazione API InvokeFunction per richiamare le funzioni.

Recupero dell'endpoint di richiamo di una funzione

Quando si richiama una funzione utilizzando il comando raw-request dell'interfaccia CLI di Oracle Cloud Infrastructure, è necessario specificare l'endpoint di richiamo della funzione.

Per ottenere l'endpoint di richiamo di una funzione:

  1. Accedere all'ambiente di sviluppo come sviluppatore di funzioni.

  2. In una finestra del terminale, immettere:

    fn inspect function <app-name> <function-name>

    Dove:

    • <app-name> è il nome dell'applicazione che contiene la funzione per la quale si desidera ottenere l'endpoint di richiamo
    • <function-name> è il nome della funzione per la quale si desidera ottenere l'endpoint di richiamo

    Ad esempio:

    fn inspect function helloworld-app helloworld-func

    output:

    {
       "annotations": {
    		"fnproject.io/fn/invokeEndpoint": "https://fht7ns4mn2q.us-phoenix-1.functions.oci.oraclecloud.com/20181201/functions/ocid1.fnfunc.oc1.phx.aaaa____uxoa/actions/invoke",
    
    ...
    }

    L'endpoint di richiamo della funzione è il valore "fnproject.io/fn/invokeEndpoint" . Ad esempio, "https://fht7ns4mn2q.us-phoenix-1.functions.oci.oraclecloud.com/20181201/functions/ocid1.fnfunc.oc1.phx.aaaa____uxoa/actions/invoke" (abbreviato per leggibilità).

Invio di una richiesta firmata all'endpoint di richiamo di una funzione (mediante il comando raw-request CLI di Oracle Cloud Infrastructure)

Se hai installato l'interfaccia CLI di Oracle Cloud Infrastructure, puoi utilizzarla per inviare richieste API per richiamare funzioni. Tra le altre cose, l'interfaccia CLI faciliterà l'autenticazione di Oracle Cloud Infrastructure. Per ulteriori informazioni sull'uso dell'interfaccia CLI di Oracle Cloud Infrastructure, vedere Command Line Interface (CLI).

Queste istruzioni presuppongono:

  • è già stata installata e configurata l'interfaccia CLI di Oracle Cloud Infrastructure
  • si desidera richiamare una funzione come sviluppatore di funzioni configurato per l'ambiente di sviluppo

Per richiamare una funzione distribuita in OCI Functions inviando una richiesta firmata all'endpoint di richiamo della funzione utilizzando il comando raw-request dell'interfaccia CLI di Oracle Cloud Infrastructure:

  1. Accedere all'ambiente di sviluppo come sviluppatore di funzioni.

  2. Ottenere l'endpoint di richiamo della funzione (vedere Come ottenere l'endpoint di richiamo di una funzione).

    Ad esempio, "fnproject.io/fn/invokeEndpoint": "https://fht7ns4mn2q.us-phoenix-1.functions.oci.oraclecloud.com/20181201/functions/ocid1.fnfunc.oc1.phx.aaaa____uxoa/actions/invoke" (abbreviato per leggibilità).

  3. Utilizzare il comando raw-request dell'interfaccia CLI di Oracle Cloud Infrastructure per richiamare la funzione inviando una richiesta POST firmata all'endpoint di richiamo della funzione immettendo:

    oci raw-request --http-method POST --target-uri <invoke-endpoint> --request-body "<request-parameters>"

    Dove:

    • <invoke-endpoint> è l'endpoint ottenuto nel passo precedente.
    • <request-parameters> sono facoltativamente argomenti e valori da passare alla funzione. Se la funzione prevede argomenti e valori come JSON, utilizzare un formato JSON valido. Si noti che è necessario includere --request-body "" nella richiesta, anche se non sono presenti parametri di richiesta da passare.

    Ad esempio:

    • oci raw-request --http-method POST --target-uri https://fht7ns4mn2q.us-phoenix-1.functions.oci.oraclecloud.com/20181201/functions/ocid1.fnfunc.oc1.phx.aaaa____uxoa/actions/invoke --request-body ""

      output:

      Hello World !
    • oci raw-request --http-method POST --target-uri https://fht7ns4mn2q.us-phoenix-1.functions.oci.oraclecloud.com/20181201/functions/ocid1.fnfunc.oc1.phx.aaaa____uxoa/actions/invoke --request-body '{"name":"John"}'

      output:

      Hello John !
  4. Se è stata fornita una passphrase per cifrare la chiave di firma API, immettere la passphrase quando richiesto.

Richiamo funzioni in modalità scollegata

Richiama una funzione con Scollegato come tipo di richiamo quando:

  • Si desidera richiamare una funzione che richiede molto tempo per essere eseguita.
  • Si desidera che la funzione venga eseguita in modo asincrono, in modo che il controllo venga restituito al chiamante immediatamente dopo il richiamo della funzione senza attendere i risultati del richiamo.
  • Specificare le destinazioni alle quali inviare i risultati dei richiami riusciti e non riusciti.

Il richiamo scollegato consente il completamento dei carichi di lavoro con tempi di esecuzione lunghi (ad esempio task ETL di grandi dimensioni, job AI/ML e integrazioni) senza essere vincolati dal timeout del richiamo sincrono.

Specifica del timeout e delle destinazioni per i richiami separati di una funzione

Quando si crea o si aggiorna una funzione, è possibile impostare:

  • il parametro Timeout di richiamo scollegato (detachedModeTimeoutInSeconds) per specificare il timeout di esecuzione della funzione per i richiami scollegati
  • la destinazione di operazione riuscita e la destinazione di errore (rispettivamente successDestination e failureDestination) per specificare le destinazioni alle quali inviare i risultati dei richiami scollegati. Si noti che le destinazioni di operazione riuscita e di operazione non riuscita si applicano solo ai richiami scollegati. Se specifichi una destinazione di successo e/o errore, OCI Functions offre:
    • Record di richiamo per la destinazione di operazione riuscita quando un richiamo scollegato riesce.
    • Record di richiamo per la destinazione dell'errore quando un richiamo scollegato non riesce.

    Le destinazioni supportate per i risultati dei richiami scollegati sono il servizio Notifiche, il servizio Queue e il servizio di streaming. Tenere presente che per scrivere nel servizio di destinazione, OCI Functions richiede le autorizzazioni dei criteri IAM (vedere Creazione di criteri IAM per le destinazioni di richiamo e errore scollegati).

Puoi utilizzare la console, l'interfaccia CLI OCI e l'API per specificare il timeout e le destinazioni per i richiami scollegati.

Ad esempio, è possibile immettere il comando CLI OCI seguente per creare una funzione che, quando richiamata con un tipo di richiamo Scollegato, viene eseguita per un massimo di 1800 secondi prima del timeout e per la quale i risultati dei richiami riusciti e non riusciti vengono inviati alle destinazioni specificate rispettivamente in success-dest.json e failure-dest.json:

oci fn function create --application-id <ocid> --display-name "fn_longer_demo" --image <image> --memory-in-mbs 256 \
  --detached-mode-timeout-in-seconds 1800 \
  --success-destination file://success-dest.json \
  --failure-destination file://failure-dest.json

dove:

  • success-dest.json contiene la stringa JSON seguente:
    {"kind": "STREAM", "streamId": "ocid1.stream.oc1...."}
  • failure-dest.json contiene la stringa JSON seguente:
    {"kind": "QUEUE", "queueId": "ocid1.queue.oc1....", "channelId": "failure1234"}

Vedere SuccessDestinationDetails e FailureDestinationDetails nella documentazione dell'API per gli attributi da specificare per servizi di destinazione diversi.

Creazione di criteri IAM per destinazioni di richiamo riuscite e non riuscite scollegate

OCI Functions richiede le autorizzazioni IAM per scrivere i risultati dei richiami scollegati nelle destinazioni di operazione riuscita e non riuscita specificate nelle definizioni delle funzioni. Il servizio Notifiche, il servizio di streaming e il servizio Queue sono destinazioni di successo e di errore supportate. Se le autorizzazioni non esistono già, è necessario creare i criteri IAM appropriati che includono le istruzioni dei criteri necessarie.

Ad esempio:

  • Per consentire alle funzioni OCI di scrivere i risultati dei richiami scollegati nelle destinazioni riuscite e non riuscite nel servizio di notifiche, includere un'istruzione criterio simile a quella riportata di seguito in un criterio IAM.
    Allow any-user to use ons-topics in compartment <destination-topic-compartment-ocid> where all {request.principal.type= 'fnapp', request.principal.compartment.id='<compartment-ocid>'}
  • Per consentire alle funzioni OCI di scrivere i risultati dei richiami scollegati nelle destinazioni di operazione riuscita e non riuscita nel servizio Queue, includere un'istruzione criterio simile alla seguente in un criterio IAM:
    Allow any-user to use queues in compartment <destination-queue-compartment-ocid> where all {request.principal.type= 'fnapp', target.queue.id='<queue-ocid>', request.principal.compartment.id='<compartment-ocid>'}
  • Per consentire alle funzioni OCI di scrivere i risultati dei richiami scollegati nelle destinazioni di operazione riuscita e non riuscita nel servizio di streaming, includere un'istruzione di criteri simile alla seguente in un criterio IAM:
    Allow any-user to use streams in compartment <destination-stream-compartment-ocid> where all {request.principal.type= 'fnapp', target.stream.id='<stream-ocid>', request.principal.compartment.id='<compartment-ocid>'}

Richiamo funzioni in modalità scollegata

Dopo aver impostato la proprietà Timeout richiamo separato (detachedModeTimeoutInSeconds) di una funzione sul timeout di esecuzione della funzione richiesto e aver fornito facoltativamente destinazioni di operazione riuscita e di errore per i risultati del richiamo (insieme alle istruzioni dei criteri appropriate per consentire alle funzioni OCI di accedere a tali destinazioni), è possibile richiamare la funzione e specificare Scollegato come tipo di richiamo.

Ad esempio:

  • Per richiamare una funzione in modalità scollegata utilizzando l'interfaccia CLI OCI fn function invoke, immettere un comando simile al seguente:

    oci fn function invoke --function-id <function-ocid> --file "-" --body '{"name": "ABC"}' --fn-invoke-type detached
  • Per richiamare una funzione in modalità scollegata utilizzando il comando OCI CLI raw-request, immettere un comando simile al seguente:

    oci raw-request --http-method POST --target-uri <invoke-endpoint> --request-body '{"name": "ABC"}' --request-headers '{"fn-invoke-type" : "detached"}'

Consegna risultati richiamo scollegato

Se hai fornito destinazioni di successo e di errore per i risultati dei richiami scollegati di una funzione (e hai creato istruzioni dei criteri appropriate per consentire alle funzioni OCI di accedere a tali destinazioni), OCI Functions offre:

  • Record di richiamo per la destinazione di operazione riuscita quando un richiamo scollegato riesce.
  • Record di richiamo per la destinazione dell'errore quando un richiamo scollegato non riesce.

Record di richiamo di esempio per il richiamo riuscito:

{
  "id": "01K1Q6K12C1BT01KRZJ000HKB9",
  "version": "1.0",
  "data": {
    "compartmentId": "ocid1.compartment.oc1..aaaaaaaa______jf4a",
    "functionId": "...",
    "applicationId": "...",
    "request": {
      "opcRequestId": "...",
      "fnCallId": "..."
    },
    "response": {
      "status": "200",
      "errorCode": null,
      "errorMessage": null,
      "timestamp": "2025-08-03T05:31:21.392988237Z"
    }
  }
}

Record di richiamo di esempio per il richiamo non riuscito:

{
    "id": "01J6BS40ZC000000000000H7Z0",
    "version": "1.0",
    "data":
    {
        "compartmentId": "ocid1.compartment.oc1..aaaaaaaa______jf4a",
        "functionId": "...",
        "applicationId": "...",
        "request": {
            "opcRequestId": "...",
            "fnCallId": "..."
        },
        "response": {
            "status": "502",
            "errorCode": "FunctionInvokeExecutionFailed",
            "errorMessage": "function failed",
            "timestamp": "2024-08-11T21:47:41.264Z"
        }
    }
}

OCI Functions fornisce i record di richiamo nel formato previsto dalla destinazione.

Se OCI Functions non è in grado di consegnare un record di richiamo alla destinazione (ad esempio, a causa di autorizzazioni mancanti), è possibile utilizzare log e metriche per tenere traccia degli errori di consegna.

Monitoraggio e metriche

Per distinguere tra i tipi di richiamo Sync e Scollegato, le metriche FunctionExecutionDuration, FunctionInvocationCount e FunctionResponseCount includono la dimensione InvokeType.

Per tenere traccia delle consegne riuscite e non riuscite dei record di richiamo alle destinazioni, utilizzare la metrica FunctionDetachedDeliveries.

Per ulteriori informazioni sulle metriche delle funzioni OCI, vedere Metriche funzioni.

Suggerimenti per la risoluzione dei problemi con richiami scollegati

Se si riscontrano problemi con i richiami scollegati o se i record di richiamo non vengono consegnati:

  • Verificare che le autorizzazioni IAM necessarie esistano per concedere alle funzioni OCI l'accesso alla destinazione di destinazione (vedere Creazione di criteri IAM per destinazioni di operazione riuscita e errore di richiamo scollegate).
  • Utilizzare il servizio OCI Logging per esaminare i messaggi di errore. Se OCI Functions non è in grado di consegnare un record di richiamo a una destinazione di destinazione, include il motivo nei log di richiamo in OCI Logging. La voce di log inizia con Invocation record delivery to failure destination failed due to - ... (vedere Memorizzazione e visualizzazione dei log delle funzioni).
  • Utilizzare la metrica FunctionDetachedDeliveries per esaminare i dettagli e gli errori di consegna (vedere Metriche delle funzioni). Per le consegne non riuscite alle destinazioni target, la dimensione responseType della metrica contiene Errore e la dimensione errorMessage contiene la causa dell'errore.