TIPCommon.adapters

class TIPCommon.adapters.pubsub.pubsub.PubSubAdapter

clase TIPCommon.adapters.pubsub.pubsub.PubSubAdapter(session, project_id=None, logger=None, region=None)

Bases: object

Clase de adaptador para gestionar temas y suscripciones de Pub/Sub de proyectos. Google Cloud

ack

ack(sub_name, ack_ids)

Confirma los mensajes asociados al ackIDs en la respuesta AcknowledgeRequest devuelta por PubSubAdapter.pull().

Parámetros
sub_name (str)

El nombre de la suscripción.

ack_ids (list[str])

Lista de IDs de confirmación de los mensajes que se están confirmando. El sistema Pub/Sub devuelve la lista en la respuesta PubSubAdapter.pull().

Compilación estática de build_pubsub_message

estático build_pubsub_message(message_content, encoding='utf-8', ordering_key=None, **attr)

Crea un objeto PubSubMessage.

Parámetros
message_content (str)

El contenido del mensaje.

encoding (str)

El tipo de codificación para codificar o decodificar el texto del mensaje.

El valor predeterminado es UTF-8.

ordering_key Opcional (str)

Si se usa, el parámetro identifica todos los mensajes relacionados que deben seguir el orden de publicación.

**attr Optional

(str)

Atributos que se van a transferir como atributos de objeto de mensaje.

Devoluciones

Objeto TIPCommon.adapters.pubsub.PubSubMessage.

Tipo de devolución

PubSubMessage

create_subscription

create_subscription(sub_name, topic, **attr)

Crea una suscripción de Pub/Sub para el tema especificado.

Parámetros
sub_name (str)

El nombre de la suscripción.

topic (str)

Nombre del tema de Pub/Sub para el que se va a crear la suscripción.

**attr Parámetros adicionales que se transfieren a la solicitud de suscripción.

Devoluciones

Objeto TIPCommon.adapters.pubsub.Subscription de la suscripción creada.

Tipo de devolución

Subscription

create_topic

create_topic(topic_name)

Crea un tema de Pub/Sub en un Google Cloud proyecto.

Parámetros
topic_name (str)

El nombre del tema. El nombre debe corresponderse con las Google Cloud reglas de nomenclatura de recursos.

Devoluciones

Objeto TIPCommon.adapters.pubsub.Topic del tema creado.

Tipo de devolución

Topic

delete_subscription

delete_subscription(sub_name)

Elimina una suscripción de Pub/Sub de un Google Cloud proyecto.

Parámetros
sub_name (str)

Nombre de la suscripción que se va a eliminar.

delete_topic

delete_topic(topic_name)

Elimina un tema de Pub/Sub de un proyecto de Google Cloud .

Parámetros
topic_name (str)

El tema que se va a eliminar.

static from_credentials

estático from_credentials(credentials, project_id=None, verify_ssl=True, quota_project=None, logger=None, region=None)

Crea un objeto PubSubAdapter a partir de un objeto google.oauth2.credentials.Credentials.

Parámetros
credentials (google.oauth2.credentials.Credentials)

Objeto google.oauth2.credentials.Credentials.

project_id Opcional (str)

El Google Cloud ID del proyecto.

Si no se proporciona, la función intentará usar el proyecto configurado en el objeto de credenciales de forma predeterminada.

verify_ssl Opcional (bool)

Especifica si la verificación del certificado SSL está habilitada para las sesiones HTTP.

quota_project Opcional (str)

El proyecto que se va a usar para la cuota y la facturación.

logger Opcional (SiemplifyLogger)

Objeto SiemplifyLogger.

region (str)

La región en la que debe funcionar Pub/Sub.

Devoluciones

Objeto PubSubAdapter.

Tipo de devolución

PubSubAdapter

static from_service_account_info

estático subscription_name(project_id, sub_name)

Crea un objeto PubSubAdapter a partir de service_account JSON.

Parámetros
user_service_account (str)

El Google Cloud JSON de la cuenta de servicio en formato de texto.

project_id Opcional (str)

El Google Cloud ID del proyecto.

Si no se proporciona, la función intentará usar el proyecto configurado en el objeto de credenciales de forma predeterminada.

verify_ssl Opcional (bool)

Especifica si la verificación del certificado SSL está habilitada para las sesiones HTTP.

quota_project Opcional (str)

El proyecto que se va a usar para la cuota y la facturación.

logger Opcional (SiemplifyLogger)

Objeto SiemplifyLogger.

Devoluciones

Objeto PubSubAdapter.

Tipo de devolución

PubSubAdapter

get_subscription

get_subscription(sub_name, topic=None, create_if_not_exist=False, **attr)

Obtiene una suscripción de Pub/Sub.

Parámetros
sub_name (str)

El nombre de la suscripción.

topic (str)

Nombre del tema de Pub/Sub para el que se va a crear una suscripción.

Obligatorio si create_if_not_exist es True.

create_if_not_exist Crea la suscripción de Pub/Sub en Google Cloud si no existe.
**attr Parámetros adicionales que se deben enviar a la solicitud de creación de la suscripción.

Devoluciones

Objeto TIPCommon.adapters.pubsub.Subscription de la suscripción obtenida.

Tipo de devolución

Subscription

get_topic

get_topic(topic_name, create_if_not_exist=False)

Obtiene un objeto de tema de Pub/Sub del Google Cloud proyecto configurado.

Parámetros
topic_name (str)

Nombre del tema (simplificado, sin el prefijo projects/PROJECT_ID/topics/).

create_if_not_exist bool

Crea el tema de Pub/Sub en Google Cloud, si no existe.

Devoluciones

Objeto TIPCommon.adapters.pubsub.Topic del tema recibido.

Tipo de devolución

Topic

patch_subscription

patch_subscription(sub_name, topic_name, push_config=None, bigquery_config=None, cloud_storage_config=None, ack_deadline_seconds=None, retain_acked_messages=None, retention_duration=None, labels=None, enable_message_ordering=None, expiration_policy=None, query_filter=None, dead_letter_policy=None, return_policy=None, detached=None, enable_once_delivery=None)

Actualiza una suscripción.

Parámetros
sub_name (str)

El nombre de la suscripción.

topic_name (str)

Nombre del tema del que recibe mensajes esta suscripción.

Devoluciones

Objeto TIPCommon.adapters.pubsub.Subscription de la suscripción recibida.

Tipo de devolución

Subscription

patch_topic

patch_topic(topic_name, labels=None, message_storage_policy=None, kms_key_name=None, schema_settings=None, satisfies_pzs=None, retention_duration=None)

Actualiza un tema.

Parámetros
topic_name (str)

El nombre del tema.

Devoluciones

Objeto TIPCommon.adapters.pubsub.Topic del tema recibido.

Tipo de devolución

Topic

publish

publish(topic_name, messages)

Publica una lista de objetos PubSubMessage en un tema.

Parámetros
topic_name (str)

Nombre del tema en el que se publicarán los mensajes.

messages list

Lista de objetos PubSubMessage.

Puedes crear la lista con el método estático PubSubAdapter.build_message().

Devoluciones

Lista de IDs de mensajes.

Tipo de devolución

list[str]

extraer

pull(sub_name, limit, timeout=60, encoding='utf-8')

Extrae mensajes de suscripciones de Pub/Sub.

Parámetros
sub_name (str)

El nombre de la suscripción.

limit int

Número máximo de mensajes que se devolverán en esta solicitud.

timeout int

Tiempo de espera de la solicitud HTTP en segundos.

El valor predeterminado es de 60 segundos.

encoding (str)

Una codificación de mensajes de Pub/Sub. El valor predeterminado es utf-8.

Devoluciones

Lista de objetos TIPCommon.adapters.pubsub.ReceivedMessage.

Tipo de devolución

list[ReceivedMessage]

static subscription_name

estático subscription_name(project_id, sub_name)

Obtiene el nombre completo de la suscripción con el siguiente formato: projects/project_id/subscriptions/subscription_name.

Parámetros
project_id (str)

El nombre del proyecto que contiene el recurso.

sub_name (str)

Nombre de una suscripción de Pub/Sub.

Devoluciones

Nombre completo de la suscripción con el siguiente formato: projects/project_id/subscriptions/subscription_name.

Tipo de devolución

str

static topic_name

estático topic_name(project_id, topic)

Obtiene projects/project_id/topics/topic_name.

Parámetros
project_id (str)

El nombre del proyecto que contiene el recurso.

topic (str)

Nombre de un tema de Pub/Sub.

Devoluciones

Nombre completo del tema: projects/project_id/topics/topic_name.

Tipo de devolución

str

class TIPCommon.adapters.pubsub.data_models.PubSubMessage

clase TIPCommon.adapters.pubsub.data_models.PubSubMessage(raw_data: 'dict', data: 'str' = None, attributes: 'dict' = None, message_id: 'str' = None, publish_time: 'int' = None, ordering_key: 'str' = None)

Bases: object

attributes: dict= None

data: str= None

json()

message_id: str= None

ordering_key: str= None

publish_time: int= None

raw_data: dict

class TIPCommon.adapters.pubsub.data_models.ReceivedMessage

clase TIPCommon.adapters.pubsub.data_models.ReceivedMessage(raw_data: 'dict', ack_id: 'str', message: 'PubSubMessage', delivery_attempt: 'int')

Bases: object

ack_id: str

delivery_attempt: int

json()

message: PubSubMessage

raw_data: dict

class TIPCommon.adapters.pubsub.data_models.SchemaSettings

clase TIPCommon.adapters.pubsub.data_models.SchemaSettings(raw_data: 'dict', schema: 'str', encoding: 'str' = None, first_revision_id: 'str' = None, last_revision_id: 'str' = None)

Bases: object

encoding: str= None

first_revision_id: str= None

json()

last_revision_id: str= None

raw_data: dict

schema: str

class TIPCommon.adapters.pubsub.data_models.Subscription

clase TIPCommon.adapters.pubsub.data_models.Subscription(raw_data: 'dict', name: 'str', identifier: 'str', topic_identifier: 'str', state: 'str', ack_deadline_secs: 'int' = None, retain_ack_messages: 'bool' = None, message_retention_duration: 'int' = None, labels: 'dict' = None, message_ordering: 'bool' = None, query_filter: 'str' = None, topic_message_retention_duration: 'int' = None)

Bases: object

ack_deadline_secs: int= None

identifier: str

json()

labels: dict= None

message_ordering: bool= None

message_retention_duration: int= None

name: str

query_filter: str= None

raw_data: dict

retain_ack_messages: bool= None

state: str

topic_identifier: str

topic_message_retention_duration: int= None

class TIPCommon.adapters.pubsub.data_models.Topic

clase TIPCommon.adapters.pubsub.data_models.Topic(raw_data: 'dict', name: 'str', identifier: 'str', labels: 'dict' = None, schema_settings: 'SchemaSettings' = None, message_retention_duration: 'int' = None)

Bases: object

identifier: str

json()

labels: dict= None

message_retention_duration: int= None

name: str

raw_data: dict

schema_settings: SchemaSettings= None

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.