IBM Cloud Docs
Construindo aplicativos que armazenam informações em IBM Cloudant

Construindo aplicativos que armazenam informações em IBM Cloudant

Aprenda a construir o seu aplicativo Code Engine a partir de código-fonte que é armazenado em sua estação de trabalho local. Este tutorial usa fonte de amostra que é usada para construir o app. Este aplicativo se conecta a um banco de dados IBM Cloudant e armazena entrada a partir desse app.

Uma construção, ou construção de imagem, é um mecanismo que você pode usar para criar uma imagem de contêiner por meio do seu código-fonte. O Code Engine suporta a construção por meio de um Dockerfile e Cloud Native Buildpacks.

Antes de Iniciar

Todos os usuários do Code Engine são obrigados a ter uma conta pré-paga. Os tutoriais podem gerar custos adicionais. Use o Estimador de custos para gerar uma estimativa de custo com base em seu uso planejado. Para obter mais informações, consulte Code Engine precificação.

Crie uma instância de serviço e banco de dados IBM Cloudant

Seu primeiro passo é criar uma instância de serviço IBM Cloudant e, em seguida, criar um banco de dados. Você pode criar uma a partir do console ou usando comandos CLI. Além disso, crie credenciais de serviço que você pode passar para o seu aplicativo.

  1. Crie uma instância de serviço IBM Cloudant, siga as etapas em Introdução ao IBM Cloudant. Nomeie sua instância CloudantFruitCounter. Certifique-se de concluir a tarefa, criando suas credenciais de serviço.
  2. Abra o painel IBM Cloudant para sua instância e clique em Criar banco de dados.
  3. Na janela Criar banco de dados, digite o nome do banco de dados fruitcounter.
  4. Não selecione a opção Particionado, e clique em Criar.

Teste sua aplicação localmente

Antes de criar o seu código como um aplicativo em Code Engine, teste seu código localmente para ter certeza de que ele está funcionando corretamente.

  1. Recupere as credenciais de serviço IBM Cloudant a partir do painel IBM Cloudant. Para obter mais informações sobre a recuperação de credenciais, consulte Criando credenciais de serviço.

  2. Configure variáveis de ambiente com os valores a partir das credenciais de serviço.

    export CLOUDANT_URL=<your_url>
    
    export CLOUDANT_APIKEY=<your_key>
    
    export DBNAME="fruitcounter"
    
  3. Clone o repositório fruit-counter, mude para este diretório e, em seguida, instale e inicie as dependências.

    git clone https://github.com/IBM/CodeEngine
    cd CodeEngine/fruit-counter
    npm install
    npm run start
    
  4. Abra um navegador e vá para http://localhost:8080

  5. Escolha sua fruta favorita e envie sua escolha. O app aceita sua escolha e exibe um total de picks em execução.

Você pode verificar se a sua escolha de frutas foi registrada no Cloudant ao ir para o seu painel de banco de dados IBM Cloudant.

Vamos ver como este programa funciona.

Esse aplicativo é um aplicativo simples do Node.js que usa dois pacotes principais

  • @ibm-cloud/cloudant para se conectar ao IBM Cloudant e para ler e escrever dados.
  • Express para criar um servidor web que permita que os usuários submetam sua escolha de frutas e veja um total rodado de nossos dados.

Este aplicativo é composto por dois arquivos principais.

server.js
O arquivo server.js é usado para executar o servidor web e se comunica com Cloudant. Depois que um usuário seleciona uma escolha de fruta, a página final frontal submete o valor para a rota /fruit (veja abaixo), a função app.route armazena um novo documento em Cloudant com a escolha da fruta e, em seguida, lê de volta o total em execução para retornar à página final da frente.
A operação de leitura usa um documento de design Cloudant e uma visualização MapReduce para agregar documentos. Para obter mais informações sobre visualizações e documentos de design, consulte Criando Visualizações(MapReduce).
index.html
O arquivo index.html é a página da web do aplicativo que usa a estrutura Vue.js Quando esta página carrega, ele exibe as opções de frutas disponíveis.
Após enviar sua escolha, a framework faz um pedido HTTP POST com sua seleção de frutas para a rota /fruit do aplicativo. O retorno do aplicativo contém o total de opções de opções de frutas, que é então exibido.

Implementando seu aplicativo em Code Engine

Agora que você entende como esse aplicativo funciona, você pode implementá-lo em Code Engine. Você pode seguir as etapas para implementar um aplicativo a partir de um repositório público, especificando CODEENGINEREPO como seu repositório de imagens. Certifique-se de incluir as variáveis de ambiente que você reuniu e configurar localmente na etapa 2.

Como você clonou o repositório quando você testou seu aplicativo localmente, você pode usar o comando app create para ambos construir uma imagem a partir de sua origem local e implementar o seu aplicativo que referencia esta imagem construída.

  1. Execute o comando app create.. Deve-se fornecer um nome para o seu aplicativo e a localização do código-fonte. O exemplo a seguir cria um aplicativo chamado myfruitcounter que usa a estratégia docker e fornece o local para o código-fonte no diretório atual (.). Você também deve configurar as variáveis de ambiente para se conectar ao Cloudant.

    ibmcloud ce app create --name myfruitcounter --build-source . --strategy dockerfile --env CLOUDANT_URL=<your_url> --env CLOUDANT_APIKEY=<your_key> --env DBNAME=fruitcounter  
    

    Saída de exemplo

    Creating application 'myfruitcounter'...
    Packaging files to upload from source path '.'...
    Submitting build run 'myfruitcounter-run-220727-142949868'...
    Creating image 'private.us.icr.io/ce--6ef04-n2lgvg2l59v/app-myfruitcounter:220727-1929-y8ej0'...
    Waiting for build run to complete...
    Build run status: 'Running'
    Build run completed successfully.
    Run 'ibmcloud ce buildrun get -n myfruitcounter-run-220727-142949868' to check the build run status.
    Waiting for application 'myfruitcounter' to become ready.
    Configuration 'myfruitcounter' is waiting for a Revision to become ready.
    Ingress has not yet been reconciled.
    Waiting for load balancer to be ready.
    Run 'ibmcloud ce application get -n myfruitcounter' to check the application status.
    OK                                                
    
    https://myfruitcounter.n2lfrg2876v.us-south.codeengine.appdomain.cloud
    
  2. Teste o app abrindo a URL fornecida para o app do selecionador de frutas. Escolha sua fruta favorita e envie. O total de opções de escolhas de frutas é exibido. Você pode atualizar o aplicativo e escolher outro fruto. A adição é exibida no total de execução.