TIPCommon.adapters

class TIPCommon.adapters.pubsub.pubsub.PubSubAdapter

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

Bases : object

Classe d'adaptateur pour gérer les sujets et les abonnements Pub/Sub du projet Google Cloud .

ack

ack(sub_name, ack_ids)

Accuse réception des messages associés à ackIDs dans la réponse AcknowledgeRequest renvoyée par PubSubAdapter.pull().

Paramètres
sub_name (str)

Nom de l'abonnement.

ack_ids (list[str])

Liste des ID de confirmation pour les messages confirmés. La liste est renvoyée par le système Pub/Sub dans la réponse PubSubAdapter.pull().

static build_pubsub_message

static build_pubsub_message(message_content, encoding='utf-8', ordering_key=None, **attr)

Crée un objet PubSubMessage.

Paramètres
message_content (str)

Contenu du message.

encoding (str)

Type d'encodage pour encoder ou décoder le texte du message.

La valeur par défaut est UTF-8.

ordering_key Facultatif (str)

S'il est utilisé, le paramètre identifie tous les messages associés qui doivent respecter l'ordre de publication.

**attr Optional

(str)

Attributs à transmettre en tant qu'attributs d'objet de message.

Renvoie

Objet TIPCommon.adapters.pubsub.PubSubMessage.

Type renvoyé

PubSubMessage

create_subscription

create_subscription(sub_name, topic, **attr)

Crée un abonnement Pub/Sub pour le sujet spécifié.

Paramètres
sub_name (str)

Nom de l'abonnement.

topic (str)

Nom du sujet Pub/Sub pour lequel créer l'abonnement.

**attr Paramètres supplémentaires à transmettre à la demande d'abonnement.

Renvoie

Objet TIPCommon.adapters.pubsub.Subscription de l'abonnement créé.

Type renvoyé

Subscription

create_topic

create_topic(topic_name)

crée un sujet Pub/Sub dans un projet Google Cloud  ;

Paramètres
topic_name (str)

Nom du sujet. Le nom doit correspondre aux règles concernant les noms de ressources de Google Cloud .

Renvoie

Objet TIPCommon.adapters.pubsub.Topic du sujet créé.

Type renvoyé

Topic

delete_subscription

delete_subscription(sub_name)

Supprime un abonnement Pub/Sub d'un projet Google Cloud .

Paramètres
sub_name (str)

Nom de l'abonnement à supprimer.

delete_topic

delete_topic(topic_name)

Supprime un sujet Pub/Sub d'un projet Google Cloud .

Paramètres
topic_name (str)

Thème à supprimer.

static from_credentials

static from_credentials(credentials, project_id=None, verify_ssl=True, quota_project=None, logger=None, region=None)

Crée un objet PubSubAdapter à partir de l'objet google.oauth2.credentials.Credentials.

Paramètres
credentials (google.oauth2.credentials.Credentials)

Un objet google.oauth2.credentials.Credentials.

project_id Facultatif (str)

ID du projet Google Cloud .

Si aucun n'est fourni, la fonction tente d'utiliser par défaut le projet configuré dans l'objet d'identifiants.

verify_ssl Facultatif (bool)

Spécifie si la validation du certificat SSL est activée pour les sessions HTTP.

quota_project Facultatif (str)

Projet à utiliser pour le quota et la facturation.

logger Facultatif (SiemplifyLogger)

Un objet SiemplifyLogger.

region (str)

Région dans laquelle Pub/Sub doit fonctionner.

Renvoie

Un objet PubSubAdapter.

Type renvoyé

PubSubAdapter

static from_service_account_info

static subscription_name(project_id, sub_name)

Crée un objet PubSubAdapter à partir de JSON service_account.

Paramètres
user_service_account (str)

Compte de service Google Cloud au format JSON.

project_id Facultatif (str)

ID du projet Google Cloud .

Si aucun n'est fourni, la fonction tente d'utiliser par défaut le projet configuré dans l'objet d'identifiants.

verify_ssl Facultatif (bool)

Spécifie si la validation du certificat SSL est activée pour les sessions HTTP.

quota_project Facultatif (str)

Projet à utiliser pour le quota et la facturation.

logger Facultatif (SiemplifyLogger)

Un objet SiemplifyLogger.

Renvoie

Un objet PubSubAdapter.

Type renvoyé

PubSubAdapter

get_subscription

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

Récupère un abonnement Pub/Sub.

Paramètres
sub_name (str)

Nom de l'abonnement.

topic (str)

Nom du sujet Pub/Sub pour lequel créer un abonnement.

Obligatoire si create_if_not_exist est True.

create_if_not_exist Crée l'abonnement Pub/Sub dans Google Cloud s'il n'existe pas.
**attr Paramètres supplémentaires à transmettre à la requête de création d'abonnement.

Renvoie

Objet TIPCommon.adapters.pubsub.Subscription de l'abonnement récupéré.

Type renvoyé

Subscription

get_topic

get_topic(topic_name, create_if_not_exist=False)

Récupère un objet de sujet Pub/Sub à partir du projet Google Cloudconfiguré.

Paramètres
topic_name (str)

Nom du sujet (simplifié, sans le préfixe projects/PROJECT_ID/topics/).

create_if_not_exist bool

Crée le sujet Pub/Sub dans Google Cloud, s'il n'existe pas.

Renvoie

Objet TIPCommon.adapters.pubsub.Topic du thème reçu.

Type renvoyé

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)

Met à jour un abonnement existant.

Paramètres
sub_name (str)

Nom de l'abonnement.

topic_name (str)

Nom du sujet à partir duquel cet abonnement reçoit des messages.

Renvoie

Objet TIPCommon.adapters.pubsub.Subscription de l'abonnement reçu.

Type renvoyé

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)

Met à jour un sujet existant.

Paramètres
topic_name (str)

Nom du sujet.

Renvoie

Objet TIPCommon.adapters.pubsub.Topic du thème reçu.

Type renvoyé

Topic

publish

publish(topic_name, messages)

Publie une liste d'objets PubSubMessage dans un sujet.

Paramètres
topic_name (str)

Nom du sujet dans lequel publier les messages.

messages list

Liste d'objets PubSubMessage.

Vous pouvez créer la liste avec la méthode statique PubSubAdapter.build_message().

Renvoie

Liste des ID de messages.

Type renvoyé

list[str]

récupérer

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

Extraire des messages d'abonnements Pub/Sub

Paramètres
sub_name (str)

Nom de l'abonnement.

limit int

Nombre maximal de messages à renvoyer pour cette requête.

timeout int

Délai avant expiration de la requête HTTP, en secondes.

La valeur par défaut est de 60 secondes.

encoding (str)

Encodage d'un message Pub/Sub. La valeur par défaut est utf-8.

Renvoie

Liste d'objets TIPCommon.adapters.pubsub.ReceivedMessage.

Type renvoyé

list[ReceivedMessage]

static subscription_name

static subscription_name(project_id, sub_name)

Récupère le nom complet de l'abonnement au format suivant : projects/project_id/subscriptions/subscription_name.

Paramètres
project_id (str)

Nom du projet contenant la ressource.

sub_name (str)

Nom d'un abonnement Pub/Sub.

Renvoie

Nom complet de l'abonnement au format suivant : projects/project_id/subscriptions/subscription_name.

Type renvoyé

str

Nom du thème static

static topic_name(project_id, topic)

Récupère projects/project_id/topics/topic_name.

Paramètres
project_id (str)

Nom du projet contenant la ressource.

topic (str)

Nom d'un sujet Pub/Sub.

Renvoie

Nom complet d'un thème : projects/project_id/topics/topic_name.

Type renvoyé

str

class TIPCommon.adapters.pubsub.data_models.PubSubMessage

class 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 : objet

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

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

Bases : objet

ack_id: str

delivery_attempt: int

json()

message: PubSubMessage

raw_data: dict

class TIPCommon.adapters.pubsub.data_models.SchemaSettings

class 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 : objet

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

class 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 : objet

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

class 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 : objet

identifier: str

json()

labels: dict= None

message_retention_duration: int= None

name: str

raw_data: dict

schema_settings: SchemaSettings= None

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.