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 システムによって |
static build_pubsub_message
static build_pubsub_message(message_content, encoding='utf-8', ordering_key=None, **attr)
PubSubMessage オブジェクトを作成します。
| パラメータ | |
|---|---|
message_content |
str
メッセージのコンテンツ。 |
encoding |
str
メッセージ テキストをエンコードまたはデコードするエンコード タイプ。 デフォルト値は |
ordering_key |
str
省略可。 構成されている場合、このパラメータは、パブリッシュ順序に従う必要があるすべての関連メッセージを識別します。 |
**attr |
str
省略可。 メッセージ オブジェクトの属性として渡す属性。 |
戻り値
TIPCommon.adapters.pubsub.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
|
project_id |
省略可。
Google Cloud プロジェクト ID 指定しない場合、関数はデフォルトで認証情報オブジェクトで構成されたプロジェクトを使用しようとします。 |
verify_ssl |
省略可。
HTTP セッションで SSL 証明書の検証を有効にするかどうかを指定します。 |
quota_project |
省略可。
割り当てと課金に使用するプロジェクト。 |
logger |
省略可。
|
region |
str
Pub/Sub が動作するリージョン。 |
戻り値
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 |
省略可。
Google Cloud プロジェクト ID 指定しない場合、関数はデフォルトで認証情報オブジェクトで構成されたプロジェクトを使用しようとします。 |
verify_ssl |
省略可。
HTTP セッションで SSL 証明書の検証を有効にするかどうかを指定します。 |
quota_project |
省略可。
割り当てと課金に使用するプロジェクト。 |
logger |
省略可。
|
戻り値
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_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トピックの名前(簡略化、 |
create_if_not_exist |
boolGoogle 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省略可。 |
expiration_policy |
dict省略可。このサブスクリプションの有効期限の条件を指定するポリシー。 |
query_filter |
str省略可。Pub/Sub フィルタ言語で記述された式。サブスクリプションに配信されるメッセージを指定します。 |
dead_letter_policy |
dict省略可。このサブスクリプションでメッセージをデッドレター化する条件を指定するポリシー。 |
return_policy |
dict省略可。メッセージを返す条件を指定するポリシー。 |
detached |
bool省略可。サブスクリプションがトピックから接続解除されているかどうかを示します。 |
enable_once_delivery |
bool省略可。 |
戻り値
受信したサブスクリプションの 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省略可。将来の使用のために予約されています。トピックが物理ゾーン分離を満たしている場合、このフィールドは |
retention_duration |
str省略可。パブリッシュされたメッセージがトピックに保持される時間。構成されている場合、サブスクリプションの構成に関係なく、メッセージはこの期間保持されます。 |
戻り値
受信したトピックの TIPCommon.adapters.pubsub.Topic オブジェクト。
戻り値の型
Topic
publish
publish(topic_name, messages)
PubSubMessage オブジェクトのリストをトピックにパブリッシュします。
| パラメータ | |
|---|---|
topic_name |
strメッセージ パブリケーションのターゲット トピックの名前。 |
messages |
list
これらのオブジェクトの作成には、 |
戻り値
メッセージ ID のリスト。
戻り値の型
list[str]
pull
pull(sub_name, limit, timeout=60, encoding='utf-8')
Pub/Sub サブスクリプションからメッセージを pull します。
| パラメータ | |
|---|---|
sub_name |
strサブスクリプション名。 |
limit |
intこのリクエストで返されるメッセージの最大数。 |
timeout |
intHTTP リクエストのタイムアウト(秒単位)。 デフォルト値は |
encoding |
strPub/Sub メッセージのエンコード。 デフォルト値は |
戻り値
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 |
strPub/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 |
strPub/Sub トピック名。 |
戻り値
完全なトピック名: projects/project_id/topics/topic_name。
戻り値の型
str
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。