QuotaGuard Heroku Django и база данных SQL AzurePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 QuotaGuard Heroku Django и база данных SQL Azure

Сообщение Anonymous »

Код: Выделить всё

import pandas as pd
from PIL import Image
from sqlalchemy import create_engine
from sqlalchemy.pool import NullPool
from dotenv import load_dotenv
import socks
import socket
import os
import io

load_dotenv()

CLIENT_ID = os.getenv("CLIENT_ID")
TENANT_ID = os.getenv("TENANT_ID")
CLIENT_SECRET = os.getenv("CLIENT_SECRET")
DB_SERVER = os.getenv("DB_SERVER")
DB_NAME = os.getenv("DB_NAME")
DB_DRIVER = os.getenv("DB_DRIVER")
DB_TIMEOUT = os.getenv("DB_TIMEOUT")
QUOTAGUARD_URL = os.getenv("QUOTAGUARD_URL")

if QUOTAGUARD_URL:
proxy_protocol, proxy_auth_host = QUOTAGUARD_URL.split("://")
proxy_auth, proxy_host_port = proxy_auth_host.split("@")
proxy_user, proxy_pass = proxy_auth.split(":")
proxy_host, proxy_port = proxy_host_port.split(":")
proxy_port = int(proxy_port)

socks.set_default_proxy(socks.SOCKS5, proxy_host, proxy_port, username=proxy_user, password=proxy_pass)
socket.socket = socks.socksocket

connection_string = (
"mssql+pyodbc:///?odbc_connect=" +
f"Driver={{{DB_DRIVER}}};" +
f"Server={DB_SERVER};" +
f"Database={DB_NAME};" +
"Encrypt=yes;" +
"TrustServerCertificate=yes;" +
f"Connection Timeout={DB_TIMEOUT};" +
"Authentication=ActiveDirectoryServicePrincipal;" +
f"UID={CLIENT_ID};" +
f"PWD={CLIENT_SECRET};" +
f"Authority Id={TENANT_ID};"
)

engine = create_engine(connection_string, poolclass=NullPool)

try:
query = "SELECT * FROM list_photos"
with engine.connect() as conn:
df = pd.read_sql(query, conn)
print("DataFrame loaded successfully!")
print(df.head())
except Exception as e:
print(f"Error: {e}")

for index, row in df.iterrows():
holdon = input("Press Enter to view the next image...")
try:
image = Image.open(io.BytesIO(row['photo']))
image.show()
except Exception as e:
print(f"Error displaying image at index {index}: {e}")
Я пытаюсь получить данные из базы данных SQL Azure через прокси-сервер, но он не использует этот прокси-сервер для подключения к нему, поэтому я получаю сообщение об ошибке из базы данных, где указано, что источник данных имя не найдено и т. д. и т. п. и т. д., что типично, когда я пытаюсь подключиться к БД через IP-адрес, которого нет в белом списке. IP-адрес прокси-сервера находится в белом списке, поэтому я знаю, что он не использует прокси-сервер для отправки запроса, а также в панели управления QuotaGuard. Я также не вижу этого запроса.
Я прочитал все документация здесь: https://devcenter.heroku.com/articles/q ... nterpreter
Также я пробовал разные методы подключения, что я делает не так?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ure-sql-db
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»