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 au 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 str

Facultatif.

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

**attr str

Facultatif.

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

Renvoie

Un 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 d'attribution de noms des ressources. 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 d'un 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(user_service_account, project_id=None, verify_ssl=True, quota_project=None, logger=None)

Crée un objet PubSubAdapter à partir d'un 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 sujet 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 l'abonnement reçoit des messages.

push_config dict

Facultatif. Configuration d'un point de terminaison de diffusion push.

bigquery_config dict

Facultatif. Configuration d'un abonnement BigQuery.

cloud_storage_config dict

Facultatif. Configuration d'un abonnement Cloud Storage.

ack_deadline_seconds int

Facultatif. Durée approximative pendant laquelle Pub/Sub attend que l'abonné accuse réception d'un message reçu avant de le renvoyer.

retain_acked_messages bool

Facultatif. Indique s'il faut conserver les messages confirmés.

retention_duration str

Facultatif. Durée de conservation des messages non confirmés dans le backlog de l'abonnement, à partir du moment où un message est publié.

labels dict

Facultatif. Ensemble de paires clé/valeur utilisées pour organiser l'abonnement.

enable_message_ordering bool

Facultatif. Si la valeur est True, les messages publiés avec la même valeur ordering_key dans PubsubMessage sont distribués dans l'ordre dans lequel ils sont reçus par le système Pub/Sub.

expiration_policy dict

Facultatif. Règle spécifiant les conditions d'expiration de cet abonnement.

query_filter str

Facultatif. Expression écrite dans le langage de filtrage Pub/Sub qui spécifie les messages à distribuer à l'abonnement.

dead_letter_policy dict

Facultatif. Règle qui spécifie les conditions de mise en file d'attente des messages non distribués dans cet abonnement.

return_policy dict

Facultatif. Règle spécifiant les conditions de renvoi des messages.

detached bool

Facultatif. Indique si l'abonnement est dissocié du sujet.

enable_once_delivery bool

Facultatif. Si la valeur est True, Pub/Sub assure une distribution de type "exactement une fois" pour les messages de cet abonnement.

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.

labels dict

Facultatif. Ensemble de paires clé/valeur utilisées pour organiser la rubrique.

message_storage_policy dict

Facultatif. Règle limitant les régions dans lesquelles les messages sont stockés au repos.

kms_key_name str

Facultatif. Nom de ressource de la CryptoKey Cloud Key Management Service à utiliser pour protéger les messages publiés dans ce sujet.

schema_settings dict

Facultatif. Paramètres permettant de valider les messages publiés par rapport à un schéma.

satisfies_pzs bool

Facultatif. Réservé pour une utilisation ultérieure. Ce champ est défini sur True si la rubrique satisfait à la séparation physique entre zones.

retention_duration str

Facultatif. Durée pendant laquelle un message publié est conservé par le sujet. Si le message est configuré, il sera conservé pendant cette durée, quelles que soient les configurations d'abonnement.

Renvoie

Objet TIPCommon.adapters.pubsub.Topic du sujet 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 cible pour la publication du message.

messages list

Liste contenant des objets PubSubMessage.

La méthode statique PubSubAdapter.build_message() est utilisée pour construire ces objets.

Renvoie

Liste des ID de messages.

Type renvoyé

list[str]

récupérer

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

Extrait les messages des 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 60.

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é

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/topics/topic_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/topics/topic_name.

Type renvoyé

str

Nom du thème static

static topic_name(project_id, topic)

Récupère le nom complet d'un thème au format suivant : 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 du sujet : projects/project_id/topics/topic_name.

Type renvoyé

str

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