Instructivo de HTTP

En este instructivo sencillo, se muestra cómo escribir, implementar y activar una función de HTTP de Cloud Functions.

Objetivos

Costos

En este instructivo, se usan los siguientes componentes facturables de Cloud Platform:

  • Google Cloud Functions

Usa la calculadora de precios para generar una estimación de los costos según el uso previsto.

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En GCP Console, en la página de selección de proyecto, selecciona o crea un proyecto de GCP.

    Ir a la página de selección de proyecto

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  4. Habilita lasCloud FunctionsAPI.

    Habilita lasAPI

  5. Actualiza los componentes de gcloud:
    gcloud components update
  6. Prepara tu entorno de desarrollo.

Prepara la aplicación

  1. Clona el repositorio de la aplicación de muestra en tu máquina local con el siguiente comando:

    Node.js

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

    De forma alternativa, puedes descargar la muestra como un archivo ZIP y extraerla.

    Python

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

    De forma alternativa, puedes descargar la muestra como un archivo ZIP y extraerla.

    Go

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

    De forma alternativa, puedes descargar la muestra como un archivo ZIP y extraerla.

  2. Ve al directorio que contiene el código de muestra de Cloud Functions:

    Node.js

    cd nodejs-docs-samples/functions/helloworld/

    Python

    cd python-docs-samples/functions/helloworld/

    Go

    cd golang-samples/functions/helloworld/

  3. Observa el código de muestra:

    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!")
    }
    

Implementa la función

Ejecuta el siguiente comando en el directorio helloworld para implementar la función con un activador HTTP:

Node.js 8

gcloud functions deploy helloGET --runtime nodejs8 --trigger-http

Node.js 10 (Beta)

gcloud functions deploy helloGET --runtime nodejs10 --trigger-http

Node.js 6 (obsoleta)

gcloud functions deploy helloGET --runtime nodejs6 --trigger-http

Python

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

Go

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

Activa la función

Para hacer una solicitud HTTP a tu función, ejecuta el siguiente 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" 

donde:

  • REGION es la región en la que se implementa tu función. Esta se puede ver en tu terminal cuando la función termina de implementarse.
  • PROJECT_ID es el ID del proyecto de Cloud. Este se podrá ver en tu terminal cuando la función termine de implementarse.

También puedes visitar el extremo de la función implementada en tu navegador para ver el mensaje “Hello World!”.

Realiza una limpieza

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud Platform por los recursos que usaste en este instructivo:

Cómo borrar el proyecto

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, sigue estos pasos:

  1. En GCP Console, dirígete a la página Administrar recursos.

    Ir a la página Administración de recursos

  2. En la lista de proyectos, selecciona el proyecto que deseas borrar y haz clic en Borrar .
  3. En el cuadro de diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Borra la función de Cloud Functions

Borrar las funciones de Cloud Functions no quita ningún recurso almacenado en Cloud Storage.

Para borrar la función de Cloud Functions que creaste en este instructivo, ejecuta el siguiente comando:

Node.js

gcloud functions delete helloGET 

Python

gcloud functions delete hello_get 

Go

gcloud functions delete HelloGet 

También puedes borrar las funciones de Cloud Functions desde Google Cloud Platform Console.