Agrega una tarea de destino HTTP a una cola de Cloud Tasks
En esta guía de inicio rápido, se muestra cómo agregar una tarea de destino HTTP a una cola de Cloud Tasks con la API de Cloud Tasks.
Antes de comenzar
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crea un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén más información para otorgar roles.
-
Crea un proyecto de: Google Cloud
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto de que estás creando. -
Selecciona el Google Cloud proyecto de que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre del proyecto de Google Cloud .
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Habilita la API de Cloud Tasks:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene elserviceusage.services.enablepermiso. Obtén más información para otorgar roles.gcloud services enable cloudtasks.googleapis.com
-
Si usas un shell local, crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
No es necesario que lo hagas si usas Cloud Shell.
-
Otorga roles a tu cuenta de usuario. Ejecuta el siguiente comando una vez para cada uno de los siguientes roles de IAM:
roles/cloudtasks.admin, roles/logging.viewergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Reemplaza lo siguiente:
PROJECT_ID: ID del proyectoUSER_IDENTIFIER: Es el identificador de tu cuenta de usuario. Por ejemplo,myemail@example.com.ROLE: Es el rol de IAM que otorgas a tu cuenta de usuario.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crea un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén más información para otorgar roles.
-
Crea un proyecto de: Google Cloud
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto de que estás creando. -
Selecciona el Google Cloud proyecto de que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre del proyecto de Google Cloud .
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Habilita la API de Cloud Tasks:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene elserviceusage.services.enablepermiso. Obtén más información para otorgar roles.gcloud services enable cloudtasks.googleapis.com
-
Si usas un shell local, crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
No es necesario que lo hagas si usas Cloud Shell.
-
Otorga roles a tu cuenta de usuario. Ejecuta el siguiente comando una vez para cada uno de los siguientes roles de IAM:
roles/cloudtasks.admin, roles/logging.viewergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Reemplaza lo siguiente:
PROJECT_ID: ID del proyectoUSER_IDENTIFIER: Es el identificador de tu cuenta de usuario. Por ejemplo,myemail@example.com.ROLE: Es el rol de IAM que otorgas a tu cuenta de usuario.
Crea una cola de Cloud Tasks
Usa el gcloud tasks queues create
comando para crear tu cola.
En tu terminal, crea una cola que registre todas las operaciones.
gcloud tasks queues create QUEUE_NAME \ --log-sampling-ratio=1.0 \ --location=REGIONReemplaza lo siguiente:
QUEUE_NAME: Es un nombre para tu cola de Cloud Tasks.REGION: Es la región admitida en la que implementaste tu servicio o aplicación .
Espera a que se inicialice la cola y, luego, verifica que se haya creado correctamente.
gcloud tasks queues describe QUEUE_NAME \ --location=REGIONEl resultado debería ser similar al siguiente ejemplo:
name: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_NAME rateLimits: maxBurstSize: 100 maxConcurrentDispatches: 1000 maxDispatchesPerSecond: 500.0 retryConfig: maxAttempts: 100 maxBackoff: 3600s maxDoublings: 16 minBackoff: 0.100s state: RUNNING
Agrega una tarea a la cola de Cloud Tasks
Usa el
gcloud tasks create-http-task
comando para crear una tarea que apunte a un extremo HTTP y agregarla a tu
cola.
Crea una tarea, agrégala a la cola que creaste y entrégala a un extremo HTTP.
gcloud tasks create-http-task \ --queue=QUEUE_NAME \ --url=URL_PATH \ --method=GET \ --location=REGION \ --project=PROJECT_IDReemplaza
URL_PATHpor la ruta de URL completa a la que se enviará la solicitud. La ruta de acceso debe comenzar conhttp://ohttps://, por ejemplo:https://www.example.com.Para verificar que la tarea se haya ejecutado correctamente, lee los registros.
gcloud logging read --limit=3Los registros deberían verse de la siguiente manera:
jsonPayload: '@type': type.googleapis.com/google.cloud.tasks.logging.v1.TaskActivityLog task: projects/PROJECT_ID/locations/REGION/queues/QUEUE_NAME/tasks/TASK_ID taskCreationLog: scheduleTime: '2024-07-04T19:00:27.801837Z' status: OK targetAddress: GET https://www.example.com/ targetType: HTTP
Limpia
Para evitar que se apliquen cargos a tu Google Cloud cuenta de por los recursos que usaste en esta página, borra el Google Cloud proyecto de que tiene los recursos.
Borra un Google Cloud proyecto de:
gcloud projects delete PROJECT_ID
Como alternativa, puedes borrar la cola de Cloud Tasks:
gcloud tasks queues delete QUEUE_NAME \
--location=REGION