Scenario: invio di messaggi di coda a una funzione
Integra coda con funzioni mediante hub connettore.
Questo scenario prevede la creazione di una funzione e quindi il riferimento a tale funzione come destinazione in un connettore (Connector Hub) per ricevere ed elaborare i messaggi dalle code.
Il payload ricevuto dalla funzione contiene solo messaggi dalla coda.
Per un'esercitazione correlata, vedere Usa OCI Functions e OCI Queue per autorizzare le funzionalità utente senza esporre il privilegio di amministratore agli approvatori.
Per informazioni sulla risoluzione dei problemi, vedere Risoluzione dei problemi relativi ai connettori.
Criterio IAM necessario
Se si è membri del gruppo Administrators, si dispone già dell'accesso necessario per eseguire questo scenario. In caso contrario, è necessario accedere a Funzioni.
Il workflow per la creazione del connettore include un criterio predefinito quando necessario per fornire l'autorizzazione per la scrittura nel servizio di destinazione. Per informazioni nuove sui criteri, vedere Panoramica dei criteri IAM.
Gestione degli errori durante l'elaborazione delle code
Nel contesto dei messaggi di coda inviati alle funzioni, gli errori parziali durante l'elaborazione dei messaggi all'interno di un batch non sono supportati.
Quando una funzione che sta elaborando un batch di messaggi da una coda rileva un errore, tutti i messaggi in tale batch diventano nuovamente visibili nella coda, inclusi i messaggi elaborati correttamente dalla funzione. Pertanto, un messaggio potrebbe essere elaborato dalla funzione più volte. Come con qualsiasi destinazione, il connettore continua a riprovare a tempo indeterminato fino a quando la destinazione della funzione non riesce. Per ulteriori informazioni, vedere Dettagli di consegna.
Se si verifica un errore durante l'elaborazione di un batch di messaggi, il conteggio delle consegne per tali messaggi viene comunque aumentato. Se il conteggio di consegna di un messaggio raggiunge il massimo definito a livello di coda, il messaggio viene inviato alla coda di messaggi non recapitabili. Per ulteriori informazioni, vedere Conteggio consegne.
Per evitare la rielaborazione dei messaggi, rendi la tua funzione ideale.
Impostazione della coda e della funzione
Prima di poter creare il connettore (hub connettore) , è necessario impostare una coda e una funzione per ricevere i dati dalla coda.
Per istruzioni sulla coda, vedere Creazione di una coda.
Per istruzioni sulle funzioni, vedere:
Il processo di creazione inizia e ne viene visualizzato l'avanzamento. Al termine, viene visualizzata la pagina dei dettagli del connettore. Eseguire l'operazione CreateServiceConnector per creare il connettore.
Richiesta di esempio:
POST /20200909/serviceConnectors Host: service-connector-hub.us-phoenix-1.oraclecloud.com <authorization and other headers> { "displayName": "My Queue to Function Connector", "compartmentId": "<compartment_OCID>", "description": "My connector description", "source": { "kind": "plugin", "pluginName": "QueueSource", "configMap": { "queueId": "<queue_OCID>" } }, "target": { "kind": "functions", "functionId": "<function_OCID>", "batchSizeInKbs": "5000", "batchSizeInNum": "10", "batchTimeInSec": "60" } }
Verifica e risoluzione dei problemi relativi ai richiami
Per verificare e risolvere i problemi relativi ai richiami nel servizio Funzioni, vedere Memorizzazione e visualizzazione dei log delle funzioni.
Confermare che il nuovo connettore sposta i dati
Dopo aver creato il connettore, confermarne lo spostamento.
- Abilita log per il connettore per ottenere i dettagli sul flusso di dati.
- Controllare i risultati previsti nel servizio di destinazione.
La conferma dello spostamento dei dati consente di evitare la disattivazione automatica, che si verifica quando un connettore si guasta per un lungo periodo di tempo.