Подключение к базе Oracle RDS с оболочкой aws glue python - PullRequest
0 голосов
/ 14 июля 2020

Требуются шаги для подключения к базе данных Oracle RDS с использованием python оболочки glue с использованием oracle jdb c или зарегистрированного подключения к каталогу в glue

def get_connection (self, conn_name):

client = boto3.client('glue', region_name=self.region_id)
response = client.get_connection(Name=conn_name)
print(response)

connection_properties = response['Connection']['ConnectionProperties']
URL = connection_properties['JDBC_CONNECTION_URL']
url_list = URL.split("/")

host = "{}".format(url_list[-2][:-5])
portno = url_list[-2][-4:]
database = "{}".format(url_list[-1])
user = "{}".format(connection_properties['USERNAME'])
pwd = "{}".format(connection_properties['PASSWORD'])

rs_conn = orcl.connect(database=database, host=host, port=portno,
                        user=user, password=pwd, ssl=True)
cur = rs_conn.cursor()
cur.execute("set statement_timeout = 1200000")
rs_conn.commit()
cur.close()
return rs_conn

conn = get_connection ()

1 Ответ

0 голосов
/ 18 июля 2020

Из документов

Если задание необходимо запустить в вашей подсети VP C, например, преобразование данных из хранилища данных JDB C в частная подсеть - AWS Glue настраивает сетевые интерфейсы elasti c, которые позволяют вашим заданиям безопасно подключаться к другим ресурсам в вашем VP C. Каждому сетевому интерфейсу elasti c назначается частный IP-адрес из диапазона IP-адресов в пределах указанного вами su bnet.

Шаги для настройки доступа:

  1. Создайте группу безопасности в VP C с правилом саморегулирования, чтобы разрешить взаимодействие компонентов AWS Glue и конечной точки Amazon S3 VP C, см. Правила для входящего и исходящего трафика в документации .
  2. Обновите группу безопасности RDS, чтобы разрешить входящий и исходящий доступ к sg, созданному на первом шаге.
  3. Создайте Glue Connection с источником RDS, используя созданный sg на первом шаге и проверьте ваше соединение .
  4. Если настройки сети верны и соединение установлено успешно, создайте задание, используя это соединение, или отредактируйте существующее задание >> Все соединения >> Выбрать чтобы заставить Glue создавать ENI в указанном su bnet.
...