As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Para usar fontes de dados com a extensão SQL, os administradores podem configurar AWS Glue conexões para cada fonte de dados. Essas conexões armazenam os detalhes de configuração necessários para acessar e interagir com as fontes de dados. Depois que as conexões são criadas e as permissões apropriadas são concedidas, as conexões se tornam visíveis para todos os usuários Espaços do Amazon SageMaker Studio que compartilham a mesma função de execução.
Para criar as conexões:
-
Primeiro, crie um arquivo JSON que defina as propriedades de conexão de cada fonte de dados. O arquivo JSON inclui detalhes como o identificador da fonte de dados, as credenciais de acesso e outros parâmetros de configuração relevantes para acessar as fontes de dados por meio das AWS Glue conexões.
-
Em seguida, use o AWS Command Line Interface (AWS CLI) para criar a AWS Glue conexão, passando o arquivo JSON como parâmetro. O AWS CLI comando lê os detalhes da conexão do arquivo JSON e estabelece a conexão apropriada.
nota
A extensão SQL é compatível com a criação de conexões usando a AWS CLI apenas.
Antes de criar AWS Glue conexões, certifique-se de concluir as seguintes etapas:
-
Instale e configure o AWS Command Line Interface (AWS CLI). Para obter mais informações sobre como instalar e configurar o AWS CLI, consulte Sobre a AWS CLI versão 2. Certifique-se de que as chaves de acesso e os tokens do usuário ou da função do IAM usados para configurá-los AWS CLI tenham as permissões necessárias para criar AWS Glue conexões. Adicione uma política que permita a ação
glue:CreateConnection
. -
Entenda como usar AWS Secrets Manager. Recomendamos usar o Secrets Manager para fornecer credenciais de conexão e qualquer outra informação confidencial para seu armazenamento de dados. Para obter mais informações sobre como usar o Secrets Manager para armazenar credenciais, consulte Armazenando credenciais de conexão no AWS Secrets Manager.
Criar um arquivo JSON de definição de conexão
Para criar um arquivo de definição de AWS Glue conexão, crie um arquivo JSON para definir os detalhes da conexão na máquina em que você instalou e configurou o. AWS CLI Neste exemplo, o nome do arquivo é sagemaker-sql-connection.json
.
O arquivo de definição de conexão deve seguir o seguinte formato geral:
-
Nome é o nome da conexão.
-
Descrição é uma descrição textual da conexão.
-
ConnectionTypeé o tipo de conexão. Escolha
REDSHIFT
,ATHENA
ouSNOWFLAKE
. -
ConnectionPropertiesé um mapa de pares de valores-chave para as propriedades da conexão, como o ARN do seu AWS segredo ou o nome do seu banco de dados.
{
"ConnectionInput": {
"Name": <GLUE_CONNECTION_NAME>,
"Description": <GLUE_CONNECTION_DESCRIPTION>,
"ConnectionType": "REDSHIFT | ATHENA | SNOWFLAKE",
"ConnectionProperties": {
"PythonProperties": "{\"aws_secret_arn\": <SECRET_ARN>, \"database\": <...>}"
}
}
}
nota
-
As propriedades dentro da chave
ConnectionProperties
consistem em pares de valores-chave em forma de string. Evite as aspas duplas usadas nas chaves ou valores com um caractere de barra invertida (\
). -
Todas as propriedades disponíveis no Secrets Manager também podem ser fornecidas diretamente pelo
PythonProperties
. No entanto, não é recomendável incluir campos confidenciais, como senhas emPythonProperties
. Em vez disso, a abordagem recomendada é usar o Secrets Manager.
Arquivos de definição de conexão específicos para armazenamentos de dados diferentes podem ser encontrados nas seções a seguir.
Os arquivos de definição de conexão de cada fonte de dados contêm as propriedades e a configuração específicas necessárias para fazer a conexão com esses armazenamentos de dados a partir da extensão de SQL. Consulte a seção apropriada para obter detalhes sobre como definir conexões com essa fonte.
-
Para criar uma AWS Glue conexão para o Amazon Redshift, consulte o arquivo de definição de amostra em. Configurar uma conexão do AWS Glue para o Amazon Redshift
-
Para criar uma AWS Glue conexão para o Amazon Athena, consulte o arquivo de definição de amostra em. Configurar uma conexão do AWS Glue para Athena
-
Para criar uma AWS Glue conexão para o Snowflake, consulte o arquivo de definição de amostra em. Configurar uma conexão AWS Glue para o Snowflake
Esta seção fornece detalhes sobre as propriedades de conexão e segredo nos arquivos de definição JSON que são específicos do Amazon Redshift. Antes de criar seu arquivo de configuração de conexão, recomendamos armazenar suas credenciais de acesso do Amazon Redshift como um segredo no Secrets Manager. Como alternativa, você pode gerar credenciais temporárias de banco de dados com base nas permissões concedidas por meio de uma política de permissões AWS Identity and Access Management (IAM) para gerenciar o acesso que seus usuários têm ao seu banco de dados do Amazon Redshift. Para obter mais informações, consulte Uso da autenticação do IAM para gerar credenciais do usuário do banco de dados.
Criar um segredo para as credenciais de acesso do Amazon Redshift
Para armazenar informações do Amazon Redshift no AWS Secrets Manager
-
No AWS console, navegue até Secrets Manager.
-
Selecione Armazenar um novo segredo.
-
Em Tipo de segredo, escolha Credenciais para o Amazon Redshift.
-
Insira o nome de usuário e a senha do administrador configurados ao iniciar o cluster do Amazon Redshift.
-
Selecione o cluster do Amazon Redshift associado aos segredos.
-
Dê um nome ao seu segredo.
-
As configurações restantes podem ser deixadas com seus valores padrão para a criação inicial do segredo ou personalizadas, se necessário.
-
Crie o segredo e recupere seu ARN.
Configurar uma AWS Glue conexão para o Amazon Redshift
A extensão SQL se conecta às fontes de dados usando AWS Glue conexões personalizadas. Para obter informações gerais sobre como criar AWS Glue conexões para conectar uma fonte de dados, consulteCrie AWS Glue conexões (para administradores). O exemplo a seguir é um exemplo de definição de AWS Glue conexão para se conectar ao Amazon Redshift.
Antes de criar uma nova conexão, lembre-se destas recomendações:
-
As propriedades dentro da chave
PythonProperties
consistem em pares de valores-chave em forma de string. Evite as aspas duplas usadas nas chaves ou valores com um caractere de barra invertida (\
). -
No arquivo de definição de conexão, insira o nome e a descrição da conexão, substitua o ARN do segredo em
aws_secret_arn
pelo ARN do segredo criado anteriormente. -
Certifique-se de que o banco de dados declarado pelo nome na definição de conexão acima corresponda ao banco de dados do cluster. Você pode verificar isso acessando a página de detalhes do cluster no console do Amazon Redshift
e verificando o nome do banco de dados em Configurações do banco de dados na seção Propriedades. -
Para obter parâmetros adicionais, consulte a lista de propriedades de conexão compatíveis com o Amazon Redshift em Parâmetros de conexão do Amazon Redshift.
nota
-
Por padrão, o conector de extensão SQL para Python executa todas as consultas em uma transação, a menos que
auto_commit
nas propriedades da conexão esteja definido comotrue
. -
Você pode adicionar todos os parâmetros de conexão, incluindo o nome
database
, a um segredo.
-
{
"ConnectionInput": {
"Name": "Redshift connection name
",
"Description": "Redshift connection description
",
"ConnectionType": "REDSHIFT",
"ConnectionProperties": {
"PythonProperties":"{\"aws_secret_arn\": \"arn:aws:secretsmanager:region:account_id:secret:secret_name
\", \"database\":\"database_name
\", \"database_metadata_current_db_only\": false}"
}
}
}
Depois que seu arquivo de definição for atualizado, siga as etapas Criar conexões AWS Glue para criar sua AWS Glue conexão.
Esta seção fornece detalhes sobre as propriedades de conexão nos arquivos de definição JSON que são específicos do Athena.
Configurar uma conexão do AWS Glue para Athena
A extensão SQL se conecta às fontes de dados usando AWS Glue conexões personalizadas. Para obter informações gerais sobre como criar AWS Glue conexões para conectar uma fonte de dados, consulteCrie AWS Glue conexões (para administradores). O exemplo a seguir é um exemplo de definição de AWS Glue conexão para se conectar ao Athena.
Antes de criar uma nova conexão, lembre-se destas recomendações:
-
As propriedades dentro da chave
ConnectionProperties
consistem em pares de valores-chave em forma de string. Evite as aspas duplas usadas nas chaves ou valores com um caractere de barra invertida (\
). -
No arquivo de definição de conexão, insira o nome e a descrição da conexão, substitua o
catalog_name
pelo nome do seu catálogo,s3_staging_dir
pelo URI do Amazon S3 (Uniform Resource Identifier) do seu diretório de saída no bucket do Amazon S3 eregion_name
pela região do bucket do Amazon S3. -
Para obter parâmetros adicionais, consulte a lista de propriedades de conexão compatíveis com o Athena em Parâmetros de conexão do Athena.
nota
-
Você pode adicionar todos os parâmetros de conexão, incluindo o
catalog_name
ous3_staging_dir
, a um segredo. -
Se você especificar um
workgroup
, você não precisa especificars3_staging_dir
.
-
{
"ConnectionInput": {
"Name": "Athena connection name
",
"Description": "Athena connection description
",
"ConnectionType": "ATHENA",
"ConnectionProperties": {
"PythonProperties": "{\"catalog_name\": \"catalog_name
\",\"s3_staging_dir\": \"s3://amzn-s3-demo-bucket_in_same_region/output_query_results_dir/
\", \"region_name\": \"region\
"}"
}
}
}
Depois que seu arquivo de definição for atualizado, siga as etapas Criar conexões AWS Glue para criar sua AWS Glue conexão.
Esta seção fornece detalhes sobre as propriedades de conexão e segredo nos arquivos de definição JSON que são específicos do Snowflake. Antes de criar seu arquivo de configuração de conexão, recomendamos armazenar suas credenciais de acesso do Snowflake como um segredo no Secrets Manager.
Criar um segredo para as credenciais de acesso do Snowflake
Para armazenar informações do Amazon Redshift no Secrets Manager
-
No AWS console, navegue até AWS Secrets Manager.
-
Selecione Armazenar um novo segredo.
-
Em Tipo de segredo, escolha Outro tipo de segredo.
-
No par de valor-chave, escolha Texto simples e, em seguida, copie o conteúdo JSON a seguir. Substitua o
user
,password
eaccount
por seus valores.{ "user":"
snowflake_user
", "password":"snowflake_password
", "account":"account_id
" } -
Dê um nome ao segredo.
-
As configurações restantes podem ser deixadas com seus valores padrão para a criação inicial do segredo ou personalizadas, se necessário.
-
Crie o segredo e recupere seu ARN.
Configurar uma AWS Glue conexão para o Snowflake
A extensão SQL se conecta às fontes de dados usando AWS Glue conexões personalizadas. Para obter informações gerais sobre como criar AWS Glue conexões para conectar uma fonte de dados, consulteCrie AWS Glue conexões (para administradores). O exemplo a seguir é um exemplo de definição de AWS Glue conexão para conexão com o Snowflake.
Antes de criar uma nova conexão, lembre-se destas recomendações:
-
As propriedades dentro da chave
ConnectionProperties
consistem em pares de valores-chave em forma de string. Evite as aspas duplas usadas nas chaves ou valores com um caractere de barra invertida (\
). -
No arquivo de definição de conexão, insira o nome e a descrição da conexão e, em seguida, substitua o ARN do segredo em
aws_secret_arn
pelo ARN do segredo criado anteriormente e o ID da sua conta emaccount
. -
Para obter parâmetros adicionais, consulte a lista de propriedades de conexão compatíveis com o Snowflake em Parâmetros de conexão do Snowflake.
nota
Você pode adicionar todos os parâmetros de conexão, incluindo o
account
, a um segredo.
{
"ConnectionInput": {
"Name": "Snowflake connection name
",
"Description": "Snowflake connection description
",
"ConnectionType": "SNOWFLAKE",
"ConnectionProperties": {
"PythonProperties": "{\"aws_secret_arn\": \"arn:aws:secretsmanager:region:account_id:secret:secret_name
\", \"account\":\"account_id
\"}"}"
}
}
}
Depois que seu arquivo de definição for atualizado, siga as etapas Criar conexões AWS Glue para criar sua AWS Glue conexão.
Criar conexões AWS Glue
Para criar uma AWS Glue conexão por meio do AWS CLI, use seu arquivo de definição de conexão e execute esse AWS CLI comando. Substitua o region
espaço reservado pelo nome AWS da sua região e forneça o caminho local para seu arquivo de definição.
nota
O caminho para seu arquivo de definição de configuração deve ser precedido por file://
.
aws --region
region
glue create-connection --cli-input-json file://path_to_file/sagemaker-sql-connection.json
Verifique se a AWS Glue conexão foi criada executando o comando a seguir e verifique o nome da conexão.
aws --region
region
glue get-connections
Como alternativa, você pode atualizar uma AWS Glue conexão existente da seguinte maneira:
-
Modifique o arquivo de definição de AWS Glue conexão conforme necessário.
-
Execute o comando a seguir para atualizar a conexão.
aws --region
region
glue update-connection --nameglue_connection_name
--cli-input-json file://path_to_file/sagemaker-sql-connection.json