Função de Spawner do Job do Workflow de Mídia
Descubra como usar a função pré-criada Media Workflow Job Spawner no OCI Functions para acionar um job de workflow de mídia quando o upload do conteúdo de vídeo for feito em um bucket do Object Storage.
Cenário de Uso Comum
As formas comuns de usar a função Media Workflow Job Spawner incluem:
- Codifique um arquivo de vídeo em diferentes resoluções após fazer upload de um arquivo de vídeo em um bucket.
- Codifique um arquivo de áudio em taxas de bits diferentes após fazer upload de um arquivo de áudio em um bucket.
Os serviços relacionados à função Media Workflow Job Spawner incluem:
Escopo
As considerações de escopo para esta função incluem:
- A função pré-criada honra apenas o tipo de evento "Objeto - Criar". A função pré-criada só acionará o job de workflow de mídia se um novo objeto for criado no bucket de origem.
- A função pré-criada não aguarda a conclusão do job de workflow de mídia. A função simplesmente aciona o trabalho.
Pré-requisitos e Recomendações
Veja a seguir as melhores práticas ao usar esta função predefinida:
- Defina o timeout da função pré-criada como 300 segundos.
- Certifique-se de que a VCN vinculada ao aplicativo facilite o acesso a outros serviços do OCI usando um gateway de serviço, um gateway de internet ou um gateway NAT.
Configurando a Função de Spawner do Job do Media Workflow
Para configurar uma função Gerador de Jobs do Workflow de Mídia, execute as seguintes etapas:
A caixa de diálogo de implantação exibe as tarefas para implantar a função (consulte Finalizando a Implantação de Função Pré-Criada).
Opções de Configuração
Parâmetros de configuração
| Nome | Descrição | Obrigatórias |
|---|---|---|
MEDIA_WORKFLOW_ID
|
ID do workflow de mídia criado para o job. O padrão é null. |
Sim |
DESTINATION_BUCKET
|
Nome do bucket de armazenamento de objetos no qual você deseja salvar a saída do job. O padrão é o bucket especificado aqui. | Número |
DESTINATION_COMPARTMENT_ID
|
ID do compartimento no qual o bucket de destino está presente. O padrão é o compartimento no qual o workflow de mídia é criado. | Número |
PBF_LOG_LEVEL
|
No nível de log, as opções são DEBUG, INFO, WARN e ERROR. O padrão é INFO. |
Número |
Permissões
A execução de uma função requer determinadas políticas do serviço IAM. Se você tiver selecionado a opção Não criar um grupo dinâmico e uma política do serviço IAM ao criar a função, defina você mesmo o grupo dinâmico e a política do serviço IAM.
Para definir as políticas adequadas, execute as seguintes etapas:
- Crie um grupo dinâmico com a regra:
ALL {resource.id = '<function_ocid>', resource.compartment.id = '<compartment_ocid>' - Configure uma política do IAM usando o grupo dinâmico:
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>
Substitua
<function-ocid> pelo OCID da função que você criou nas etapas anteriores. Substitua
<dynamic-group-name> pelo nome do grupo dinâmico que você criou usando o OCID da função.Substitua
<compartment_ocid> pelo OCID do compartimento que contém a função.Chamando Esta Função
Crie duas condições na regra de evento:
- Condição como "Tipo de Evento", Nome do serviço como "Object Storage" e Tipo de Evento como "Objeto - Criar".
- Condição como "Atributo", Nome do Atributo como "bucketName" e forneça o nome do bucket de origem em "Valores do Atributo".
A chamada da função pré-criada segue estas etapas:
- Colocar um arquivo de vídeo no armazenamento de objetos aciona um evento.
- Uma regra corresponde ao evento e chama a função pré-criada.
- A função pré-criada envia um job que converte o arquivo de vídeo e coloca o arquivo no bucket de destino.
Corpo da Resposta
- Data/Hora: Usando o UTC para evitar problemas de fuso horário.
- Código: A função retornará um código 200 se a tarefa for concluída com sucesso.
- Status: A função retornará "Sucesso" como o status se a tarefa for concluída com sucesso.
- dados: Um corpo de mensagem JSON que inclui informações de resposta específicas para a tarefa.
Exemplo
O exemplo a seguir mostra os dados de retorno 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...."
}
}
}
Diagnóstico e Solução de Problemas
Códigos de status comuns do OCI Functions
A tabela a seguir resume os erros comuns do OCI Functions que você pode encontrar ao trabalhar com funções predefinidas:
| Código do Erro | Mensagem de Erro | Ação |
|---|---|---|
| 200 | Bem-sucedido | Nenhuma |
| 404 | NotAuthorizedOrNotFound | Verifique se as políticas necessárias estão configuradas (consulte A execução dos comandos da CLI do Fn Project retorna um erro 404). |
| 444 | Timeout |
A conexão entre o cliente e o OCI Functions foi interrompida durante a execução da função (consulte Chamar uma função faz com que o cliente reporte um timeout e um erro 444 é mostrado nos logs da função). Uma nova tentativa pode resolver o problema. Observe que a maioria dos clientes tem um tempo limite interno de 60 segundos. Mesmo quando o timeout da função pré-criada é definido como 300 segundos, o seguinte pode ser necessário:
Para obter mais informações, consulte Chamando Funções. |
| 502 504 | (vários) | A maioria dos problemas retorna um código de status 502 (consulte Chamar uma função retorna uma mensagem de falha de Função e um erro 502). Um erro 502 com a mensagem "erro ao receber resposta da função" pode ser resolvido aumentando a alocação de memória. Um 502 pode ocorrer ocasionalmente quando a função está em algum estado transitório. Uma nova tentativa pode resolver o problema. |
Para identificar melhor a causa, ative os recursos de log para a função pré-criada (consulte Armazenando e Exibindo Logs de Funções). Para obter informações detalhadas sobre a solução de problemas de uma função, consulte Diagnosticando e Solucionando Problemas do Serviço OCI Functions.
Códigos de status da Função Pré-Criada do Gerador de Cargos do Workflow de Mídia
A tabela a seguir resume os erros que você pode encontrar ao trabalhar com essa função predefinida:
| Código do Erro | Mensagem de Erro | Ação |
|---|---|---|
| 400 | A carga útil da função tem Tipo de Evento incorreto | Verifique se o tipo de evento é "Objeto - Criar". |
Para identificar melhor a causa, ative os recursos de log para a função pré-criada (consulte Armazenando e Exibindo Logs de Funções).
Dicas de Análise de Log
Todas as funções pré-criadas fornecem uma opção para especificar o nível de log como um parâmetro de configuração. Você pode definir o nível de log como DEBUG para obter mais informações.
Como um aplicativo tem várias funções, as entradas de log de função pré-criadas são identificadas pelo prefixo "PBF | <PBF NAME> ".
Por exemplo, uma entrada de log para a função pré-criada do Gerador de Job do Workflow de Mídia é semelhante à seguinte:
"PBF | Media Workflow Job Spawner | INFO | 2023-02-07T18:06:50.809Z | Fetching details from Events JSON"