public static Client get(Context context) {
        Config config = ConfigUtils.to(context.config);
        config.nodeEpoch(System.currentTimeMillis());
        config.version(() -> context.brokerServer.metadataCache().autoMQVersion().s3streamVersion());
        boolean zeroZoneChannelsEnabled = context.config.automq().zoneRouterChannels().isPresent();
        if (zeroZoneChannelsEnabled && config.walUploadIntervalMs() == -1) {
            config.walUploadIntervalMs(1000);
        }
        if (zeroZoneChannelsEnabled) {
            config.streamSetObjectCompactionInterval(1);
            config.snapshotReadEnable(true);
        }

        DefaultS3Client client = new DefaultS3Client(context.brokerServer, config);
        return new ClientWrapper(client);
    }
This method will be called by {@link ClientFactoryProxy}
core/src/main/scala/kafka/log/streamaspect/client/s3/ClientFactory.java