我们目前正在将Auth服务转移到AWS Cognito.由于使用户配置文件+数据安全至关重要,我们需要备份主用户池.我们注意到有一个选项可以通过.csv文件导入用户,其标题等于池属性,但是没有选项可以自动创建.csv.有没有人知道自动生成这样的文件的解决方案?重点是保护用户配置文件意外删除整个用户池(不小心,让我们说周五晚上累了的开发人员)?我个人尝试通过完成所有手动工作(获取标题,用户,映射它们和创建csv)来实现解决方案,但这不是很可靠.
我们已经使用 Kafka 流一段时间了,但从来没有编写测试来覆盖我们的拓扑。我们决定试一试并使用流库提供的拓扑测试驱动程序。不幸的是,我们遇到了无法解决的问题。这是我们的生产代码的虚拟版本,具有相同的语义。
它加入了包含 2 类文档的 2 个主题。我们的目标是将每个人的文档汇总到一个“文件夹”中,其中使用来自不同文档的信息。在运行测试时,我们遇到了一个异常,这是由于从 PersonKey 到 DocumentA 的错误转换造成的。在下面,您可以看到测试设置、数据结构的架构和异常的堆栈跟踪。
package com.zenjob.me.indexer.application.domain;
import com.demo.DocumentA;
import com.demo.DocumentB;
import com.demo.DocumentFolder;
import com.demo.PersonKey;
import io.confluent.kafka.schemaregistry.client.MockSchemaRegistryClient;
import io.confluent.kafka.schemaregistry.client.SchemaRegistryClient;
import io.confluent.kafka.serializers.AbstractKafkaAvroSerDeConfig;
import io.confluent.kafka.streams.serdes.avro.SpecificAvroSerde;
import lombok.extern.log4j.Log4j2;
import org.apache.avro.specific.SpecificRecord;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.streams.StreamsBuilder;
import org.apache.kafka.streams.StreamsConfig;
import org.apache.kafka.streams.TopologyTestDriver;
import org.apache.kafka.streams.kstream.Consumed;
import org.apache.kafka.streams.kstream.KTable;
import org.apache.kafka.streams.kstream.Materialized;
import org.apache.kafka.streams.kstream.Produced;
import org.apache.kafka.streams.test.ConsumerRecordFactory;
import org.junit.Assert;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
@SuppressWarnings("SimplifiableJUnitAssertion")
@Log4j2
class DemoTest {
private SchemaRegistryClient schemaRegistryClient = new MockSchemaRegistryClient();
private String documentATopicName = "documentATopicName";
private String …Run Code Online (Sandbox Code Playgroud)