Início Rápido do Serviço Functions no Cloud Shell

Descubra como configurar e executar rapidamente no Cloud Shell usando este OCI Functions QuickStart.

A. Configurar sua tenancy

1. Criar grupos e usuários

Se os usuários e grupos adequados ainda não existirem:

  1. Acesse a Console como administrador da tenancy.
  2. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Domínios.
  3. Selecione um domínio e selecione a guia Gerenciamento de usuários.
  4. Crie um novo grupo selecionando Criar grupo na seção Grupos.
  5. Crie um novo usuário selecionando Criar na seção Usuários.
  6. Adicione um usuário a um grupo selecionando o nome do grupo e, em seguida, Designar usuário ao grupo na guia Usuários.

Consulte Notas de Configuração para obter mais informações.

2. Criar compartimento

Se ainda não existir um compartimento adequado no qual criar recursos de rede e recursos do OCI Functions:

  1. Acesse a Console como administrador da tenancy.
  2. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Compartimentos.
  3. Selecione Criar Compartimento.

Consulte Notas de Configuração para obter mais informações.

3. Criar VCN e sub-redes

Se ainda não existir uma VCN adequada na qual criar recursos de rede:

  1. Acesse a Console como administrador da tenancy.
  2. Abra o menu de navegação , selecione Rede e selecione Redes virtuais na nuvem.
  3. Selecione Iniciar Assistente de VCN no menu Ações para criar uma nova VCN.
  4. No painel Iniciar Assistente da VCN, selecione Criar VCN com Conectividade da Internet e Iniciar Assistente da VCN.
  5. Digite um nome para a nova VCN, selecione Próximo e, em seguida, selecione Criar para criar a VCN junto com os recursos de rede relacionados.

Consulte Notas de Configuração para obter mais informações.

4. Criar política para grupo e serviço

Se um ou mais usuários do OCI Functions não forem um administrador da tenancy:

  1. Acesse a Console como administrador da tenancy.
  2. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Políticas.
  3. Selecione Criar Política, especifique um nome e uma descrição para a nova política e selecione o compartimento raiz da tenancy.

  4. Use o Policy Builder para criar a política. Selecione Funções na lista de Casos de uso da política e baseie a política no modelo de política Permitir que os usuários criem, implantem e gerenciem funções e aplicativos.

    O modelo de política inclui as seguintes instruções de política:

    • Allow group <group-name> to use cloud-shell in tenancy
    • Allow group <group-name> to manage repos in tenancy
    • Allow group <group-name> to read objectstorage-namespaces in tenancy
    • Allow group <group-name> to manage logging-family in tenancy
    • Allow group <group-name> to read metrics in tenancy
    • Allow group <group-name> to manage functions-family in tenancy
    • Allow group <group-name> to use virtual-network-family in tenancy
    • Allow group <group-name> to use apm-domains in tenancy
    • Allow group <group-name> to read vaults in tenancy
    • Allow group <group-name> to use keys in tenancy
    • Allow service faas to use apm-domains in tenancy
    • Allow service faas to read repos in tenancy where request.operation='ListContainerImageSignatures'
    • Allow service faas to {KEY_READ} in tenancy where request.operation='GetKeyVersion'
    • Allow service faas to {KEY_VERIFY} in tenancy where request.operation='Verify'

    Se necessário, você pode restringir essas instruções de política por compartimento.

Consulte Notas de Configuração para obter mais informações.

B. Criar aplicativo

1. Crie seu primeiro aplicativo
  1. Acesse a Console como desenvolvedor de funções.
  2. Abra o menu de navegação e selecione Serviços ao Desenvolvedor. Em Funções, selecione Aplicativos.
  3. Selecione a região que você está usando com o OCI Functions.
  4. Selecione Criar aplicativo.
  5. Especifique:
    • helloworld-app como o nome do novo aplicativo. Você implantará sua primeira função neste aplicativo e especificará esse aplicativo ao chamar a função.
    • A VCN e a sub-rede na qual executar a função. Observe que uma sub-rede pública requer um gateway de internet na VCN, e uma sub-rede privada requer um gateway de serviço na VCN.
  6. Selecione Criar.

Consulte instruções detalhadas para obter mais informações.

C. Configure seu ambiente de desenvolvimento do Cloud Shell

1. Exibir o painel de configuração do Cloud Shell e a janela do Cloud Shell

Na página de lista Aplicativos da Console:

  1. Selecione o aplicativo helloworld-app que você acabou de criar para exibir a página de detalhes do aplicativo.
  2. Vá para a seção Conceitos Básicos e selecione Guia de Exibição ao lado de Configuração do Cloud Shell.

    Dica: O painel Configuração do Cloud Shell agora exibe comandos adaptados especificamente para você. Você copia e cola esses comandos para configurar seu ambiente do Cloud Shell para desenvolvimento de funções.

  3. Selecione Iniciar cloud shell para exibir a janela de terminal do Cloud Shell.
2. Configurar o contexto da CLI do Fn Project

Copie e cole comandos do painel Configuração do Cloud Shell na janela de terminal do Cloud Shell para configurar seu ambiente, da seguinte forma:

  1. Localize o nome do contexto do Projeto Fn pré-criado para a região atual na qual você criou o aplicativo:

    fn list context

    Pelo menos dois contextos do Projeto Fn são retornados, um contexto padrão e um contexto para a região atual (por exemplo, chamado us-phoenix-1).

  2. Defina o contexto do Fn Project para usar o contexto da região:

    fn use context <region-context>

    em que <region-context> é o contexto da região atual. Por exemplo:

    fn use context us-phoenix-1
  3. Configure o contexto do Fn Project com o OCID do compartimento atual que possuirá funções implantadas:

    fn update context oracle.compartment-id <compartment-ocid>

    Por exemplo:

    fn update context oracle.compartment-id ocid1.compartment.oc1..aaaaaaaarvdfa72n...
  4. Configure o contexto do Fn Project com o endereço do Oracle Cloud Infrastructure Registry na região e tenancy atuais que você deseja usar com o OCI Functions:

    fn update context registry <region-key>.ocir.io/<tenancy-namespace>/<repo-name-prefix>

    em que <repo-name-prefix> é um prefixo de sua escolha para o repositório do Oracle Cloud Infrastructure Registry no qual as imagens serão armazenadas para a função. Por exemplo:

    fn update context registry phx.ocir.io/ansh81vru1zp/acme-repo
  5. Configure o contexto do Fn Project com o OCID do compartimento para repositórios de/para os quais você deseja que o OCI Functions envie e extraia imagens de função digitando:

    fn update context oracle.image-compartment-id <compartment-ocid>

    Por exemplo:

    fn update context oracle.image-compartment-id ocid1.compartment.oc1..aaaaaaaaquqe______z2q

    Se você não especificar um valor para oracle.image-compartment-id, o OCI Functions enviará e extrairá imagens de/para repositórios no compartimento raiz.

Consulte Notas de Configuração para obter mais informações.

3. Gerar token de autenticação

No painel Configuração do Cloud Shell na Console:

  1. Selecione Gerar um token de autenticação para exibir a página Tokens de Autenticação e selecione Gerar Token.
  2. Informe uma descrição significativa para o token de autenticação na caixa de diálogo Gerar Token e selecione Gerar Token. O novo token de autenticação será exibido (por exemplo, 6aN...6MqX).
  3. Copie o token de autenticação imediatamente para uma localização segura de onde você poderá recuperá-lo posteriormente, porque não verá o token de autenticação novamente na Console.
  4. Feche a caixa de diálogo Gerar Token.

Consulte Notas de Configuração para obter mais informações.

4. Identificar-me no Registro

No painel Configuração do Cloud Shell na Console:

  1. Copie o comando a seguir:

    docker login -u '<tenancy-namespace>/<user-name>' <region-key>.ocir.io

    Por exemplo:

    docker login -u 'ansh81vru1zp/jdoe@acme.com' phx.ocir.io

    Se sua tenancy for federada com o Oracle Identity Cloud Service, o formato será um pouco diferente. Por exemplo:

    docker login -u 'ansh81vru1zp/oracleidentitycloudservice/jdoe@acme.com' phx.ocir.io
  2. Na janela do terminal, cole o comando que você acabou de copiar e execute-o.
  3. Quando for solicitada uma senha, digite o token de autenticação do Oracle Cloud Infrastructure que você criou e copiou anteriormente. Por exemplo, 6aN...6MqX

    Agora você está pronto para começar a criar, implantar e chamar funções.

Consulte Notas de Configuração para obter mais informações.

D Criar, implantar e chamar sua função

1. Crie sua primeira função

Na janela de terminal:

  1. Crie uma função java helloworld informando:

    fn init --runtime java hello-java

    Um diretório chamado hello-java é criado, contendo:

    • um arquivo de definição de função chamado func.yaml
    • um diretório /src contendo arquivos e diretórios de origem para a função helloworld
    • um arquivo de configuração Maven chamado pom.xml que especifica as dependências necessárias para compilar a função

    O Java é apenas uma das várias linguagens suportadas.

    Consulte instruções detalhadas para obter mais informações.

2. Implemente sua primeira função

Na janela de terminal:

  1. Altere o diretório para o diretório hello-java criado na etapa anterior:
    cd hello-java
  2. Informe o seguinte comando único do Fn Project para construir a função e suas dependências como uma imagem Docker chamada hello-java, submeta a imagem ao registro Docker especificado e implante a função no OCI Functions no aplicativo helloworld-app que você criou anteriormente:
    fn -v deploy --app helloworld-app
  3. (Opcional) Confirme se a função foi implantada no OCI Functions selecionando a guia Functions (na página de detalhes do aplicativo helloworld-app) e observando que a função hello-java agora aparece.

Consulte instruções detalhadas para obter mais informações.

3. Chamar sua primeira função

Na janela de terminal:

  1. Chame a função hello-java digitando:

    fn invoke helloworld-app hello-java

    A mensagem 'Hello world!' é exibida.

  2. Chame a função hello-java com o parâmetro 'John' digitando:

    echo -n 'John' | fn invoke helloworld-app hello-java

    A mensagem 'Hello John!' é exibida.

Parabéns! Você acabou de criar, implantar e chamar sua primeira função usando o OCI Functions!

Consulte instruções detalhadas para obter mais informações.

4. Próximas etapas

Agora que você criou, implantou e chamou uma função, saiba como:

Terminou!