TIPCommon.adapters

class TIPCommon.adapters.pubsub.pubsub.PubSubAdapter

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

Basi: object

Classe adattatore per la gestione di argomenti e sottoscrizioni Pub/Sub del progetto. Google Cloud

ack

ack(sub_name, ack_ids)

Riconosce i messaggi associati a ackIDs nella risposta AcknowledgeRequest restituita da PubSubAdapter.pull().

Parametri
sub_name (str)

Il nome dell'abbonamento.

ack_ids (list[str])

Un elenco di ID di conferma per i messaggi confermati. L'elenco viene restituito dal sistema Pub/Sub nella risposta PubSubAdapter.pull().

static build_pubsub_message

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

Crea un oggetto PubSubMessage.

Parametri
message_content (str)

Il contenuto del messaggio.

encoding (str)

Il tipo di codifica per codificare o decodificare il testo del messaggio.

Il valore predefinito è UTF-8.

ordering_key Facoltativo (str)

Se utilizzato, il parametro identifica tutti i messaggi correlati che devono seguire l'ordine di pubblicazione.

**attr Optional

(str)

Gli attributi da passare come attributi dell'oggetto messaggio.

Restituisce

TIPCommon.adapters.pubsub.PubSubMessage.

Tipo restituito

PubSubMessage

create_subscription

create_subscription(sub_name, topic, **attr)

Crea una sottoscrizione Pub/Sub per l'argomento specificato.

Parametri
sub_name (str)

Il nome dell'abbonamento.

topic (str)

Un nome di argomento Pub/Sub per creare la sottoscrizione.

**attr Parametri aggiuntivi da trasmettere alla richiesta di abbonamento.

Restituisce

Oggetto TIPCommon.adapters.pubsub.Subscription dell'abbonamento creato.

Tipo restituito

Subscription

create_topic

create_topic(topic_name)

Crea un argomento Pub/Sub in un progetto Google Cloud .

Parametri
topic_name (str)

Il nome dell'argomento. Il nome deve corrispondere alle Google Cloud regole di denominazione delle risorse.

Restituisce

Oggetto TIPCommon.adapters.pubsub.Topic dell'argomento creato.

Tipo restituito

Topic

delete_subscription

delete_subscription(sub_name)

Elimina una sottoscrizione Pub/Sub da un progetto Google Cloud .

Parametri
sub_name (str)

Il nome dell'abbonamento da rimuovere.

delete_topic

delete_topic(topic_name)

Elimina un argomento Pub/Sub da un progetto Google Cloud .

Parametri
topic_name (str)

L'argomento da rimuovere.

static from_credentials

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

Crea l'oggetto PubSubAdapter dall'oggetto google.oauth2.credentials.Credentials.

Parametri
credentials (google.oauth2.credentials.Credentials)

Un oggetto google.oauth2.credentials.Credentials.

project_id Facoltativo (str)

L'ID progetto Google Cloud .

Se non viene fornito, la funzione tenta di utilizzare il progetto configurato in l'oggetto delle credenziali per impostazione predefinita.

verify_ssl Facoltativo (bool)

Specifica se la verifica del certificato SSL è abilitata per le sessioni HTTP.

quota_project Facoltativo (str)

Il progetto da utilizzare per la quota e la fatturazione.

logger Facoltativo (SiemplifyLogger)

Un oggetto SiemplifyLogger.

region (str)

La regione in cui deve operare Pub/Sub.

Restituisce

Un oggetto PubSubAdapter.

Tipo restituito

PubSubAdapter

static from_service_account_info

static subscription_name(project_id, sub_name)

Crea un oggetto PubSubAdapter da service_account JSON.

Parametri
user_service_account (str)

Il Google Cloud file JSON dell'account di servizio in formato di testo.

project_id Facoltativo (str)

L'ID progetto Google Cloud .

Se non viene fornito, la funzione tenta di utilizzare il progetto configurato in l'oggetto delle credenziali per impostazione predefinita.

verify_ssl Facoltativo (bool)

Specifica se la verifica del certificato SSL è abilitata per le sessioni HTTP.

quota_project Facoltativo (str)

Il progetto da utilizzare per la quota e la fatturazione.

logger Facoltativo (SiemplifyLogger)

Un oggetto SiemplifyLogger.

Restituisce

Un oggetto PubSubAdapter.

Tipo restituito

PubSubAdapter

get_subscription

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

Recupera una sottoscrizione Pub/Sub.

Parametri
sub_name (str)

Il nome dell'abbonamento.

topic (str)

Un nome di argomento Pub/Sub per creare una sottoscrizione.

Obbligatorio se create_if_not_exist è True.

create_if_not_exist Crea la sottoscrizione Pub/Sub in Google Cloud se non esiste.
**attr Parametri aggiuntivi da passare alla richiesta di creazione dell'abbonamento.

Restituisce

Oggetto TIPCommon.adapters.pubsub.Subscription dell'abbonamento recuperato.

Tipo restituito

Subscription

get_topic

get_topic(topic_name, create_if_not_exist=False)

Recupera un oggetto argomento Pub/Sub dal progetto Google Cloud configurato.

Parametri
topic_name (str)

Nome dell'argomento (semplificato, senza il prefisso projects/PROJECT_ID/topics/).

create_if_not_exist bool

Crea l'argomento Pub/Sub in Google Cloud, se non esiste.

Restituisce

TIPCommon.adapters.pubsub.Topic oggetto dell'argomento ricevuto.

Tipo restituito

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)

Aggiorna un abbonamento esistente.

Parametri
sub_name (str)

Il nome dell'abbonamento.

topic_name (str)

Il nome dell'argomento da cui questa sottoscrizione riceve i messaggi.

Restituisce

TIPCommon.adapters.pubsub.Subscription oggetto dell'abbonamento ricevuto.

Tipo restituito

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)

Aggiorna un argomento esistente.

Parametri
topic_name (str)

Il nome dell'argomento.

Restituisce

TIPCommon.adapters.pubsub.Topic oggetto dell'argomento ricevuto.

Tipo restituito

Topic

publish

publish(topic_name, messages)

Pubblica un elenco di oggetti PubSubMessage in un argomento.

Parametri
topic_name (str)

Il nome dell'argomento in cui pubblicare i messaggi.

messages list

Un elenco di oggetti PubSubMessage.

Puoi creare l'elenco con il metodo statico PubSubAdapter.build_message().

Restituisce

Elenco degli ID messaggio.

Tipo restituito

list[str]

eseguire il pull

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

Esegui il pull dei messaggi dalle sottoscrizioni Pub/Sub.

Parametri
sub_name (str)

Il nome dell'abbonamento.

limit int

Il numero massimo di messaggi da restituire per questa richiesta.

timeout int

Timeout della richiesta HTTP in secondi.

Il valore predefinito è 60 secondi.

encoding (str)

Una codifica dei messaggi Pub/Sub. Il valore predefinito è utf-8.

Restituisce

Elenco di TIPCommon.adapters.pubsub.ReceivedMessage oggetti.

Tipo restituito

list[ReceivedMessage]

static subscription_name

static subscription_name(project_id, sub_name)

Recupera il nome completo dell'abbonamento nel seguente formato: projects/project_id/subscriptions/subscription_name.

Parametri
project_id (str)

Il nome del progetto che contiene la risorsa.

sub_name (str)

Un nome di sottoscrizione Pub/Sub.

Restituisce

Un nome di abbonamento completo nel seguente formato: projects/project_id/subscriptions/subscription_name.

Tipo restituito

str

static topic_name

static topic_name(project_id, topic)

Recupera projects/project_id/topics/topic_name.

Parametri
project_id (str)

Il nome del progetto che contiene la risorsa.

topic (str)

Un nome argomento Pub/Sub.

Restituisce

Un nome argomento completo: projects/project_id/topics/topic_name.

Tipo restituito

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)

Base: 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

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

Base: object

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)

Base: 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

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)

Base: 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

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)

Base: object

identifier: str

json()

labels: dict= None

message_retention_duration: int= None

name: str

raw_data: dict

schema_settings: SchemaSettings= None

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.