Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Vous pouvez utiliser AWS Glue for Spark pour lire et écrire dans des tables dans SAP HANA dans AWS Glue 4.0 et versions ultérieures. Vous pouvez définir ce qu'il faut lire dans SAP HANA à l'aide d'une requête SQL. Vous vous connectez à SAP HANA à l'aide des informations d'identification JDBC stockées via AWS Secrets Manager une connexion AWS Glue SAP HANA.
Pour plus d'informations sur SAP HANA JDBC, consultez la documentation SAP HANA
Configuration des connexions SAP HANA
Pour vous connecter à SAP HANA depuis AWS Glue, vous devez créer et stocker vos informations d'identification SAP HANA dans un AWS Secrets Manager secret, puis associer ce secret à une connexion SAP HANA AWS Glue. Vous devrez configurer la connectivité réseau entre votre service SAP HANA et AWS Glue.
Pour vous connecter à SAP HANA, vous aurez peut-être besoin de certaines conditions préalables :
-
Si votre service SAP HANA se trouve dans un Amazon VPC, configurez Amazon VPC pour permettre à votre tâche AWS Glue de communiquer avec le service SAP HANA sans que le trafic ne transite par l'Internet public.
Dans Amazon VPC, identifiez ou créez un VPC, un sous-réseau et un groupe de sécurité que AWS Glue utilisera lors de l'exécution de la tâche. En outre, vous devez vous assurer qu'Amazon VPC est configuré pour autoriser le trafic réseau entre votre point de terminaison SAP HANA et cet emplacement. Votre tâche devra établir une connexion TCP avec votre port JDBC SAP HANA. Pour plus d'informations sur les ports SAP HANA, consultez la documentation SAP HANA
. Selon la configuration de votre réseau, cela peut nécessiter des modifications des règles du groupe de sécurité, du réseau ACLs, des passerelles NAT et des connexions d'appairage. -
Il n'y a aucune condition préalable supplémentaire si votre point de terminaison SAP HANA est accessible sur Internet.
Pour configurer une connexion à SAP HANA :
Dans AWS Secrets Manager, créez un secret à l'aide de vos informations d'identification SAP HANA. Pour créer un secret dans Secrets Manager, suivez le didacticiel disponible dans la section Créer un AWS Secrets Manager secret dans la AWS Secrets Manager documentation. Après avoir créé le secret, conservez le nom du secret
secretName
pour l'étape suivante.-
Lorsque vous sélectionnez des paires clé/valeur, créez une paire pour la clé
user
contenant la valeur.saphanaUsername
-
Lorsque vous sélectionnez des paires clé/valeur, créez une paire pour la clé
password
contenant la valeur.saphanaPassword
-
Dans la console AWS Glue, créez une connexion en suivant les étapes décrites dansAjouter une AWS Glue connexion. Après avoir créé la connexion, conservez le nom de la connexion pour une utilisation future dans AWS Glue.
connectionName
Lorsque vous sélectionnez un type de connexion, sélectionnez SAP HANA.
Lorsque vous fournissez l'URL SAP HANA, indiquez l'URL de votre instance.
SAP HANA JDBC se présente sous la URLs forme
jdbc:sap://
saphanaHostname
:saphanaPort
/?databaseName
=saphanaDBname
,ParameterName
=ParameterValue
AWS Glue nécessite les paramètres d'URL JDBC suivants :
databaseName
– une base de données par défaut dans SAP HANA à laquelle se connecter.
Lorsque vous sélectionnez un AWS secret, fournissez
secretName
.
Après avoir créé une connexion AWS Glue SAP HANA, vous devez suivre les étapes suivantes avant d'exécuter votre tâche AWS Glue :
Accordez au rôle IAM associé à votre tâche AWS Glue l'autorisation de lire
secretName
.Dans la configuration de votre tâche AWS Glue
connectionName
, fournissez une connexion réseau supplémentaire.
Lecture à partir de tables SAP HANA
Prérequis :
-
Une table SAP HANA à partir de laquelle vous souhaitez lire. Vous aurez besoin des informations d'identification de la table.
Une table peut être spécifiée avec un nom de table SAP HANA et un nom de schéma, sous forme de
. Le nom du schéma et le séparateur « . » ne sont pas obligatoires si la table se trouve dans le schéma par défaut, « public ». Appelle çaschemaName
.tableName
tableIdentifier
. Notez que la base de données est fournie sous forme de paramètre d'URL JDBC dansconnectionName
. -
Une connexion AWS Glue SAP HANA configurée pour fournir des informations d'authentification. Suivez les étapes de la procédure précédente Pour configurer une connexion à SAP HANA afin de configurer vos informations d'authentification. Vous aurez besoin du nom de la connexion AWS Glue,
connectionName
.
Par exemple :
saphana_read_table = glueContext.create_dynamic_frame.from_options( connection_type="saphana", connection_options={ "connectionName": "
connectionName
", "dbtable": "tableIdentifier
", } )
Vous pouvez également fournir une requête SQL SELECT pour filtrer les résultats renvoyés à votre DynamicFrame. Vous devrez configurer query
.
Par exemple :
saphana_read_query = glueContext.create_dynamic_frame.from_options( connection_type="saphana", connection_options={ "connectionName": "
connectionName
", "query": "query
" } )
Écrire dans des tables SAP HANA
Cet exemple écrit les informations d'un fichier existant DynamicFrame dynamicFrame
dans SAP HANA. Si le tableau contient déjà des informations, AWS Glue génère une erreur.
Prérequis :
-
Une table SAP HANA dans laquelle vous souhaitez écrire.
Une table peut être spécifiée avec un nom de table SAP HANA et un nom de schéma, sous forme de
. Le nom du schéma et le séparateur « . » ne sont pas obligatoires si la table se trouve dans le schéma par défaut, « public ». Appelle çaschemaName
.tableName
tableIdentifier
. Notez que la base de données est fournie sous forme de paramètre d'URL JDBC dansconnectionName
. -
Informations d'authentification SAP HANA. Suivez les étapes de la procédure précédente Pour configurer une connexion à SAP HANA afin de configurer vos informations d'authentification. Vous aurez besoin du nom de la connexion AWS Glue,
connectionName
.
Par exemple :
options = { "connectionName": "
connectionName
", "dbtable": 'tableIdentifier
' } saphana_write = glueContext.write_dynamic_frame.from_options( frame=dynamicFrame
, connection_type="saphana", connection_options=options )
Référence des options de connexion de SAP HANA
-
connectionName
— Obligatoire. Utilisé pour la lecture/l'écriture. Nom d'une connexion AWS Glue SAP HANA configurée pour fournir des informations d'authentification et de mise en réseau à votre méthode de connexion. -
databaseName
: utilisé pour la lecture/l'écriture. Valeurs valides : noms des bases de données dans SAP HANA. Nom de base de données à laquelle se connecter. -
dbtable
— obligatoire pour l'écriture, obligatoire pour la lecture à moins qu'unequery
ne soit fournie. Utilisé pour la lecture/l'écriture. Valeurs valides : contenu d'une clause SAP HANA SQL FROM. Identifie une table dans SAP HANA à laquelle se connecter. Vous pouvez également fournir un SQL autre qu'un nom de table, comme une sous-requête. Pour plus d'informations, consultez la clause Fromdans la documentation SAP HANA. -
query
: utilisé pour la lecture. Une requête SAP HANA SQL SELECT définissant ce qui doit être récupéré lors de la lecture à partir de SAP HANA.