Conexiones SAP HANA - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Conexiones SAP HANA

Puede usar AWS Glue for Spark para leer y escribir en tablas de SAP HANA en AWS Glue 4.0 y versiones posteriores. Puede definir qué leer desde SAP HANA con una consulta SQL. Se conecta a SAP HANA con las credenciales JDBC almacenadas en AWS Secrets Manager a través de una conexión de AWS Glue SAP HANA.

Para obtener más información sobre SAP HANA JDBC, consulte la documentación de SAP HANA.

Configuración de conexiones SAP HANA

Para conectarse a SAP HANA desde AWS Glue, tendrá que crear y almacenar las credenciales de SAP HANA en un AWS Secrets Manager secreto y, a continuación, asociar ese secreto a una conexión de SAP HANA AWS Glue. Deberá configurar la conectividad de red entre su servicio SAP HANA y AWS Glue.

Para conectarse a SAP HANA, es posible que necesite algunos requisitos previos:

  • Si su servicio SAP HANA está en una VPC de Amazon, configure Amazon VPC para permitir que su trabajo de AWS Glue comunique con el servicio SAP HANA sin que el tráfico atraviese la Internet pública.

    En Amazon VPC, identifique o cree una VPC, una subred y un grupo de seguridad que AWS Glue utilizará al ejecutar el trabajo. Además, debe asegurarse de que Amazon VPC esté configurada para permitir el tráfico de red entre su punto de conexión SAP HANA y esta ubicación. Su trabajo deberá establecer una conexión TCP con su puerto JDBC de SAP HANA. Para obtener más información sobre los puertos de SAP HANA, consulte la documentación de SAP HANA. Según el diseño de la red, esto puede requerir cambios en las reglas de los grupos de seguridad, las ACL de red, las puertas de enlace de NAT y las conexiones entre pares.

  • No hay requisitos previos adicionales si se puede acceder a su punto de conexión de SAP HANA a través de Internet.

Para configurar una conexión a SAP HANA:
  1. En AWS Secrets Manager, cree un secreto con sus credenciales de SAP HANA. Para crear un secreto en Secrets Manager, siga el tutorial disponible en Crear un secreto AWS Secrets Manager en la documentación AWS Secrets Manager. Después de crear el secreto, conserve el nombre secreto, secretName, para el siguiente paso.

    • Al seleccionar pares clave/valor, genere un par para la clave user con el valor saphanaUsername.

    • Al seleccionar pares clave/valor, genere un par para la clave password con el valor saphanaPassword.

  2. En la consola de AWS Glue, genere una conexión mediante los pasos que se indican en Adición de una conexión de AWS Glue. Tras crear la conexión, conserve el nombre de la conexión, connectionName, para el uso futuro en AWS Glue.

    • Al seleccionar un tipo de conexión, seleccione SAP HANA.

    • Al proporcionar la URL de SAP HANA, proporcione la URL de su instancia.

      Las URL de JDBC de SAP HANA tienen el formato jdbc:sap://saphanaHostname:saphanaPort/?databaseName=saphanaDBname,ParameterName=ParameterValue

      AWS Glue requiere los siguientes parámetros de URL de JDBC:

      • databaseName — Una base de datos predeterminada en SAP HANA a la que conectarse.

    • Al seleccionar un secreto AWS, proporcione un secretName.

Tras crear una conexión con AWS Glue SAP HANA, deberá realizar los siguientes pasos antes de ejecutar su trabajo de AWS Glue:

  • Otorgue al rol de IAM asociado al permiso de su trabajo de AWS Glue para leer secretName.

  • En la configuración del trabajo de Glue AWS, proporcione connectionName como una conexión de red adicional.

Lectura de tablas de SAP HANA

Requisitos previos:

  • Una tabla de SAP HANA desde la cual le gustaría leer. Necesitará información de la identificación para la tabla.

    Se puede especificar una tabla con un nombre de tabla y un nombre de esquema de SAP HANA, en la forma schemaName.tableName. El nombre del esquema y el separador "." no son necesarios si la tabla está en el esquema predeterminado, "public". Esto se llama tableIdentifier. Tenga en cuenta que la base de datos se proporciona como un parámetro de URL de JDBC en connectionName.

  • Una conexión AWS Glue SAP HANA configurada para proporcionar información de autenticación. Complete los pasos del procedimiento anterior, Para configurar una conexión a SAP HANA y configurar su información de autenticación. Necesitará el nombre de la conexión de AWS Glue, connectionName.

Por ejemplo:

saphana_read_table = glueContext.create_dynamic_frame.from_options( connection_type="saphana", connection_options={ "connectionName": "connectionName", "dbtable": "tableIdentifier", } )

También puede proporcionar una consulta SELECT SQL para filtrar los resultados devueltos a su DynamicFrame. Deberá configurar query.

Por ejemplo:

saphana_read_query = glueContext.create_dynamic_frame.from_options( connection_type="saphana", connection_options={ "connectionName": "connectionName", "query": "query" } )

Escribir en tablas de SAP HANA

Este ejemplo escribe información de un DynamicFrame existente, dynamicFrame en SAP HANA. Si la tabla ya contiene información, AWS Glue generará un error.

Requisitos previos:

  • Una tabla de SAP HANA en la cual le gustaría escribir.

    Se puede especificar una tabla con un nombre de tabla y un nombre de esquema de SAP HANA, en la forma schemaName.tableName. El nombre del esquema y el separador "." no son necesarios si la tabla está en el esquema predeterminado, "public". Esto se llama tableIdentifier. Tenga en cuenta que la base de datos se proporciona como un parámetro de URL de JDBC en connectionName.

  • Información de autenticación de SAP HANA. Complete los pasos del procedimiento anterior, Para configurar una conexión a SAP HANA y configurar su información de autenticación. Necesitará el nombre de la conexión de AWS Glue, connectionName.

Por ejemplo:

options = { "connectionName": "connectionName", "dbtable": 'tableIdentifier' } saphana_write = glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type="saphana", connection_options=options )

Referencia de opciones de conexión de SAP HANA

  • connectionName: obligatorio. Se utiliza para lectura/escritura. El nombre de una conexión de AWS Glue SAP HANA configurada para proporcionar información de autenticación y red a su método de conexión.

  • databaseName: se utiliza para lectura/escritura. Valores válidos: nombres de las bases de datos en SAP HANA. Nombre de la base de datos a la que se va a conectar.

  • dbtable — Necesario para escribir, obligatorio para leer a menos que se proporcione query. Se utiliza para lectura/escritura. Valores válidos: contenido de una cláusula SQL FROM de SAP HANA. Identifica una tabla en SAP HANA a la que conectarse. También puede proporcionar un SQL distinto del nombre de una tabla, como una subconsulta. Para obtener más información, consulte la cláusula From en la documentación de SAP HANA.

  • query: se utiliza para leer. Una consulta de SAP HANA SQL SELECT que define lo que se debe recuperar al leer información de SAP HANA.