Conexões do Azure SQL
O AWS Glue para Spark pode ser usado para ler e gravar em tabelas em instâncias gerenciadas do Azure SQL no AWS Glue 4.0 e versões posteriores. Você pode definir o que ler no Azure SQL com uma consulta SQL. Conecte-se ao Azure SQL usando credenciais de usuário e senha armazenadas no AWS Secrets Manager via conexão do AWS Glue.
Para obter mais informações sobre o Azure SQL, consulte a Documentação do Azure SQL
Configurar conexões do Azure SQL
Para se conectar ao Azure SQL via AWS Glue, será necessário criar e armazenar sua credenciais do Azure SQL em um segredo do AWS Secrets Manager e, em seguida, associar esse segredo a uma conexão do Azure SQL AWS Glue.
Para configurar uma conexão com o Azure SQL:
No AWS Secrets Manager, crie um segredo usando suas credenciais do Azure SQL. 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 valorazuresqlUsername
. -
Ao selecionar Pares chave/valor, crie um par para a chave
password
com o valorazuresqlPassword
.
-
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 Azure SQL.
-
Ao fornecer o URL do Azure SQL, forneça um URL de endpoint do JDBC.
Essa lista deve estar no seguinte formato:
jdbc:sqlserver://
.databaseServerName
:databasePort
;databaseName=azuresqlDBname
;O AWS Glue requer as seguintes propriedades de URL:
databaseName
: um banco de dados padrão no Azure SQL ao qual se conectar.
Para obter mais informações sobre URLs de JDBC para instâncias gerenciadas Azure SQL, consulte a Documentação da Microsoft
. Ao selecionar um Segredo da AWS, forneça o
secretName
.
Depois de criar uma conexão AWS Glue Azure SQL, 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 SQL do Azure
Pré-requisitos:
-
Uma tabela do Azure SQL da qual você deseja ler. Você precisará de informações de identificação para a tabela,
databaseName
etableIdentifier
.Uma tabela do Azure SQL é identificada por seu banco de dados, esquema e nome da tabela. É necessário fornecer o nome do banco de dados e o nome da tabela ao se conectar ao Azure SQL. Você também deverá fornecer o esquema se ele não for o padrão, "public". O banco de dados é fornecido por meio de uma propriedade de URL em
connectionName
, esquema e nome da tabela viadbtable
. -
Uma conexão AWS Glue Azure SQL configurada para fornecer informações de autenticação. Conclua as etapas do procedimento anterior, Para configurar uma conexão com o Azure SQL para configurar suas informações de autenticação. Você precisará do nome da conexão AWS Glue,
ConnectionName
.
Por exemplo:
azuresql_read_table = glueContext.create_dynamic_frame.from_options( connection_type="azuresql", 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:
azuresql_read_query = glueContext.create_dynamic_frame.from_options( connection_type="azuresql", connection_options={ "connectionName": "
connectionName
", "query": "query
" } )
Escrevendo em tabelas do Azure SQL
Este exemplo escreve informações de um DynamicFrame existente, dynamicFrame
, no Azure SQL. Se a tabela já contiver informações, o AWS Glue anexará dados do seu DynamicFrame.
Pré-requisitos:
-
Uma tabela do Azure SQL em que você deseja escrever. Você precisará de informações de identificação para a tabela,
databaseName
etableIdentifier
.Uma tabela do Azure SQL é identificada por seu banco de dados, esquema e nome da tabela. É necessário fornecer o nome do banco de dados e o nome da tabela ao se conectar ao Azure SQL. Você também deverá fornecer o esquema se ele não for o padrão, "public". O banco de dados é fornecido por meio de uma propriedade de URL em
connectionName
, esquema e nome da tabela viadbtable
. -
Informações de autenticação do Azure SQL. Conclua as etapas do procedimento anterior, Para configurar uma conexão com o Azure SQL para configurar suas informações de autenticação. Você precisará do nome da conexão AWS Glue,
ConnectionName
.
Por exemplo:
azuresql_write = glueContext.write_dynamic_frame.from_options( connection_type="azuresql", connection_options={ "connectionName": "
connectionName
", "dbtable": "tableIdentifier
" } )
Referência de opções de conexão do Azure SQL
-
connectionName
— Obrigatório. Usado para leitura/gravação. O nome de uma conexão AWS Glue Azure SQL configurada para fornecer informações de autenticação e localização da rede ao seu método de conexão. -
databaseName
: usado para leitura/gravação. Valores válidos: nomes de bancos de dados do Azure SQL. O nome do banco de dados do Azure SQL ao qual conectar. -
dbtable
: necessário para escrever, obrigatório para leitura, a menos quequery
seja fornecido. Usado para leitura/gravação. Valores válidos: nomes de tabelas do Azure SQL ou combinações de nomes de esquema/tabela separados por pontos. Usado para especificar a tabela e o esquema que identificam a tabela à qual conectar. O esquema padrão é "public". Se sua tabela estiver em um esquema não padrão, forneça essas informações no formulário
.schemaName
.tableName
-
query
- Usado para leitura. Uma consulta SQL SELECT que define o que deve ser recuperado na leitura do Azure SQL. Para obter mais informações, consulte a Documentação da Microsoft.