Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrasi dari registri skema pihak ketiga ke AWS Glue Registri Skema
Migrasi dari registri skema pihak ketiga ke AWS Glue Schema Registry memiliki ketergantungan pada registri skema pihak ketiga yang ada saat ini. Jika ada catatan dalam topik Apache Kafka yang dikirim menggunakan sebuah registri skema pihak ketiga, maka konsumen memerlukan registri skema pihak ketiga tersebut untuk melakukan deserialisasi pada catatan tersebut. AWSKafkaAvroDeserializer
menyediakan kemampuan untuk menentukan kelas deserializer sekunder yang mengarahkan ke deserializer pihak ketiga dan digunakan untuk melakukan deserialisasi pada catatan-catatan tersebut.
Ada dua kriteria untuk mempensiunkan skema pihak ketiga. Pertama, pensiun dapat terjadi hanya setelah catatan dalam topik Apache Kafka yang menggunakan registri skema pihak ketiga yang tidak lagi diperlukan oleh dan untuk konsumen manapun. Kedua, pensiun dapat terjadi dengan habisnya usia dari topik Apache Kafka, tergantung pada periode retensi yang ditentukan untuk topik-topik tersebut. Perhatikan bahwa jika Anda memiliki topik yang memiliki retensi tak terbatas, Anda masih dapat bermigrasi ke AWS Glue Schema Registry tetapi Anda tidak akan dapat menghentikan registri skema pihak ketiga. Sebagai solusinya, Anda dapat menggunakan aplikasi atau Mirror Maker 2 untuk membaca dari topik saat ini dan menghasilkan topik baru dengan AWS Glue Registri Skema.
Untuk bermigrasi dari registri skema pihak ketiga ke AWS Glue Registri Skema:
Buat registri di AWS Glue Schema Registry, atau gunakan registri default.
Hentikan konsumennya. Memodifikasinya untuk memasukkan AWS Glue Schema Registry sebagai deserializer utama, dan registri skema pihak ketiga sebagai sekunder.
Mengatur properti konsumen. Dalam contoh ini, secondary_deserializer diatur ke sebuah deserializer yang berbeda. Perilakunya adalah sebagai berikut: konsumen mengambil catatan dari Amazon MSK dan pertama kali mencoba untuk menggunakan
AWSKafkaAvroDeserializer
. Jika tidak dapat membaca byte ajaib yang berisi ID Skema Avro untuk AWS Glue Schema Registry schema,AWSKafkaAvroDeserializer
kemudian mencoba menggunakan kelas deserializer yang disediakan di secondary_deserializer. Properti spesifik untuk deserializer sekunder juga perlu disediakan dalam properti konsumen, seperti schema_registry_url_config dan specific_avro_reader_config, seperti yang ditunjukkan di bawah ini.consumerProps.setProperty(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName()); consumerProps.setProperty(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, AWSKafkaAvroDeserializer.class.getName()); consumerProps.setProperty(AWSSchemaRegistryConstants.AWS_REGION, KafkaClickstreamConsumer.gsrRegion); consumerProps.setProperty(AWSSchemaRegistryConstants.SECONDARY_DESERIALIZER, KafkaAvroDeserializer.class.getName()); consumerProps.setProperty(KafkaAvroDeserializerConfig.SCHEMA_REGISTRY_URL_CONFIG, "
URL for third-party schema registry
"); consumerProps.setProperty(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG, "true");
Mulai ulang konsumen.
Hentikan produsen dan arahkan produser ke AWS Glue Registri Skema.
Mengatur properti produsen. Dalam contoh ini, produsen akan menggunakan default-registry dan versi skema register otomatis.
producerProps.setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); producerProps.setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, AWSKafkaAvroSerializer.class.getName()); producerProps.setProperty(AWSSchemaRegistryConstants.AWS_REGION, "us-east-2"); producerProps.setProperty(AWSSchemaRegistryConstants.AVRO_RECORD_TYPE, AvroRecordType.SPECIFIC_RECORD.getName()); producerProps.setProperty(AWSSchemaRegistryConstants.SCHEMA_AUTO_REGISTRATION_SETTING, "true");
(Opsional) Pindahkan skema dan versi skema yang ada secara manual dari registri skema pihak ketiga saat ini ke AWS Glue Schema Registry, baik ke default-registry di AWS Glue Schema Registry atau ke registri non-default tertentu di AWS Glue Registri Skema. Ini dapat dilakukan dengan mengekspor skema dari pendaftar skema pihak ketiga dalam format JSON dan membuat skema baru di AWS Glue Schema Registry menggunakan AWS Management Console atau. AWS CLI
Langkah ini mungkin penting jika Anda perlu mengaktifkan pemeriksaan kompatibilitas dengan versi skema sebelumnya untuk versi skema yang baru dibuat menggunakan AWS CLI dan AWS Management Console, atau ketika produsen mengirim pesan dengan skema baru dengan pendaftaran otomatis versi skema diaktifkan.
Mulai produsen.