Tutorial sobre HTTP

Neste simples tutorial, demonstraremos como gravar, implantar e acionar uma Cloud Function HTTP.

Objetivos

Custos

Este tutorial usa componentes do Cloud Platform que podem ser cobrados, incluindo:

  • Google Cloud Functions

Use a calculadora de preços para gerar uma estimativa de custo com base no uso previsto.

Antes de começar

  1. Faça login na sua Conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do GCP, na página do seletor de projetos, selecione ou crie um projeto do GCP.

    Acesse a página do seletor de projetos

  3. Verifique se o faturamento foi ativado no projeto do Google Cloud Platform. Saiba como confirmar que o faturamento está ativado para seu projeto.

  4. Ative a(s) Cloud Functions API necessária(s).

    Ativar a(s) API

  5. Atualize os componentes gcloud:
    gcloud components update
  6. Prepare seu ambiente de desenvolvimento.

Como preparar o aplicativo

  1. Clone o repositório do aplicativo de amostra na máquina local:

    Node.js

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git

    Outra alternativa é fazer o download da amostra como um arquivo ZIP e extraí-lo.

    Python

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git

    Outra alternativa é fazer o download da amostra como um arquivo ZIP e extraí-lo.

    Go

    git clone https://github.com/GoogleCloudPlatform/golang-samples.git

    Outra alternativa é fazer o download da amostra como um arquivo ZIP e extraí-lo.

  2. Altere para o diretório que contém o código de amostra do Cloud Functions:

    Node.js

    cd nodejs-docs-samples/functions/helloworld/

    Python

    cd python-docs-samples/functions/helloworld/

    Go

    cd golang-samples/functions/helloworld/

  3. Confira o código de amostra:

    Node.js

    /**
     * HTTP Cloud Function.
     * This function is exported by index.js, and is executed when
     * you make an HTTP request to the deployed function's endpoint.
     *
     * @param {Object} req Cloud Function request context.
     *                     More info: https://expressjs.com/en/api.html#req
     * @param {Object} res Cloud Function response context.
     *                     More info: https://expressjs.com/en/api.html#res
     */
    exports.helloGET = (req, res) => {
      res.send('Hello World!');
    };

    Python

    def hello_get(request):
        """HTTP Cloud Function.
        Args:
            request (flask.Request): The request object.
            <http://flask.pocoo.org/docs/1.0/api/#flask.Request>
        Returns:
            The response text, or any set of values that can be turned into a
            Response object using `make_response`
            <http://flask.pocoo.org/docs/1.0/api/#flask.Flask.make_response>.
        """
        return 'Hello World!'

    Go

    
    // Package helloworld provides a set of Cloud Functions samples.
    package helloworld
    
    import (
    	"fmt"
    	"net/http"
    )
    
    // HelloGet is an HTTP Cloud Function.
    func HelloGet(w http.ResponseWriter, r *http.Request) {
    	fmt.Fprint(w, "Hello, World!")
    }
    

Como implantar a função

Para implantar a função com um acionador HTTP, execute o seguinte comando no diretório helloworld:

Node.js

gcloud functions deploy helloGET --runtime nodejs8 --trigger-http
É possível usar os seguintes valores para que a sinalização --runtime use versões diferentes do Node.js:
  • nodejs6 (obsoleto)
  • nodejs8
  • nodejs10 (beta)

Python

gcloud functions deploy hello_get --runtime python37 --trigger-http

Go

gcloud functions deploy HelloGet --runtime go111 --trigger-http

Como acionar a função

Para fazer uma solicitação HTTP para sua função, execute o seguinte comando:

Node.js

curl "https://REGION-PROJECT_ID.cloudfunctions.net/helloGET" 

Python

curl "https://REGION-PROJECT_ID.cloudfunctions.net/hello_get" 

Go

curl "https://REGION-PROJECT_ID.cloudfunctions.net/HelloGet" 

em que

  • REGION é a região onde sua função é implantada. Visível no seu terminal quando a implantação da função termina.
  • PROJECT_ID é seu ID do projeto do Cloud. Visível no seu terminal quando a implantação da função termina.

Também é possível visitar o endpoint da função implantada no seu navegador para ver a mensagem "Hello World!".

Limpeza

Para evitar que os recursos usados neste tutorial sejam cobrados na conta do Google Cloud Platform:

Como excluir o projeto

O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.

Para excluir o projeto:

  1. No Console do GCP, acesse a página Gerenciar recursos.

    Acessar a página Gerenciar recursos

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

Como excluir o Cloud Function

A exclusão de Cloud Functions não remove nenhum recurso armazenado no Cloud Storage.

Para excluir a função do Cloud criada neste tutorial, execute o seguinte comando:

Node.js

gcloud functions delete helloGET 

Python

gcloud functions delete hello_get 

Go

gcloud functions delete HelloGet 

Também é possível excluir o Cloud Functions do Console do Google Cloud.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud Functions