Funzione di generazione job workflow multimediale
Scopri come utilizzare la funzione predefinita Job Spawner del workflow multimediale in OCI Functions per attivare un job del workflow multimediale quando il contenuto video viene caricato in un bucket di storage degli oggetti.
Scenario di utilizzo comune
Di seguito sono riportati alcuni dei modi comuni per utilizzare la funzione Generatore job workflow multimediale.
- Codifica di un file video con risoluzioni diverse dopo aver caricato un file video in un bucket.
- Codifica di un file audio a velocità di bit diverse dopo aver caricato un file audio in un bucket.
I servizi correlati alla funzione di generazione dei job del workflow multimediale includono:
Ambito
Le considerazioni sull'ambito di questa funzione includono:
- La funzione predefinita rispetta solo il tipo di evento "Oggetto - Crea". La funzione predefinita attiva il job del workflow multimediale solo se nel bucket di origine viene creato un nuovo oggetto.
- La funzione predefinita non attende il completamento del job del workflow multimediale. La funzione semplicemente innesca il lavoro.
Prerequisiti e suggerimenti
Di seguito sono riportate le procedure consigliate per l'utilizzo di questa funzione predefinita.
- Impostare il timeout della funzione predefinita su 300 secondi.
- Assicurarsi che la VCN collegata all'applicazione faciliti l'accesso ad altri servizi OCI utilizzando un gateway di servizi, un gateway Internet o un gateway NAT.
Configurazione della funzione di generazione dei job del workflow multimediale
Per configurare una funzione di generazione dei job del workflow multimediale, effettuare le operazioni riportate di seguito.
Nella finestra di dialogo Distribuzione vengono visualizzati i task per la distribuzione della funzione (vedere Fine della distribuzione delle funzioni predefinite).
Opzioni di configurazione
Parametri di configurazione
| Nome | descrizione; | Richiesto |
|---|---|---|
MEDIA_WORKFLOW_ID
|
ID del workflow multimediale creato per il job. L'impostazione predefinita è null. |
Sì |
DESTINATION_BUCKET
|
Nome del bucket di storage degli oggetti in cui si desidera salvare l'output del job. Il valore predefinito è il bucket specificato qui. | No |
DESTINATION_COMPARTMENT_ID
|
ID del compartimento in cui è presente il bucket di destinazione. L'impostazione predefinita è il compartimento in cui viene creato il workflow multimediale. | No |
PBF_LOG_LEVEL
|
Livello di log, le opzioni sono DEBUG, INFO, WARN e ERROR. L'impostazione predefinita è INFO. |
No |
Autorizzazioni
L'esecuzione di una funzione richiede determinati criteri IAM. Se durante la creazione della funzione è stata selezionata l'opzione Non creare un gruppo dinamico e un criterio IAM, è necessario definire manualmente il gruppo dinamico e il criterio IAM.
Per impostare i criteri appropriati, effettuare le operazioni riportate di seguito.
- Creare un gruppo dinamico con la regola:
ALL {resource.id = '<function_ocid>', resource.compartment.id = '<compartment_ocid>' - Configurare un criterio IAM utilizzando il gruppo dinamico:
Allow dynamic-group <dynamic-group-name> to use media-workflow in compartment <dynamic-group-name> Allow dynamic-group <dynamic-group-name> to manage media-workflow-job in compartment <compartment-name> Allow dynamic-group <dynamic-group-name> to manage object-family in compartment <compartment-name> Allow dynamic-group <dynamic-group-name> to manage media-asset in compartment <compartment-name> Allow dynamic-group <dynamic-group-name> to manage functions-family in compartment <compartment-name>
Sostituire
<function-ocid> con l'OCID della funzione creata nei passi precedenti. Sostituire
<dynamic-group-name> con il nome del gruppo dinamico creato utilizzando l'OCID della funzione.Sostituire
<compartment_ocid> con l'OCID del compartimento che contiene la funzione.Richiamo di questa funzione
Creare due condizioni nella regola evento:
- Condizione come "Tipo di evento", Nome servizio come "Storage degli oggetti" e Tipo di evento come "Oggetto - Crea".
- Condizione come "Attributo", Nome attributo come "bucketName" e fornire il nome del bucket di origine in "Valori attributo".
Il richiamo della funzione predefinita segue i passi riportati di seguito.
- L'inserimento di un file video nell'area di memorizzazione degli oggetti attiva un evento.
- Una regola corrisponde all'evento e richiama la funzione predefinita.
- La funzione predefinita sottomette un job che converte il file video e lo inserisce nel bucket di destinazione.
Corpo risposta
- Indicatori data/ora: utilizzo di UTC per evitare problemi di fuso orario.
- Codice: se il task viene completato correttamente, la funzione restituisce un codice di 200.
- Stato: la funzione restituisce "Operazione riuscita" come stato se il task viene completato correttamente.
- dati: un corpo del messaggio JSON che include informazioni di risposta specifiche per il task.
Esempio
L'esempio riportato di seguito mostra i dati di restituzione JSON.
{
"startTime": "2023-02-22T05:03:13.029Z",
"endTime": "2023-02-22T05:03:24.436Z",
"runTime": "PT11.407S",
"code": 200,
"status": "Success",
"data": {
"additionalInformation": {
"MediaWorkFlowJobId": "ocid1.mediaworkflowjob.oc1.us-ashburn-1.amaaaa...."
}
}
}
Risoluzione dei problemi
Codici di stato comuni delle funzioni OCI
Nella tabella riportata di seguito vengono riepilogati gli errori comuni delle funzioni OCI che possono verificarsi quando si utilizzano funzioni predefinite.
| Codice di errore | Messaggio di errore | Azione |
|---|---|---|
| 200 | Riusciti | Nessuna. |
| 404 | NotAuthorizedOrNotFound | Verificare che i criteri richiesti siano configurati (vedere Esecuzione dei comandi CLI di Fn Project restituisce un errore 404). |
| 444 | Timeout |
La connessione tra il client e le funzioni OCI è stata interrotta durante l'esecuzione della funzione (vedere La chiamata di una funzione fa sì che il client riporti un timeout e nei log della funzione venga visualizzato un errore 444). Un nuovo tentativo potrebbe risolvere il problema. Si noti che la maggior parte dei client ha un timeout interno di 60 secondi. Anche se il timeout della funzione predefinita è impostato su 300 secondi, potrebbe essere necessario effettuare le operazioni riportate di seguito.
Per ulteriori informazioni, vedere Richiamo di funzioni. |
| 502 504 | (varie) | La maggior parte dei problemi restituisce un codice di stato 502 (vedere La chiamata di una funzione restituisce un messaggio di errore Funzione e un errore 502). Un errore 502 con il messaggio "risposta alla funzione di ricezione errore" potrebbe essere risolto aumentando l'allocazione della memoria. Un 502 può verificarsi occasionalmente quando la funzione è in qualche stato transitorio. Un nuovo tentativo potrebbe risolvere il problema. |
Per identificare ulteriormente la causa, abilitare le funzioni di log per la funzione predefinita (vedere Memorizzazione e visualizzazione dei log delle funzioni). Per informazioni dettagliate sulla risoluzione dei problemi di una funzione, vedere Risoluzione dei problemi delle funzioni OCI.
Codici di stato della funzione predefinita per il generatore di job del workflow multimediale
Nella tabella seguente vengono riepilogati gli errori che si possono verificare quando si utilizza questa funzione predefinita.
| Codice di errore | Messaggio di errore | Azione |
|---|---|---|
| 400 | Il payload della funzione ha un tipo di evento errato | Verificare se il tipo di evento è "Oggetto - Crea". |
Per identificare ulteriormente la causa, abilitare le funzioni di log per la funzione predefinita (vedere Memorizzazione e visualizzazione dei log delle funzioni).
Suggerimenti per l'analisi dei log
Tutte le funzioni predefinite forniscono un'opzione per specificare il livello di log come parametro di configurazione. Per ottenere ulteriori informazioni, è possibile impostare il livello di log su DEBUG.
Poiché un'applicazione dispone di più funzioni, le voci di log delle funzioni predefinite vengono identificate dal prefisso "PBF | <PBF NAME>".
Ad esempio, una voce di log per la funzione predefinita Generatore job workflow multimediale ha un aspetto simile al seguente:
"PBF | Media Workflow Job Spawner | INFO | 2023-02-07T18:06:50.809Z | Fetching details from Events JSON"