SDK de StreamSets para Python 6.6: Más potencia, más control y más colaboración

Dos personas en un escritorio trabajando en una computadora portátil, ambas sonriendo

Autor

John Wen

Product Manager

IBM Data Integration

StreamSets SDK for Python 6.6 está repleto de nuevas y potentes características que facilitan más que nunca a los usuarios la creación, protección y gestión programáticas de sus pipelines de integración de datos a escala.

Con esta versión, estamos incorporando 3 capacidades principales al SDK: búsqueda de valores aceptables, soporte de proyectos y reglas de acceso a la red. Ya sea que esté creando pipelines desde cero, escalando StreamSets entre equipos o asegurando el acceso por IP, 6.6 le brinda las herramientas que necesita, todo en código.

Uso del nuevo método de valores aceptables

Crear pipelines a través del SDK ahora es más fácil. Hasta ahora, los usuarios que creaban scripts de definiciones de pipelines en Python tenían que hacer referencia a la interfaz de usuario o a la documentación para determinar qué valores eran válidos para ciertas configuraciones de etapa, especialmente cuando los menús desplegables en la interfaz de usuario eran la única fuente de verdad.

Con el nuevo método de valores aceptables, el SDK le permite consultar mediante programación todos los valores válidos para un campo de configuración determinado. Esto hace que la creación de pipelines dinámicos y la integración de StreamSets en herramientas personalizadas sean más confiables, comprobables y más rápidas.

No más prueba y error. Solo configuraciones válidas, siempre.

streamsets sdk Captura de pantalla

En la interfaz de usuario (IU) se hace evidente cuáles son las opciones de configuración para cada campo.

ejemplo de streamsets sdk

Con el SDK ahora podemos consultar cuáles son los valores aceptables para cada etapa:

Ejemplo: consulta de valores aceptables

# Get stage name from existing stage via SDK...
pipeline = sch.pipelines.get(name="SDK 6.6.0 Demo")
stage = pipeline.stages.get(label="Dev Raw Data Source 1")
stage_name = stage.stage_name
# >> 'com_streamsets_pipeline_stage_devtest_rawdata_RawDataDSource'

# ... or get it from UI
stage_name_ui = "Dev Raw Data Source 1"

# Get pipeline_builder object
engine = sch.engines.get(id="d94f73b9-6e96-4545-bcbb-9e940c64bf84")
pipeline_builder = sch.get_pipeline_builder(engine_type='data_collector', engine_id=engine.id)

# Get options
pipeline_builder.get_stage_configuration_options(config_name="JSON Content", stage_name=stage_name_ui)
# Returned options >>
[ChooseOption(UI_VALUE='JSON array of objects', SDK_VALUE='ARRAY_OBJECTS'), ChooseOption(UI_VALUE='Multiple JSON objects', SDK_VALUE='MULTIPLE_OBJECTS')]

Soporte de proyectos: ponga orden en el universo de StreamSets

Gestionar el desarrollo de varios equipos en un entorno compartido solía ser un desafío.  Sin aislamiento, la colaboración podría convertirse rápidamente en un caos.

Con la introducción de proyectos en el SDK, ahora puede crear, organizar y gestionar proyectos mediante programación, los espacios de trabajo colaborativos integrados de StreamSets sin necesidad de utilizar la interfaz de usuario (IU). Cada proyecto proporciona un límite claro para los pipelines, las conexiones, los trabajos y los activos de su equipo. Los proyectos convierten a StreamSets en una plataforma multiinquilino lista para la empresa. Los clientes obtienen claridad, seguridad y escalabilidad sin necesidad de desplegar varias instancias.

Una instancia. Muchos equipos. Cero fricción.

Captura de pantalla de streamsets sdk "Crear un proyecto"

Ejemplo: Gestión de proyectos

# Create a new project
project_builder = sch.get_project_builder()
proyecto = project_builder.build(name='Marketing Campaign Attribution', description='Ingest ad impressions and clickstream data from multiple sources')
sch.add_project(project)

# Switch to the project
sch.current_project = project

# Add a user and group to the project
project.add_user(‘John’)
project.add_group('Product Management’)

# Update project details
project.name = 'New Marketing Campaign'
sch.update_project(project)

# Delete the project
sch.delete_project(project)

Reglas de acceso a la red: seguridad por diseño

La seguridad nunca debe ser una operación solo de interfaz de usuario (IU).

StreamSets SDK for Python 6.6 introduce la gestión completa de las reglas de acceso a la red, lo que le brinda acceso a nivel de API para definir y editar el conjunto de IP permitidas para autenticarse con su entorno StreamSets.

Ya sea que esté automatizando la incorporación, desplegando StreamSets en nubes híbridas o aplicando políticas de red, el SDK ahora le permite gestionar la seguridad con la misma disciplina que el resto de su infraestructura.

Defina. Haga cumplir. Automatice. Todo a través del código.

captura de pantalla de las reglas de acceso a la red del SDK de streamsets

Ejemplo de SDK: gestión de reglas de acceso a la red

# Selecting a Control Hub organization
org = sch.organizations[0]

# Check if network access rule has been enabled. Returns True or False
org.ip_auth_enabled

# Enabling IP Auth
org.ip_auth_enabled = True

# To see the current set of rules
org.ip_auth_rules

# Adding & removing IP rules
# org.add_ip_auth_ruleset(ip, bitmask, comment)
org.add_ip_auth_ruleset(“33.45.231.23”, “32”, “home”)
org.remove_ip_auth_ruleset(33.45.231.23”, “32”,)

# Recuerde actualizar la organización después de realizar el cambio
sch.update_organization(org)

Un paso adelante en la experiencia del desarrollador

StreamSets SDK for Python 6.6 no es solo un aumento de versión: es un paso adelante en la experiencia del desarrollador, la escalabilidad empresarial y la automatización de la plataforma. Estas características se crearon en respuesta al feedback de los equipos que gestionan flujos de datos en tiempo real en entornos complejos y regulados. Y hacen que StreamSets sea aún más escalable, potente y listo para la empresa.

La versión SDK 6.6 ya está disponible en PyPI. Próximamente habrá documentación y fragmentos de código de muestra, pero ya puede comenzar a explorar estas nuevas características en su IDE favorito ejecutando el comando pip a continuación.

pip3 install streamsets~=6.6