Programando uma Função

Descubra como programar uma função com o OCI Functions.

Para obter pré-requisitos e mais informações, consulte Funções de Programação.

  • Ao usar a Console para programar funções, você pode criar uma nova programação de recursos no Programador de Recursos e adicionar uma função à programação de recursos usando:

    • Páginas da Console do OCI Functions
    • Páginas Console do Programador de Recursos

    Observe que, se quiser editar ou excluir uma programação de recurso existente ou remover uma função de uma programação de recurso, você precisará usar as páginas da Console do Programador de Recursos (para obter mais informações, consulte Gerenciando Programações na documentação do Programador de Recursos).

    Para programar uma função usando as páginas da Console do OCI Functions para criar uma programação no Programador de Recursos:

    1. Na página de lista Aplicativos, selecione o aplicativo que contém a função com a qual você deseja trabalhar. Se precisar de ajuda para localizar a página de lista ou o aplicativo, consulte Listando Aplicativos.
    2. Selecione a guia Funções.

      A página da lista Funções é aberta. Todas as funções no aplicativo selecionado são exibidas em uma tabela.

    3. Selecione o nome da função que você deseja programar e, em seguida, selecione Programações para exibir a página Programações da função.

      Quaisquer programações existentes no compartimento atual ao qual a função já foi adicionada são mostradas.

    4. Na página Programações na Console do OCI Functions, selecione Adicionar Programação para adicionar a função a uma programação.

      É possível adicionar a função a um novo agendamento que você cria (conforme descrito nesta seção) ou adicionar a função a um agendamento existente que você (ou outra pessoa) já criou.

    5. Selecione Criar nova programação e especifique os seguintes detalhes:
      • Nome: Um nome de sua escolha para a nova programação de recurso. Evite digitar informações confidenciais.
      • Descrição: (Opcional) Uma descrição significativa da nova programação de recursos.
      • Compartimento: O compartimento no qual a nova programação de recursos será criada.
    6. Especifique como deseja inserir detalhes para o cronograma selecionando uma das seguintes opções:

      • Interface de formulário: selecione esta opção para definir a programação usando campos na IU.
      • Expressão cron: Selecione esta opção para definir a programação informando uma expressão Cron.
    7. Se você selecionou Interface de formulário como forma de definir a programação, use o campo Intervalo para selecionar o intervalo de tempo da programação e especifique outros detalhes apropriados para o intervalo de tempo da seguinte forma:
      • Uma Vez: Informe a hora e a data UTC em que a programação deve ser iniciada.
      • Por Hora: Informe a frequência com que a programação deve ser repetida (1 = a cada hora, 2 = a cada duas horas, 3 = a cada três horas), a hora UTC e a data em que a programação deve ser iniciada e (opcionalmente) a data em que a programação deve terminar.
      • Diário: Informe a frequência com que a programação deve ser repetida (1 = todos os dias, 2 = a cada dois dias, 3 = a cada três dias), a hora UTC e a data em que a programação deve ser iniciada e (opcionalmente) a data em que a programação deve terminar.
      • Semanal: Informe com que frequência a programação deve ser repetida (1 = a cada semana, 2 = a cada duas semanas, 3 = a cada três semanas), os dias da semana em que a programação deve executar a função, a hora UTC e a data em que a programação deve iniciar e (opcionalmente) a data em que a programação deve terminar.
      • Mensal: Informe a frequência com que a programação deve ser repetida (1 = todo mês, 2 = a cada dois meses, 3 = a cada três meses), os dias do mês em que a programação deve executar a função, a hora UTC e a data em que a programação deve iniciar e (opcionalmente) a data em que a programação deve terminar.

      O campo Resumo mostra uma versão de texto da programação informada.

    8. Se você selecionou Expressão cron como forma de definir a programação, informe os seguintes detalhes:
      • Expressão cron: Informe uma expressão Cron válida para definir o intervalo de programação. Por exemplo:
        • Para definir o agendamento para executar a função todas as semanas às 13:30 UTC nas segundas, terças, quartas, quintas e sextas, insira:
          30 13 * * mon-fri
        • Para definir a programação para executar a função a cada 2 horas no 15º dia de cada mês, insira:
          0 */2 15 * *
      • Horário: Informe o horário UTC em que a programação deve ser iniciada.
      • Data inicial: Informe a data em que a programação deve iniciar.
      • Data final: (Opcional) Informe a data em que a programação deve terminar.

      Para obter mais informações sobre expressões Cron, consulte Usando uma expressão Cron na documentação do Programador de Recursos.

    9. (Opcional) Para passar argumentos e valores para a função, selecione a opção Adicionar payload de chamada e informe os argumentos e valores em um formato esperado pela função. Se a função estiver esperando argumentos e valores como JSON, use um formato JSON válido.
    10. (Opcional) Para aplicar tags ao recurso, selecione Adicionar tag. Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar as tags posteriormente.
    11. Selecione Criar para criar a programação e adicionar a função a ela.

      A nova programação de recursos é mostrada na página Programações da função na Console do OCI Functions.

      Depois de criar a programação de recursos e adicionar uma função a ela, você precisa criar um grupo dinâmico com uma regra que inclua o OCID da programação de recursos e uma instrução de política que conceda ao grupo dinâmico acesso à função:

    12. Selecione a programação de recursos para exibir seus detalhes na Console do Programador de Recursos e copie o OCID da programação. Por exemplo, ocid1.resourceschedule.oc1.phx.amaaaaaa3______owq.
    13. Crie um grupo dinâmico seguindo as instruções em Para criar um grupo dinâmico, forneça um nome ao grupo dinâmico (por exemplo, resource-scheduler-prod-dynamic-group) e especifique uma regra para o grupo dinâmico da seguinte forma:
      ALL {resource.type='resourceschedule', resource.id='<resource-schedule-OCID>'}

      em que <resource-schedule-OCID> corresponde ao OCID da programação de recursos que você copiou anteriormente. Por exemplo:

      ALL {resource.type='resourceschedule', resource.id='ocid1.resourceschedule.oc1.phx.amaaaaaa3______owq'}
    14. Crie uma política para conceder ao novo grupo dinâmico acesso a funções no OCI Functions seguindo as instruções em Para criar uma política, dê um nome à política (por exemplo, resource-scheduler-prod-dyn-grp-policy) e especifique uma instrução de política semelhante à seguinte:
      Allow dynamic-group <dynamic-group-name> to manage functions-family in tenancy

      em que <dynamic-group-name> é o nome do grupo dinâmico que você criou na etapa anterior. Por exemplo:

      Allow dynamic-group resource-scheduler-prod-dynamic-group to manage functions-family in tenancy

    A função agora é chamada de acordo com a programação de recursos que você definiu.

    Para programar uma função usando as páginas do Console do Programador de Recursos para criar uma programação no Programador de Recursos:

    1. Acesse a Console como desenvolvedor de funções.
    2. Abra o menu de navegação e selecione Governança e Administração. Em Agendador de Recursos, selecione Programações.
    3. Selecione a região que você está usando com o OCI Functions.

      Recomendamos que você use a mesma região do registro do Docker especificada no contexto da CLI do Fn Project. Consulte Criando um Contexto da CLI do Fn Project para Conexão com o Oracle Cloud Infrastructure.

    4. Na página Programações na Console do Programador de Recursos, selecione Criar uma programação para criar uma nova programação de recursos.
    5. Na página Informações básicas, especifique os seguintes valores para a programação de recursos:
      • Nome da programação: Um nome de sua escolha para a programação de recurso. Evite digitar informações confidenciais.
      • Descrição da programação: (Opcional) Uma descrição significativa da programação do recurso.
      • Ação a ser executada: Selecione Iniciar.
      • Compartimento: O compartimento no qual a programação de recursos será criada.
      • Mostrar opções avançadas: Selecione essa opção para aplicar tags ao recurso. Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
    6. Selecione Próximo.
    7. Na página Recursos, selecione a função que deseja programar da seguinte forma:
      1. Nas opções de Método de seleção de recursos, selecione a opção Estático - aplicar programação a recursos específicos.
      2. Na caixa Pesquisar e filtrar, use o filtro padrão (Compartimento Tudo) para procurar recursos em todos os compartimentos ou selecione Compartimento para selecionar um compartimento específico no qual procurar recursos.
      3. Na caixa Pesquisar e filtrar, selecione Tipo de recurso.
      4. Selecione FunctionsFunction na lista de tipos de recursos (desmarque quaisquer outros tipos de recursos selecionados) e selecione Aplicar.

        As funções no compartimento selecionado são mostradas.

      5. Selecione a função que deseja agendar.
    8. Selecione Próximo.
    9. Na página Programação, especifique quando e com que frequência você deseja que a função seja executada e quando a programação de recursos deve começar e terminar.

      Para obter mais informações sobre como configurar uma programação de recurso, consulte Adicionando Informações da Programação.

    10. Selecione Próximo.
    11. Na página Revisar, confirme as informações inseridas e selecione Criar programação para programar a função.

      A nova programação de recursos é mostrada na página Programações da Console do Programador de Recursos.

      Depois de criar a programação de recursos e adicionar uma função a ela, você precisa criar um grupo dinâmico com uma regra que inclua o OCID da programação de recursos e uma instrução de política que conceda ao grupo dinâmico acesso à função:

    12. Selecione a programação de recursos para exibir seus detalhes e copie o OCID da programação. Por exemplo, ocid1.resourceschedule.oc1.phx.amaaaaaa3______owq.
    13. Crie um grupo dinâmico seguindo as instruções em Para criar um grupo dinâmico, forneça um nome ao grupo dinâmico (por exemplo, resource-scheduler-prod-dynamic-group) e especifique uma regra para o grupo dinâmico da seguinte forma:
      ALL {resource.type='resourceschedule', resource.id='<resource-schedule-OCID>'}

      em que <resource-schedule-OCID> corresponde ao OCID da programação de recursos que você copiou anteriormente. Por exemplo:

      ALL {resource.type='resourceschedule', resource.id='ocid1.resourceschedule.oc1.phx.amaaaaaa3______owq'}
    14. Crie uma política para conceder ao novo grupo dinâmico acesso a funções no OCI Functions seguindo as instruções em Para criar uma política, dê um nome à política (por exemplo, resource-scheduler-prod-dyn-grp-policy) e especifique uma instrução de política semelhante à seguinte:
      Allow dynamic-group <dynamic-group-name> to manage functions-family in tenancy

      em que <dynamic-group-name> é o nome do grupo dinâmico que você criou na etapa anterior. Por exemplo:

      Allow dynamic-group resource-scheduler-prod-dynamic-group to manage functions-family in tenancy

    A função agora é chamada de acordo com a programação de recursos que você definiu.

  • Use o comando resource-scheduler schedule create do agendador de recursos e os parâmetros necessários para agendar uma função.

    Para obter mais informações, consulte Criando agendamentos

    Para obter uma lista completa de flags e opções de variáveis para comandos da CLI do OCI, consulte a Referência de Linha de Comando.

  • Use a API CreateSchedule do Programador de Recursos para programar uma função.