protected void validateSinkConfigs(SinkConfig sinkConfig) { if (isBlank(sinkConfig.getArchive())) { throw new ParameterException("Sink archive not specfied"); boolean isConnectorBuiltin = sinkConfig.getArchive().startsWith(Utils.BUILTIN); boolean isArchivePathUrl = Utils.isFunctionPackageUrlSupported(sinkConfig.getArchive()); if(sinkConfig.getArchive().startsWith(Utils.HTTP)) { File tempPkgFile = null; try { tempPkgFile = downloadFromHttpUrl(sinkConfig.getArchive(), sinkConfig.getName()); archivePath = tempPkgFile.getAbsolutePath(); } catch(Exception e) { tempPkgFile.deleteOnExit(); throw new ParameterException("Failed to download archive from " + sinkConfig.getArchive() + ", due to =" + e.getMessage()); archivePath = sinkConfig.getArchive();
@Override void runCmd() throws Exception { if (Utils.isFunctionPackageUrlSupported(archive)) { admin.functions().updateFunctionWithUrl(SinkConfigUtils.convert(sinkConfig), sinkConfig.getArchive()); } else { admin.functions().updateFunction(SinkConfigUtils.convert(sinkConfig), sinkConfig.getArchive()); } print("Updated successfully"); } }
@Override void runCmd() throws Exception { if (Utils.isFunctionPackageUrlSupported(archive)) { admin.functions().createFunctionWithUrl(SinkConfigUtils.convert(sinkConfig), sinkConfig.getArchive()); } else { admin.functions().createFunction(SinkConfigUtils.convert(sinkConfig), sinkConfig.getArchive()); } print("Created successfully"); } }
@Override public void validateField(String name, Object o, ClassLoader classLoader) { SinkConfig sinkConfig = (SinkConfig) o; if (sinkConfig.getArchive().startsWith(Utils.BUILTIN)) { if (Utils.isFunctionPackageUrlSupported(sinkConfig.getArchive())) { return; try (NarClassLoader clsLoader = NarClassLoader.getFromArchive(new File(sinkConfig.getArchive()), Collections.emptySet())) { String sinkClassName = ConnectorUtils.getIOSinkClass(sinkConfig.getArchive()); Class<?> typeArg = getSinkType(sinkClassName, clsLoader);
@Override void runCmd() throws Exception { // merge deprecated args with new args mergeArgs(); CmdFunctions.startLocalRun(createSinkConfigProto2(sinkConfig), sinkConfig.getParallelism(), 0, brokerServiceUrl, null, AuthenticationConfig.builder().clientAuthenticationPlugin(clientAuthPlugin) .clientAuthenticationParameters(clientAuthParams).useTls(useTls) .tlsAllowInsecureConnection(tlsAllowInsecureConnection) .tlsHostnameVerificationEnable(tlsHostNameVerificationEnabled) .tlsTrustCertsFilePath(tlsTrustCertFilePath).build(), sinkConfig.getArchive(), admin); }
boolean isBuiltin = sinkConfig.getArchive().startsWith(Utils.BUILTIN); if (sinkConfig.getArchive().startsWith(Utils.FILE)) { if (isBlank(sinkConfig.getClassName())) { throw new IllegalArgumentException("Class-name must be present for archive with file-url"); sinkClassName = ConnectorUtils.getIOSinkClass(sinkConfig.getArchive()); try (NarClassLoader ncl = NarClassLoader.getFromArchive(new File(sinkConfig.getArchive()), Collections.emptySet())) { typeArg = Utils.getSinkType(sinkClassName, ncl).getName(); String builtin = sinkConfig.getArchive().replaceFirst("^builtin://", ""); sinkSpecBuilder.setBuiltin(builtin);