TIPCommon.adapters

class TIPCommon.adapters.pubsub.pubsub.PubSubAdapter

클래스 TIPCommon.adapters.pubsub.pubsub.PubSubAdapter(session, project_id=None, logger=None, region=None)

기지: object

프로젝트 Pub/Sub 주제 및 구독을 관리하는 어댑터 클래스입니다. Google Cloud

ack

ack(sub_name, ack_ids)

PubSubAdapter.pull()에서 반환된 AcknowledgeRequest 응답에서 ackIDs와 연결된 메시지를 확인합니다.

매개변수
sub_name (str)

정기 결제 이름입니다.

ack_ids (list[str])

확인된 메시지의 확인 ID 목록입니다. 목록은 Pub/Sub 시스템에서 PubSubAdapter.pull() 응답으로 반환됩니다.

static build_pubsub_message

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

PubSubMessage 객체를 만듭니다.

매개변수
message_content (str)

메시지 콘텐츠입니다.

encoding (str)

메시지 텍스트를 인코딩하거나 디코딩할 인코딩 유형입니다.

기본값은 UTF-8입니다.

ordering_key 선택사항 (str)

사용되는 경우 이 매개변수는 게시 순서를 따라야 하는 모든 관련 메시지를 식별합니다.

**attr 선택사항

(str)

메시지 객체 속성으로 전달할 속성입니다.

반환

TIPCommon.adapters.pubsub.PubSubMessage 객체

반환 유형

PubSubMessage

create_subscription

create_subscription(sub_name, topic, **attr)

지정된 주제에 대한 Pub/Sub 구독을 만듭니다.

매개변수
sub_name (str)

정기 결제 이름입니다.

topic (str)

구독을 만들 Pub/Sub 주제 이름입니다.

**attr 정기 결제 요청에 전달할 추가 매개변수입니다.

반환

생성된 정기 결제의 TIPCommon.adapters.pubsub.Subscription 객체입니다.

반환 유형

Subscription

create_topic

create_topic(topic_name)

Google Cloud 프로젝트에서 Pub/Sub 주제를 만듭니다.

매개변수
topic_name (str)

주제 이름입니다. 이름은 Google Cloud 리소스 이름 규칙을 준수해야 합니다.

반환

생성된 주제의 TIPCommon.adapters.pubsub.Topic 객체입니다.

반환 유형

Topic

delete_subscription

delete_subscription(sub_name)

Google Cloud 프로젝트에서 Pub/Sub 구독을 삭제합니다.

매개변수
sub_name (str)

삭제할 정기 결제 이름입니다.

delete_topic

delete_topic(topic_name)

Google Cloud 프로젝트에서 Pub/Sub 주제를 삭제합니다.

매개변수
topic_name (str)

삭제할 주제입니다.

static from_credentials

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

google.oauth2.credentials.Credentials 객체에서 PubSubAdapter 객체를 만듭니다.

매개변수
credentials (google.oauth2.credentials.Credentials)

google.oauth2.credentials.Credentials 객체

project_id 선택사항 (str)

Google Cloud 프로젝트 ID입니다.

제공되지 않으면 함수는 기본적으로 사용자 인증 정보 객체에 구성된 프로젝트를 사용하려고 시도합니다.

verify_ssl 선택사항 (bool)

HTTP 세션에 SSL 인증서 확인이 사용 설정되어 있는지 여부를 지정합니다.

quota_project 선택사항 (str)

할당량 및 결제에 사용할 프로젝트입니다.

logger 선택사항 (SiemplifyLogger)

SiemplifyLogger 객체

region (str)

Pub/Sub가 작동할 리전입니다.

반환

PubSubAdapter 객체

반환 유형

PubSubAdapter

static from_service_account_info

static subscription_name(project_id, sub_name)

service_account JSON에서 PubSubAdapter 객체를 만듭니다.

매개변수
user_service_account (str)

Google Cloud 서비스 계정 JSON(텍스트 형식)

project_id 선택사항 (str)

Google Cloud 프로젝트 ID입니다.

제공되지 않으면 함수는 기본적으로 사용자 인증 정보 객체에 구성된 프로젝트를 사용하려고 시도합니다.

verify_ssl 선택사항 (bool)

HTTP 세션에 SSL 인증서 확인이 사용 설정되어 있는지 여부를 지정합니다.

quota_project 선택사항 (str)

할당량 및 결제에 사용할 프로젝트입니다.

logger 선택사항 (SiemplifyLogger)

SiemplifyLogger 객체

반환

PubSubAdapter 객체

반환 유형

PubSubAdapter

get_subscription

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

Pub/Sub 구독을 가져옵니다.

매개변수
sub_name (str)

정기 결제 이름입니다.

topic (str)

구독을 만들 Pub/Sub 주제 이름입니다.

create_if_not_existTrue인 경우 필수입니다.

create_if_not_exist Google Cloud 에 Pub/Sub 구독이 없으면 구독을 만듭니다.
**attr 정기 결제 생성 요청에 전달할 추가 매개변수입니다.

반환

가져온 정기 결제의 TIPCommon.adapters.pubsub.Subscription 객체입니다.

반환 유형

Subscription

get_topic

get_topic(topic_name, create_if_not_exist=False)

구성된 Google Cloud프로젝트에서 Pub/Sub 주제 객체를 가져옵니다.

매개변수
topic_name (str)

주제 이름입니다 (projects/PROJECT_ID/topics/ 접두사 없이 간소화됨).

create_if_not_exist bool

Google Cloud에 Pub/Sub 주제가 없는 경우 이를 만듭니다.

반환

수신된 주제의 TIPCommon.adapters.pubsub.Topic 객체입니다.

반환 유형

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)

기존 정기 결제를 업데이트합니다.

매개변수
sub_name (str)

정기 결제 이름입니다.

topic_name (str)

이 구독이 메시지를 수신하는 주제의 이름입니다.

반환

수신된 정기 결제의 TIPCommon.adapters.pubsub.Subscription 객체입니다.

반환 유형

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)

기존 주제를 업데이트합니다.

매개변수
topic_name (str)

주제 이름

반환

수신된 주제의 TIPCommon.adapters.pubsub.Topic 객체입니다.

반환 유형

Topic

게시

publish(topic_name, messages)

PubSubMessage 객체 목록을 주제에 게시합니다.

매개변수
topic_name (str)

메시지를 게시할 주제의 이름입니다.

messages list

PubSubMessage 객체 목록입니다.

PubSubAdapter.build_message() 정적 메서드를 사용하여 목록을 만들 수 있습니다.

반환

메시지 ID 목록입니다.

반환 유형

list[str]

가져오다

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

Pub/Sub 구독에서 메시지를 가져옵니다.

매개변수
sub_name (str)

정기 결제 이름입니다.

limit int

이 요청에서 반환할 최대 메시지 수입니다.

timeout int

HTTP 요청 제한 시간(초)입니다.

기본값은 60초입니다.

encoding (str)

Pub/Sub 메시지 인코딩입니다. 기본값은 utf-8입니다.

반환

TIPCommon.adapters.pubsub.ReceivedMessage 객체 목록입니다.

반환 유형

list[ReceivedMessage]

static subscription_name

static subscription_name(project_id, sub_name)

projects/project_id/subscriptions/subscription_name 형식으로 전체 구독 이름을 가져옵니다.

매개변수
project_id (str)

리소스가 포함된 프로젝트 이름입니다.

sub_name (str)

Pub/Sub 구독 이름입니다.

반환

다음 형식의 전체 구독 이름: projects/project_id/subscriptions/subscription_name

반환 유형

str

static topic_name

static topic_name(project_id, topic)

projects/project_id/topics/topic_name를 가져옵니다.

매개변수
project_id (str)

리소스가 포함된 프로젝트 이름입니다.

topic (str)

Pub/Sub 주제 이름입니다.

반환

전체 주제 이름: projects/project_id/topics/topic_name

반환 유형

str

class TIPCommon.adapters.pubsub.data_models.PubSubMessage

클래스 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)

기본: 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

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

기본: object

ack_id: str

delivery_attempt: int

json()

message: PubSubMessage

raw_data: dict

class TIPCommon.adapters.pubsub.data_models.SchemaSettings

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

기본: 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

클래스 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)

기본: 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

클래스 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)

기본: object

identifier: str

json()

labels: dict= None

message_retention_duration: int= None

name: str

raw_data: dict

schema_settings: SchemaSettings= None

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.