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
Se os usuários e grupos adequados ainda não existirem:
- Acesse a Console como administrador da tenancy.
- Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Domínios.
- Selecione um domínio e selecione a guia Gerenciamento de usuários.
- Crie um novo grupo selecionando Criar grupo na seção Grupos.
- Crie um novo usuário selecionando Criar na seção Usuários.
- 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.
Se ainda não existir um compartimento adequado no qual criar recursos de rede e recursos do OCI Functions:
- Acesse a Console como administrador da tenancy.
- Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Compartimentos.
- Selecione Criar Compartimento.
Consulte Notas de Configuração para obter mais informações.
Se ainda não existir uma VCN adequada na qual criar recursos de rede:
- Acesse a Console como administrador da tenancy.
- Abra o menu de navegação , selecione Rede e selecione Redes virtuais na nuvem.
- Selecione Iniciar Assistente de VCN no menu Ações para criar uma nova VCN.
- No painel Iniciar Assistente da VCN, selecione Criar VCN com Conectividade da Internet e Iniciar Assistente da VCN.
- 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.
Se um ou mais usuários do OCI Functions não forem um administrador da tenancy:
- Acesse a Console como administrador da tenancy.
- Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Políticas.
-
Selecione Criar Política, especifique um nome e uma descrição para a nova política e selecione o compartimento raiz da tenancy.
-
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
- Acesse a Console como desenvolvedor de funções.
- Abra o menu de navegação e selecione Serviços ao Desenvolvedor. Em Funções, selecione Aplicativos.
- Selecione a região que você está usando com o OCI Functions.
- Selecione Criar aplicativo.
- 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.
- Selecione Criar.
Consulte instruções detalhadas para obter mais informações.
C. Configure seu ambiente de desenvolvimento do Cloud Shell
Na página de lista Aplicativos da Console:
- Selecione o aplicativo helloworld-app que você acabou de criar para exibir a página de detalhes do aplicativo.
-
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.
- Selecione Iniciar cloud shell para exibir a janela de terminal do Cloud Shell.
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:
-
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).
-
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
-
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...
-
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
-
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.
No painel Configuração do Cloud Shell na Console:
- Selecione Gerar um token de autenticação para exibir a página Tokens de Autenticação e selecione Gerar Token.
- 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).
- 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.
- Feche a caixa de diálogo Gerar Token.
Consulte Notas de Configuração para obter mais informações.
No painel Configuração do Cloud Shell na Console:
-
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
- Na janela do terminal, cole o comando que você acabou de copiar e execute-o.
-
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
Na janela de terminal:
-
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.
Na janela de terminal:
- Altere o diretório para o diretório hello-java criado na etapa anterior:
cd hello-java
- 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
- (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.
Na janela de terminal:
-
Chame a função hello-java digitando:
fn invoke helloworld-app hello-java
A mensagem 'Hello world!' é exibida.
-
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.
Agora que você criou, implantou e chamou uma função, saiba como:
- exibir logs de função no serviço Oracle Cloud Infrastructure Logging ou configurando um URL de syslog (consulte Armazenando e Exibindo Logs de Função
- explorar o OCI Functions usando amostras em GitHub (consulte Amostras do Oracle Functions)
- chamar uma função usando SDKs (consulte Usando SDKs para Chamar Funções)
Terminou!