Konfigurasi Pub/Sub

Anda dapat mengonfigurasi pemformatan publikasi Pub/Sub transcoder Mainframe Connector dengan menambahkan konfigurasi yang diperlukan dalam file JSON, dan menentukan file ini menggunakan opsi --input-parameter pubsub-publish-configuration=DataPath dengan perintah qsam decode. Anda harus menentukan konfigurasi publikasi Pub/Sub seperti yang ditentukan di bagian PubsubConfiguration.

Halaman ini menjelaskan berbagai parameter Pub/Sub yang dapat Anda konfigurasi sebagai parameter input untuk transcoding. Objek PubsubPublishConfiguration berisi semua opsi konfigurasi dekoder Pub/Sub.

PubsubPublishConfiguration

Objek PubsubPublishConfiguration memungkinkan Anda mengonfigurasi pesan yang dikirim ke Pub/Sub dan digunakan dengan perintah qsam decode.

Representasi JSON
{
    "attributes_configuration": object (AttributesConfiguration),
    "ordering_key_configuration": object (OrderingKeyConfiguration),
    "spillover_configuration": object (SpilloverConfiguration),
    "batching_settings": object (BatchingSettings),
    "flow_control_settings": object (FlowControlSettings),
    "concurrency_control_settings": object (ConcurrencyControlSettings)
}
Kolom
attributes_configuration

object (AttributesConfiguration)

Tentukan konfigurasi atribut. Anda dapat menentukan konfigurasi sebagai key-value pair yang dapat dilampirkan ke pesan Pub/Sub. Konfigurasi kemudian dapat digunakan untuk pemfilteran pesan atau untuk menyampaikan metadata tambahan.

ordering_key_configuration

object (OrderingKeyConfiguration)

Tentukan konfigurasi kunci pengurutan. Konfigurasi ini memverifikasi bahwa pesan dengan kunci pengurutan yang sama dikirim secara berurutan. Jika Anda tidak menetapkan konfigurasi ini, pengurutan pesan tidak dijamin.

spillover_configuration

object (SpilloverConfiguration)

Tentukan konfigurasi untuk cara pesan tambahan dikirim. Jika tidak ditetapkan, pesan tambahan akan dikirim ke topik input dengan akhiran _spillover.
Misalnya, jika topik input adalah projects/project_example/topics/topic_example, topik spillover default-nya adalah projects/project_example/topics/topic_example_spillover.

batching_settings

object (BatchingSettings)

Tentukan setelan batch untuk memublikasikan pesan. Secara default, pemrosesan batch dinonaktifkan. Untuk mengetahui informasi selengkapnya, lihat Memublikasikan dengan setelan batch.

flow_control_settings

object (FlowControlSettings)

Tentukan setelan kontrol alur yang akan digunakan untuk memublikasikan pesan. Secara default, setelan kontrol alur dinonaktifkan. Untuk informasi selengkapnya, lihat Memublikasikan pesan dengan setelan kontrol alur.

concurrency_control_settings

object (ConcurrencyControlSettings)

Tentukan setelan konkurensi dan pemrosesan pesan untuk klien penayang. Setelan ini mengontrol paralelisme untuk memublikasikan pesan, mengonfirmasi pengiriman yang berhasil, dan menangani error selama proses publikasi. Untuk mengetahui informasi selengkapnya, lihat Kontrol konkurensi.

AttributesConfiguration

Pesan AttributesConfiguration menentukan kumpulan atribut tetap yang menentukan cara atribut diperoleh untuk pesan Pub/Sub.

Representasi JSON
{
    "attributes": object (Attributes)
}
Kolom
attributes

object (Attributes)

Kumpulan atribut nilai kunci tetap yang akan dilampirkan ke pesan Pub/Sub.

OrderingKeyConfiguration

Pesan OrderingKeyConfiguration menentukan string statis sebagai kunci pengurutan yang menentukan cara menentukan kunci pengurutan untuk pesan Pub/Sub.

Representasi JSON
{
    "key": string
}
Kolom
key

string

Nilai string yang akan digunakan sebagai kunci pengurutan untuk pesan Pub/Sub.

SpilloverConfiguration

Pesan SpilloverConfiguration menentukan cara menentukan topik alternatif untuk pesan tambahan. Anda dapat menentukan nama topik lengkap atau akhiran untuk ditambahkan ke nama topik input. Kedua opsi ini saling eksklusif; Anda harus memilih salah satunya.

Representasi JSON
{
    "name": string,
    "suffix": string
}
Kolom
name

string

Tentukan nama resource lengkap topik alternatif untuk pesan tambahan dalam format projects/{project}/topics/{topic}.

suffix

string

Tentukan akhiran yang akan ditambahkan ke nama topik input untuk pesan spillover. Misalnya, jika topik input adalah projects/project_example/topics/my-topic, dan akhiran adalah _errors, topik spillover-nya adalah projects/project_example/topics/my-topic_errors.

BatchingSettings

Pesan BatchingSettings memungkinkan Anda menentukan setelan batch untuk memublikasikan pesan ke Pub/Sub. Anda harus memverifikasi bahwa setelan batch Anda dikonfigurasi untuk mematuhi kuota dan batas Pub/Sub yang ditentukan. Untuk menonaktifkan pemrosesan batch, tetapkan message_count_threshold=1.

Representasi JSON
{
    "delay_threshold": string,
    "element_count_threshold": long,
    "request_byte_threshold": long
}
Kolom
delay_threshold

string

Tentukan nilai minimum penundaan yang akan digunakan untuk pemrosesan batch. Setelah jangka waktu yang ditentukan oleh delay_threshold berlalu (dihitung dari pesan pertama yang ditambahkan), pesan akan digabungkan dalam batch dan dikirim. Sebaiknya Anda tidak menetapkan nilai ini terlalu tinggi. Jika tidak, panggilan mungkin tampak tidak pernah selesai. Jika memprioritaskan pemrosesan real-time atau hampir real-time, Anda akan menginginkan nilai minimum penundaan yang lebih rendah (beberapa puluh atau ratusan milidetik). Hal ini memverifikasi bahwa pesan dikirim dengan cepat. Jika Anda menangani pemrosesan batch skala besar dengan pengiriman langsung yang tidak penting, nilai minimum yang lebih tinggi (beberapa detik) mungkin dapat diterima untuk memungkinkan batch yang lebih besar dan lebih efisien. Untuk mengetahui informasi selengkapnya tentang format durasi, lihat Duration. Jika nilai minimum penundaan 0 detik diberikan, nilai tersebut dianggap seolah-olah nilai minimum penundaan tidak diberikan, dan nilai default akan digunakan. Nilai defaultnya adalah 1 md.

element_count_threshold

long

Tentukan nilai minimum jumlah pesan yang akan digunakan untuk pemrosesan batch. Setelah jumlah pesan yang ditentukan oleh message_count_threshold dikumpulkan, pesan tersebut akan digabungkan dalam batch dan dikirim, meskipun nilai minimum penundaan belum berlalu. Jika pesan Anda selalu kecil, pertimbangkan untuk menaikkan nilai minimum jumlah pesan. Nilai default adalah 1.

request_byte_threshold

long

Tentukan ukuran maksimum dalam byte pesan yang akan dikumpulkan sebelum mengirim batch ke Pub/Sub. Hal ini berlaku meskipun nilai minimum penundaan atau jumlah pesan belum terlampaui. Jika pesan Anda selalu kecil, pertimbangkan untuk menaikkan nilai minimum byte. Nilai defaultnya adalah 1 byte.

FlowControlSettings

Pesan FlowControlSettings memungkinkan Anda menentukan cara klien penayang mengelola alur pesan ke Pub/Sub. Setelan ini mencegah klien menggunakan resource secara berlebihan atau membebani Pub/Sub.

Representasi JSON
{
    "limit_exceeded_behavior": enum (LimitExceededBehavior),
    "max_outstanding_element_count": long,
    "max_outstanding_request_bytes": long
}
Kolom
limit_exceeded_behavior

enum (LimitExceededBehavior)

Tentukan perilaku saat batas kontrol alur terlampaui. Nilai defaultnya adalah BLOCK.

max_outstanding_element_count

long

Tentukan jumlah maksimum pesan yang dapat tertunda (dikirim tetapi belum dikonfirmasi oleh Pub/Sub). Jika mainframe Anda memiliki memori yang melimpah dan Anda ingin mendorong throughput yang sangat tinggi, Anda dapat mencoba meningkatkan jumlahnya.

max_outstanding_request_bytes

long

Menentukan ukuran total maksimum dalam byte untuk pesan yang belum terkirim.

ConcurrencyControlSettings

Pesan ConcurrencyControlSettings memungkinkan Anda mengonfigurasi paralelisme publikasi pesan. Setelan ini memengaruhi jumlah pesan yang dapat dikirim secara bersamaan.

Representasi JSON
{
    "publishing_threads": int,
    "result_processing_threads": int
}
Kolom
publishing_threads

int

Tentukan jumlah thread pemrosesan untuk memublikasikan pesan. Nilai harus sama dengan atau kurang dari jumlah core yang tersedia. Jika jumlah thread adalah 0, publikasi ditangani secara sinkron.

result_processing_threads

int

Tentukan jumlah thread untuk memproses hasil pesan Pub/Sub. Hal ini mencakup mengonfirmasi pesan yang berhasil dikirim dan menangani error yang terjadi selama publikasi. Nilai 0 berarti paralelisme pemrosesan hasil ditangani secara sinkron. Nilai default adalah 1.

Atribut

Pesan Attributes menentukan kumpulan key-value pair Attribute yang menentukan cara atribut ditentukan.

Representasi JSON
{
    "attribute": object (Attribute)
}
Kolom
attribute

object (Attribute)

Tentukan kumpulan key-value pair.

Atribut

Pesan Attribute mewakili satu pasangan nilai kunci yang digunakan sebagai atribut pesan Pub/Sub.

Representasi JSON
{
    "key": string,
    "value": string
}
Kolom
key

string

Tentukan kunci atribut.

value

string

Tentukan nilai atribut.

LimitExceededBehavior

Enum LimitExceededBehavior memungkinkan Anda mengonfigurasi perilaku saat batas kontrol alur terlampaui.

Enum
BLOCK Penayang Pub/Sub akan memblokir jika batas terlampaui. Tindakan ini mencegah publikasi pesan lebih lanjut hingga resource tersedia.
IGNORE Penayang Pub/Sub akan mengabaikan batas dan terus memublikasikan saat batas terlampaui. Hal ini dapat menyebabkan peningkatan konsumsi resource.
THROW_EXCEPTION Penayang Pub/Sub akan menampilkan pengecualian saat batas terlampaui, yang menunjukkan kegagalan untuk memublikasikan.