Plantilla de Pub/Sub a Redis

La plantilla de Pub/Sub a Redis es una canalización de transmisión que lee mensajes de una suscripción a Pub/Sub y escribe la carga útil del mensaje en Redis. El caso de uso más común de esta plantilla es exportar registros a Redis Enterprise para realizar un análisis de registros avanzado basado en búsquedas en tiempo real.

  • Para mayor seguridad, habilita una conexión SSL cuando configures la conexión del extremo de la base de datos. Esta plantilla no admite TLS mutua.

Requisitos de la canalización

  • La suscripción de Pub/Sub de origen debe existir antes de ejecutar la canalización.
  • Se debe poder acceder al extremo de la base de datos de Redis desde la subred de trabajadores de Dataflow.

Parámetros de la plantilla

Parámetros obligatorios

  • inputSubscription: Es la suscripción a Pub/Sub desde la que se lee la entrada. Por ejemplo, projects/<PROJECT_ID>/subscriptions/<SUBSCRIPTION_ID>
  • redisHost: Es el host de la base de datos de Redis. Por ejemplo, your.cloud.db.redislabs.com La configuración predeterminada es 127.0.0.1.
  • redisPort: Es el puerto de la base de datos de Redis. Por ejemplo, 12345 La configuración predeterminada es 6379.
  • redisPassword: La contraseña de la base de datos de Redis. La configuración predeterminada es empty.

Parámetros opcionales

  • sslEnabled: Es el parámetro SSL de la base de datos de Redis. La configuración predeterminada es "false".
  • redisSinkType: El receptor de Redis. Los valores admitidos son STRING_SINK, HASH_SINK, STREAMS_SINK, and LOGGING_SINK. Por ejemplo, STRING_SINK. La configuración predeterminada es STRING_SINK.
  • connectionTimeout: Tiempo de espera de conexión de Redis en milisegundos. Por ejemplo, 2000 La configuración predeterminada es 2000.
  • ttl: Es la fecha de vencimiento de la clave en segundos. El valor predeterminado de ttl para HASH_SINK es -1, lo que significa que nunca vence.

Ejecuta la plantilla

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. La región predeterminada es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Pub/Sub to Redis template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

En tu shell o terminal, ejecuta la plantilla:

gcloud dataflow flex-template run JOB_NAME \
    --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/Cloud_PubSub_to_Redis \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       inputSubscription=INPUT_SUBSCRIPTION,\
       redisHost=REDIS_HOST,\
       redisPort=REDIS_PORT,\
       redisPassword=REDIS_PASSWORD,\

Reemplaza lo siguiente:

  • JOB_NAME: Es el nombre del trabajo que elijas
  • VERSION: Es la versión de la plantilla que deseas usar.

    Puedes usar los siguientes valores:

    • latest para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket gs://dataflow-templates-REGION_NAME/latest/
    • el nombre de la versión, como 2023-09-12-00_RC00, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket gs://dataflow-templates-REGION_NAME/
  • REGION_NAME: La región en la que deseas implementar tu trabajo de Dataflow, por ejemplo, us-central1
  • INPUT_SUBSCRIPTION: Es la suscripción de entrada de Pub/Sub.
  • REDIS_HOST: el host de la base de datos de Redis
  • REDIS_PORT: el puerto de la base de datos de Redis
  • REDIS_PASSWORD: la contraseña de la base de datos de Redis

API

Para ejecutar la plantilla con la API de REST, envía una solicitud POST HTTP. Para obtener más información de la API y sus permisos de autorización, consulta projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launchParameter": {
     "jobName": "JOB_NAME",
     "parameters": {
       "inputSubscription": "INPUT_SUBSCRIPTION",
       "redisHost": "REDIS_HOST",
       "redisPort": "REDIS_PORT",
       "redisPassword": "REDIS_PASSWORD",
     },
     "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/Cloud_PubSub_to_Redis",
     "environment": { "maxWorkers": "10" }
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto Google Cloud en el que deseas ejecutar el trabajo de Dataflow
  • JOB_NAME: Es el nombre del trabajo que elijas
  • VERSION: Es la versión de la plantilla que deseas usar.

    Puedes usar los siguientes valores:

    • latest para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket gs://dataflow-templates-REGION_NAME/latest/
    • el nombre de la versión, como 2023-09-12-00_RC00, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket gs://dataflow-templates-REGION_NAME/
  • LOCATION: La región en la que deseas implementar tu trabajo de Dataflow, por ejemplo, us-central1
  • INPUT_SUBSCRIPTION: Es la suscripción de entrada de Pub/Sub.
  • REDIS_HOST: el host de la base de datos de Redis
  • REDIS_PORT: el puerto de la base de datos de Redis
  • REDIS_PASSWORD: la contraseña de la base de datos de Redis

¿Qué sigue?