Conexões do SAP HANA
O AWS Glue para Spark pode ser usado para ler e escrever em tabelas no SAP HANA no AWS Glue 4.0 e versões posteriores. Você pode definir o que ler no SAP HANA com uma consulta SQL. Conecte-se ao SAP HANA usando credenciais JDBC armazenadas no AWS Secrets Manager via conexão AWS Glue SAP HANA.
Para obter mais informações sobre o JDBC do SAP HANA, consulte a Documentação do SAP HANA
Configurar conexões do SAP HANA
Para se conectar ao SAP HANA via AWS Glue, será necessário criar e armazenar suas credenciais do SAP HANA em um segredo do AWS Secrets Manager e, em seguida, associar esse segredo a uma conexão ao AWS Glue do SAP HANA. Você precisará configurar a conectividade de rede entre seu serviço SAP HANA e o AWS Glue.
Para se conectar ao SAP HANA, talvez seja necessário atender a alguns pré-requisitos:
-
Se o seu serviço SAP HANA estiver em uma Amazon VPC, configure a Amazon VPC para permitir que seu trabalho do AWS Glue se comunique com o serviço SAP HANA sem que o tráfego passe pela Internet pública.
Na Amazon VPC, identifique ou crie uma VPC, uma Sub-rede e um Grupo de segurança que o AWS Glue usará durante a execução do trabalho. Além disso, você precisa garantir que a Amazon VPC esteja configurada para permitir o tráfego de rede entre seu endpoint SAP HANA e esse local. Seu trabalho precisará estabelecer uma conexão TCP com a porta JDBC do SAP HANA. Para obter mais informações sobre as portas do SAP HANA, consulte a Documentação do SAP HANA
. Com base no layout da rede, isso pode exigir alterações em regras do grupo de segurança, ACLs de rede, gateways de NAT e conexões de emparelhamento. -
Não há pré-requisitos adicionais quando seu endpoint do SAP HANA está acessível pela Internet.
Para configurar uma conexão com o SAP HANA:
No AWS Secrets Manager, crie um segredo usando suas credenciais do SAP HANA. Para criar um segredo no Secrets Manager, siga o tutorial disponível em Criar uma AWS Secrets Manager segredo na documentação do AWS Secrets Manager. Depois de criar o segredo, guarde o nome secreto,
SecretName
, para a próxima etapa.-
Ao selecionar Pares chave/valor, crie um par para a chave
user
com o valorsaphanaUsername
. -
Ao selecionar Pares chave/valor, crie um par para a chave
password
com o valorsaphanaPassword
.
-
No console do AWS Glue, crie uma conexão seguindo as etapas em Adicionar uma conexão do AWS Glue. Depois de criar a conexão, guarde o nome da conexão,
connectionName
, para uso futuro no AWS Glue.Ao selecionar um Tipo de conexão, selecione SAP HANA.
Ao fornecer o URL do SAP HANA, forneça o URL da sua instância.
Os URLs JDBC do SAP HANA estão no formato
jdbc:sap://
saphanaHostname
:saphanaPort
/?databaseName
=saphanaDBname
,ParameterName
=ParameterValue
O AWS Glue requer os seguintes parâmetros de URL do JDBC:
databaseName
: um banco de dados padrão no SAP HANA ao qual se conectar.
Ao selecionar um Segredo da AWS, forneça o
secretName
.
Depois de criar uma conexão AWS Glue SAP HANA, siga estas etapas antes de executar seu trabalho do AWS Glue:
Conceda ao perfil do IAM associada ao seu trabalho do AWS Glue permissão para ler
secretName
.Na configuração do trabalho do AWS Glue, forneça
connectionName
como uma conexão de rede adicional.
Ler de tabelas do SAP HANA
Pré-requisitos:
-
Uma tabela do SAP HANA da qual você deseja ler. Você precisará de informações de identificação para a tabela.
Uma tabela pode ser especificada com um nome de tabela e um nome de esquema do SAP HANA, no formulário
. O nome do esquema e o separador "." não serão necessários se a tabela estiver no esquema padrão, "público". Chame isso deschemaName
.tableName
tableIdentifier
. Observe que o banco de dados é fornecido como um parâmetro de URL do JDBC emconnectionName
. -
Uma conexão AWS Glue SAP HANA configurada para fornecer informações de autenticação. Conclua as etapas do procedimento anterior, Para configurar uma conexão com o SAP HANA para configurar suas informações de autenticação. Você precisará do nome da conexão AWS Glue,
ConnectionName
.
Por exemplo:
saphana_read_table = glueContext.create_dynamic_frame.from_options( connection_type="saphana", connection_options={ "connectionName": "
connectionName
", "dbtable": "tableIdentifier
", } )
Você também pode fornecer uma consulta SQL SELECT para filtrar os resultados retornados ao seu DynamicFrame. Você precisará configurar query
.
Por exemplo:
saphana_read_query = glueContext.create_dynamic_frame.from_options( connection_type="saphana", connection_options={ "connectionName": "
connectionName
", "query": "query
" } )
Escrever em tabelas do SAP HANA
Este exemplo escreve informações de um DynamicFrame existente, dynamicFrame
, no SAP HANA. Se a tabela já contiver informações, o AWS Glue irá gerar um erro.
Pré-requisitos:
-
Uma tabela do SAP HANA na qual você gostaria de escrever.
Uma tabela pode ser especificada com um nome de tabela e um nome de esquema do SAP HANA, no formulário
. O nome do esquema e o separador "." não serão necessários se a tabela estiver no esquema padrão, "público". Chame isso deschemaName
.tableName
tableIdentifier
. Observe que o banco de dados é fornecido como um parâmetro de URL do JDBC emconnectionName
. -
Informações de autenticação do SAP HANA. Conclua as etapas do procedimento anterior, Para configurar uma conexão com o SAP HANA para configurar suas informações de autenticação. Você precisará do nome da conexão AWS Glue,
ConnectionName
.
Por exemplo:
options = { "connectionName": "
connectionName
", "dbtable": 'tableIdentifier
' } saphana_write = glueContext.write_dynamic_frame.from_options( frame=dynamicFrame
, connection_type="saphana", connection_options=options )
Referência de opções de conexão do SAP HANA
-
connectionName
— Obrigatório. Usado para leitura/gravação. O nome de uma conexão do AWS Glue SAP HANA configurada para fornecer informações de autenticação e rede ao seu método de conexão. -
databaseName
: usado para leitura/gravação. Valores válidos: nomes de bancos de dados no SAP HANA. O nome do banco de dados ao qual se conectar. -
dbtable
: necessário para escrever, obrigatório para leitura, a menos quequery
seja fornecido. Usado para leitura/gravação. Valores válidos: conteúdo de uma cláusula SQL FROM do SAP HANA. Identifica uma tabela no SAP HANA à qual se conectar. Você também pode fornecer outro SQL além do nome de uma tabela, como uma subconsulta. Para obter mais informações, consulte a cláusula Fromna documentação do SAP HANA. -
query
- Usado para leitura. Uma consulta SQL SELECT do SAP HANA que define o que deve ser recuperado na leitura do SAP HANA.