TIPCommon.adapters

class TIPCommon.adapters.pubsub.pubsub.PubSubAdapter

クラス TIPCommon.adapters.pubsub.pubsub.PubSubAdapter(session, project_id=None, logger=None, region=None)

ベース: object

Google Cloud プロジェクトの Pub/Sub トピックとサブスクリプションを管理するためのアダプタ クラス。

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

削除するトピック。

静的 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(user_service_account, project_id=None, verify_ssl=True, quota_project=None, logger=None)

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

サブスクリプションがメッセージを受信するトピックの名前。

push_config dict

省略可。プッシュ配信エンドポイントの構成。

bigquery_config dict

省略可。BigQuery サブスクリプションの構成。

cloud_storage_config dict

省略可。Cloud Storage サブスクリプションの構成。

ack_deadline_seconds int

省略可。メッセージが再配信される前に、Pub/Sub が受信したメッセージの確認応答をサブスクライバーから待つおおよその時間。

retain_acked_messages bool

省略可。確認済みメッセージを保持するかどうかを示します。

retention_duration str

省略可。メッセージがパブリッシュされた時点から、サブスクリプションのバックログで未確認のメッセージを保持する時間。

labels dict

省略可。サブスクリプションの整理に使用される Key-Value ペアのセット。

enable_message_ordering bool

省略可。True の場合、PubsubMessage で同じ ordering_key を使用してパブリッシュされたメッセージは、Pub/Sub システムで受信した順序で配信されます。

expiration_policy dict

省略可。このサブスクリプションの有効期限の条件を指定するポリシー。

query_filter str

省略可。Pub/Sub フィルタ言語で記述された式。サブスクリプションに配信されるメッセージを指定します。

dead_letter_policy dict

省略可。このサブスクリプションでメッセージをデッドレター化する条件を指定するポリシー。

return_policy dict

省略可。メッセージを返す条件を指定するポリシー。

detached bool

省略可。サブスクリプションがトピックから接続解除されているかどうかを示します。

enable_once_delivery bool

省略可。True の場合、Pub/Sub はこのサブスクリプションのメッセージに対して「1 回限りの配信」を提供します。

戻り値

受信したサブスクリプションの 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

トピック名。

labels dict

省略可。トピックの整理に使用される Key-Value ペアのセット。

message_storage_policy dict

省略可。メッセージが保存されるリージョンを制限するポリシー。

kms_key_name str

省略可。このトピックに公開されるメッセージの保護に使用される Cloud Key Management Service CryptoKey のリソース名。

schema_settings dict

省略可。スキーマに対してパブリッシュされたメッセージを検証するための設定。

satisfies_pzs bool

省略可。将来の使用のために予約されています。トピックが物理ゾーン分離を満たしている場合、このフィールドは True に設定されます。

retention_duration str

省略可。パブリッシュされたメッセージがトピックに保持される時間。構成されている場合、サブスクリプションの構成に関係なく、メッセージはこの期間保持されます。

戻り値

受信したトピックの TIPCommon.adapters.pubsub.Topic オブジェクト。

戻り値の型

Topic

publish

publish(topic_name, messages)

PubSubMessage オブジェクトのリストをトピックにパブリッシュします。

パラメータ
topic_name str

メッセージ パブリケーションのターゲット トピックの名前。

messages list

PubSubMessage オブジェクトを含むリスト。

これらのオブジェクトの作成には、PubSubAdapter.build_message() 静的メソッドが使用されます。

戻り値

メッセージ ID のリスト。

戻り値の型

list[str]

pull

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

Pub/Sub サブスクリプションからメッセージを pull します。

パラメータ
sub_name str

サブスクリプション名。

limit int

このリクエストで返されるメッセージの最大数。

timeout int

HTTP リクエストのタイムアウト(秒単位)。

デフォルト値は 60 です。

encoding str

Pub/Sub メッセージのエンコード。

デフォルト値は utf-8 です。

戻り値

TIPCommon.adapters.pubsub.ReceivedMessage オブジェクトのリスト。

戻り値の型

ReceivedMessage

static subscription_name

static subscription_name(project_id, sub_name)

次の形式でサブスクリプションの完全な名前を取得します。projects/project_id/topics/topic_name

パラメータ
project_id str

リソースを含むプロジェクトの名前。

sub_name str

Pub/Sub サブスクリプション名。

戻り値

完全なサブスクリプション名(projects/project_id/topics/topic_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

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。