

# Adicionar uma conexão JDBC usando seus próprios drivers JDBC
<a name="console-connections-jdbc-drivers"></a>

 Você pode usar seu próprio driver JDBC quando usar uma conexão JDBC. Quando o driver padrão utilizado pelo crawler do AWS Glue não consegue se conectar a um banco de dados, você pode usar seu próprio driver JDBC. Por exemplo, se quiser usar o SHA-256 com seu banco de dados Postgres e os drivers postgres mais antigos não forem compatíveis, você poderá usar seu próprio driver JDBC. 

## Fontes de dados compatíveis
<a name="w2aac25c29d135b5"></a>


| Fontes de dados compatíveis | Fontes de dados não compatíveis | 
| --- | --- | 
| MySQL | Snowflake | 
| Postgres |  | 
| Oracle |  | 
| Redshift |  | 
| SQL Server |  | 
| Aurora\* |  | 

 \*Compatível se o driver JDBC nativo estiver sendo usado. Nem todos os recursos do driver podem ser aproveitados. 

## Adicionar um driver JDBC a uma conexão JDBC
<a name="w2aac25c29d135b9"></a>

**nota**  
 Se você optar por trazer suas próprias versões do driver JDBC, os crawlers do AWS Glue consumirão recursos em trabalhos do AWS Glue e buckets do Amazon S3 para garantir que o driver fornecido seja executado em seu ambiente. O uso adicional de recursos será refletido em sua conta. O custo dos crawlers e trabalhos do AWS Glue se enquadram na categoria do AWS Glue para cobrança. Além disso, fornecer seu próprio driver JDBC não significa que o crawler seja capaz de aproveitar todos os atributos do driver. 

**Para adicionar uma conexão JDBC a uma conexão JDBC:**

1.  Adicione o arquivo do driver JDBC a um local do Amazon S3. Você pode criar um bucket e/ou uma pasta ou usar os já existentes. 

1.  No console do AWS Glue, escolha **Conexões** no menu à esquerda em **Catálogo de dados** e crie uma nova conexão. 

1.  Preencha os campos para **Propriedades da conexão** e escolha JDBC como **Tipo de conexão**. 

1.  *Em **Acesso à conexão**, insira a **URL do JDBC** e o **Nome da classe do driver JDBC**, opcional*. O nome da classe do driver deve ser para uma fonte de dados compatível com os crawlers do AWS Glue.   
![A captura de tela mostra uma fonte de dados com o JDBC selecionado e uma conexão na janela Adicionar fonte de dados.](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/add-connection-connection-access.png)

1.  *Escolha o caminho do Amazon S3 em que o driver JDBC está localizado em **Caminho do Amazon S3 do driver JDBC**, campo opcional*. 

1.  Preencha os campos de Tipo de credencial se estiver inserindo um nome de usuário e senha ou segredo. Ao concluir, escolha **Criar conexão**. 
**nota**  
 O teste de conexão não é compatível atualmente. Ao fazer crawling na fonte de dados com um driver JDBC que você forneceu, o crawler pula essa etapa. 

1.  Adicione a conexão recém-criada a um crawler. No console do AWS Glue, escolha **Crawlers** no menu esquerdo em **Catálogo de dados** e crie um novo crawler. 

1.  No assistente **Adicionar crawler**, na etapa 2, escolha **Adicionar uma fonte de dados**.   
![A captura de tela mostra uma fonte de dados com o JDBC selecionado e uma conexão na janela Adicionar fonte de dados.](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/add-crawler-add-data-source.png)

1.  Escolha **JDBC** como fonte de dados e escolha a conexão que foi criada nas etapas anteriores. Completo 

1.  Para usar seu próprio driver JDBC com um crawler do AWS Glue, adicione as seguintes permissões ao perfil usado pelo crawler:
   +  Conceda permissões para as seguintes ações: `CreateJob`, `DeleteJob`, `GetJob`, `GetJobRun`, `StartJobRun`. 
   +  Conceda permissões para as ações do IAM: `iam:PassRole` 
   +  Conceda permissões para as ações do Amazon S3: `s3:DeleteObjects`, `s3:GetObject`, `s3:ListBucket`, `s3:PutObject`. 
   +  Conceda acesso de entidade principal de serviço a bucket/pasta na política do IAM. 

    Exemplo de política do IAM: 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "VisualEditor0",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:ListBucket",
           "s3:DeleteObject"
         ],
         "Resource": [
           "arn:aws:s3:::{{amzn-s3-demo-bucket}}/driver-parent-folder/driver.jar",
           "arn:aws:s3:::{{amzn-s3-demo-bucket}}"
         ]
       }
     ]
   }
   ```

------

    O crawler do AWS Glue cria duas pastas: \_glue\_job\_crawler e \_crawler.

   Se o arquivo jar do driver estiver localizado na pasta `s3://amzn-s3-demo-bucket/driver.jar"`, adicione os seguintes recursos: 

   ```
   "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/_glue_job_crawler/*",
     		 "arn:aws:s3:::amzn-s3-demo-bucket/_crawler/*"
               ]
   ```

   Se o arquivo jar do driver estiver localizado na pasta `s3://amzn-s3-demo-bucket/tmp/driver/subfolder/driver.jar"`, adicione os seguintes recursos: 

   ```
   "Resource": [
                  "arn:aws:s3:::amzn-s3-demo-bucket/tmp/_glue_job_crawler/*",
     		"arn:aws:s3:::amzn-s3-demo-bucket/tmp/_crawler/*"
               ]
   ```

1.  Se você estiver usando uma VPC, deverá permitir o acesso ao endpoint do AWS Glue criando o endpoint de interface e adicionando-o à sua tabela de rotas. Para obter mais informações, consulte [Creating an interface VPC endpoint for AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/vpc-interface-endpoints.html#vpc-endpoint-create) 

1.  Ao usar a criptografia no catálogo de dados, crie o endpoint de interface do AWS KMS e adicione-o à tabela de rotas. Para obter mais informações, consulte [Creating a VPC endpoint for AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/kms-vpc-endpoint.html#vpce-create-endpoint). 