Instructivo HTTP

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

Objetivos

Costos

Este instructivo usa componentes facturables de Cloud Platform, incluidos los siguientes:

  • 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. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. Select or create a GCP project.

    Go to the Project selector page

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

    Descubre cómo puedes habilitar la facturación

  4. Habilita las Cloud Functions API necesarias.

    Habilita las API

  5. Actualiza y, luego, instala los componentes de gcloud:

    Node.js 6

    gcloud components update

    Node.js 8 (Beta)

    gcloud components update &&
    gcloud components install beta

    Python (Beta)

    gcloud components update &&
    gcloud components install beta

    Go (Beta)

    gcloud components update &&
    gcloud components install beta
  6. Prepara tu entorno de programación.

Prepara la aplicación

  1. Clona el repositorio de la app de muestra en tu máquina local:

    Node.js

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

    De manera opcional, puedes descargar la muestra como un archivo zip y extraerla.

    Python (Beta)

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

    De manera opcional, puedes descargar la muestra como un archivo zip y extraerla.

    Go (Beta)

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

    De manera opcional, puedes descargar la muestra como un archivo zip y extraerla.

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

    Node.js

    cd nodejs-docs-samples/functions/helloworld/

    Python (Beta)

    cd python-docs-samples/functions/helloworld/

    Go (Beta)

    cd golang-samples/functions/helloworld/

  3. Consulta 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 (Beta)

    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 (Beta)

    // Package helloworld provides a set of Cloud Function 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

Para implementar la función con un activador HTTP, ejecuta el siguiente comando en el directorio helloworld:

Node.js 6

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

Node.js 8 (Beta)

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

Python (Beta)

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

Go (Beta)

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 (Beta)

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

Go (Beta)

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

en la que:

  • 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 puede ver en tu terminal cuando la función termina de implementarse.

También puedes visitar el extremo de la función implementada en tu navegador para ver el mensaje de "Hola, mundo".

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, haz lo siguiente:

  1. In the GCP Console, go to the Projects page.

    Go to the Projects page

  2. In the project list, select the project you want to delete and click Delete .
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

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 (Beta)

gcloud functions delete hello_get 

Go (Beta)

gcloud functions delete HelloGet 

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

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Cloud Functions