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 adaptadora para gerenciar tópicos e assinaturas do Pub/Sub do projeto Google Cloud .

ack

ack(sub_name, ack_ids)

Confirma as mensagens associadas ao ackIds na resposta AcknowledgeRequest retornada de PubSubAdapter.pull().

Parâmetros
sub_name str

O nome da assinatura.

ack_ids list[str]

Uma lista de IDs de confirmação para as mensagens que estão sendo confirmadas. A lista é retornada pelo sistema Pub/Sub na resposta PubSubAdapter.pull().

static build_pubsub_message

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

Cria um objeto PubSubMessage.

Parâmetros
message_content str

O conteúdo da mensagem.

encoding str

O tipo de codificação para codificar ou decodificar o texto da mensagem.

O valor padrão é UTF-8.

ordering_key str

Opcional.

Se configurado, o parâmetro identifica todas as mensagens relacionadas que precisam seguir a ordem de publicação.

**attr str

Opcional.

Os atributos a serem transmitidos como atributos de objeto de mensagem.

Retorna

Um objeto TIPCommon.adapters.pubsub.PubSubMessage.

Tipo de retorno

PubSubMessage

create_subscription

create_subscription(sub_name, topic, **attr)

Cria uma assinatura do Pub/Sub para o tópico especificado.

Parâmetros
sub_name str

O nome da assinatura.

topic str

Um nome de tópico do Pub/Sub para criar a assinatura.

**attr Parâmetros adicionais a serem transmitidos para a solicitação de assinatura.

Retorna

Objeto TIPCommon.adapters.pubsub.Subscription da assinatura criada.

Tipo de retorno

Subscription

create_topic

create_topic(topic_name)

Cria um tópico do Pub/Sub em um projeto do Google Cloud .

Parâmetros
topic_name str

O nome do tópico.

O nome precisa corresponder às regras de nomenclatura de recursos Google Cloud.

Retorna

Objeto TIPCommon.adapters.pubsub.Topic do tópico criado.

Tipo de retorno

Topic

delete_subscription

delete_subscription(sub_name)

Exclui uma assinatura do Pub/Sub de um projeto do Google Cloud .

Parâmetros
sub_name str

O nome da assinatura a ser removida.

delete_topic

delete_topic(topic_name)

Exclui um tópico do Pub/Sub de um projeto do Google Cloud .

Parâmetros
topic_name str

O tópico a ser removido.

static from_credentials

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

Cria um objeto PubSubAdapter com base em um objeto google.oauth2.credentials.Credentials.

Parâmetros
credentials google.oauth2.credentials.Credentials

Um objeto google.oauth2.credentials.Credentials.

project_id Opcional.

str

O ID do projeto Google Cloud .

Se não for fornecido, a função tentará usar o projeto configurado no objeto de credenciais por padrão.

verify_ssl Opcional.

bool

Especifica se a verificação do certificado SSL está ativada para sessões HTTP.

quota_project Opcional.

str

O projeto a ser usado para cota e faturamento.

logger Opcional.

SiemplifyLogger

Um objeto SiemplifyLogger.

region str

A região em que o Pub/Sub vai funcionar.

Retorna

Um objeto PubSubAdapter.

Tipo de retorno

PubSubAdapter

static from_service_account_info

static subscription_name(user_service_account, project_id=None, verify_ssl=True, quota_project=None, logger=None)

Cria um objeto PubSubAdapter de um JSON service_account.

Parâmetros
user_service_account str

O JSON da conta de serviço Google Cloud em formato de texto.

project_id Opcional.

str

O ID do projeto Google Cloud .

Se não for fornecido, a função tentará usar o projeto configurado no objeto de credenciais por padrão.

verify_ssl Opcional.

bool

Especifica se a verificação do certificado SSL está ativada para sessões HTTP.

quota_project Opcional.

str

O projeto a ser usado para cota e faturamento.

logger Opcional.

SiemplifyLogger

Um objeto SiemplifyLogger.

Retorna

Um objeto PubSubAdapter.

Tipo de retorno

PubSubAdapter

get_subscription

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

Recupera uma assinatura do Pub/Sub.

Parâmetros
sub_name str

O nome da assinatura.

topic str

Um nome de tópico do Pub/Sub para criar uma assinatura.

Obrigatório se create_if_not_exist for True.

create_if_not_exist Cria a assinatura do Pub/Sub em Google Cloud se ela não existir.
**attr Parâmetros adicionais a serem transmitidos para a solicitação de criação de assinatura.

Retorna

O objeto TIPCommon.adapters.pubsub.Subscription da assinatura recuperada.

Tipo de retorno

Subscription

get_topic

get_topic(topic_name, create_if_not_exist=False)

Recupera um objeto de tópico do Pub/Sub do projeto Google Cloudconfigurado.

Parâmetros
topic_name str

Nome do tópico (simplificado, sem o prefixo projects/PROJECT_ID/topics/).

create_if_not_exist bool

Cria o tópico do Pub/Sub em Google Cloud se ele não existir.

Retorna

O objeto TIPCommon.adapters.pubsub.Topic do tópico recebido.

Tipo de retorno

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)

Atualiza uma assinatura.

Parâmetros
sub_name str

O nome da assinatura.

topic_name str

O nome do tópico de que a assinatura recebe mensagens.

push_config dict

Opcional. Configuração para um endpoint de entrega por push.

bigquery_config dict

Opcional. Configuração de uma assinatura do BigQuery.

cloud_storage_config dict

Opcional. Configuração de uma assinatura do Cloud Storage.

ack_deadline_seconds int

Opcional. O tempo aproximado que o Pub/Sub espera até o assinante confirmar uma mensagem recebida antes que ela seja entregue novamente.

retain_acked_messages bool

Opcional. Indica se as mensagens confirmadas serão retidas.

retention_duration str

Opcional. A quantidade de tempo para reter mensagens não confirmadas no backlog da assinatura, desde o momento em que uma mensagem é publicada.

labels dict

Opcional. Um conjunto de pares de chave-valor usado para organizar a assinatura.

enable_message_ordering bool

Opcional. Se True, as mensagens publicadas com o mesmo ordering_key em PubsubMessage serão entregues na ordem em que são recebidas pelo sistema Pub/Sub.

expiration_policy dict

Opcional. Política que especifica as condições para a expiração desta assinatura.

query_filter str

Opcional. Uma expressão escrita na linguagem de filtro do Pub/Sub que especifica quais mensagens são entregues à assinatura.

dead_letter_policy dict

Opcional. Uma política que especifica as condições para mensagens inativas nesta assinatura.

return_policy dict

Opcional. Política que especifica as condições para retornar mensagens.

detached bool

Opcional. Indica se a assinatura foi removida do tópico.

enable_once_delivery bool

Opcional. Se True, o Pub/Sub fornece "entrega exatamente uma vez" para mensagens nessa assinatura.

Retorna

O objeto TIPCommon.adapters.pubsub.Subscription da assinatura recebida.

Tipo de retorno

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)

Atualiza um tema.

Parâmetros
topic_name str

O nome do tema.

labels dict

Opcional. Um conjunto de pares de chave-valor usado para organizar o tema.

message_storage_policy dict

Opcional. Política que restringe as regiões em que as mensagens são armazenadas em repouso.

kms_key_name str

Opcional. O nome do recurso da CryptoKey do Cloud Key Management Service a ser usada para proteger as mensagens publicadas neste tópico.

schema_settings dict

Opcional. Configurações para validar mensagens publicadas em um esquema.

satisfies_pzs bool

Opcional. Reservado para uso futuro. Esse campo é definido como True se o tópico atender à separação de zonas físicas.

retention_duration str

Opcional. A quantidade de tempo que uma mensagem publicada é retida pelo tópico. Se configurada, a mensagem será retida por esse período, independente das configurações de assinatura.

Retorna

O objeto TIPCommon.adapters.pubsub.Topic do tópico recebido.

Tipo de retorno

Topic

publish

publish(topic_name, messages)

Publica uma lista de objetos PubSubMessage em um tópico.

Parâmetros
topic_name str

O nome do tópico de destino para a publicação da mensagem.

messages list

Uma lista que contém objetos PubSubMessage.

O método estático PubSubAdapter.build_message() é usado para construir esses objetos.

Retorna

Uma lista de IDs de mensagens.

Tipo de retorno

list[str]

pull

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

Extrai mensagens de assinaturas do Pub/Sub.

Parâmetros
sub_name str

O nome da assinatura.

limit int

O número máximo de mensagens a serem retornadas para esta solicitação.

timeout int

O tempo limite da solicitação HTTP, em segundos.

O valor padrão é 60.

encoding str

Uma codificação de mensagem do Pub/Sub.

O valor padrão é utf-8.

Retorna

Uma lista de objetos TIPCommon.adapters.pubsub.ReceivedMessage.

Tipo de retorno

ReceivedMessage

static subscription_name

static subscription_name(project_id, sub_name)

Recupera o nome completo da assinatura no seguinte formato: projects/project_id/topics/topic_name.

Parâmetros
project_id str

O nome do projeto que contém o recurso.

sub_name str

Um nome de assinatura do Pub/Sub.

Retorna

O nome completo da assinatura no seguinte formato: projects/project_id/topics/topic_name.

Tipo de retorno

str

static topic_name

static topic_name(project_id, topic)

Recupera o nome completo de um tópico no seguinte formato: projects/project_id/topics/topic_name.

Parâmetros
project_id str

O nome do projeto que contém o recurso.

topic str

Um nome de tópico do Pub/Sub.

Retorna

Um nome de tópico completo: projects/project_id/topics/topic_name.

Tipo de retorno

str

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.