ВЫБРАТЬ * в SQLAlchemy?

Помните, что сеть GCP по умолчанию является глобальной, поэтому не имеет значения, в какой зоне вы развертываете свои ресурсы, они всегда смогут связаться друг с другом, используя внутренние или внешние IP-адреса (имейте в виду, что если вы используя внешние IP-адреса для связи, вы будете платить за входящий / исходящий трафик, а также настраивать необходимые правила брандмауэра).

Если вы используете разные VPC или сети, вам необходимо настроить VPC Peering , это позволит установить связь между обоими VPC, например, у вас есть экземпляр GCE в одном VPC и кластер GKE в другом .

Я пытался реплицировать ваш сценарий, кластер GKE и вычислительный экземпляр, развернутый в сети по умолчанию, применил правило брандмауэра, чтобы разрешить входящий трафик всем экземплярам в сети (сетевые теги не используются).

Я выполнил развертывание busybox с помощью этого файла yaml в GKE, вошел в один модуль, kubectl get pods , а затем использовал kubectl exec -ti $ podname sh. , наконец, использовали эти инструменты для проверки соединения: traceroute и ping.

Соединение между обоими ресурсами было успешным, обратите внимание, что вместо использования протокола UDP для traceroute я использовал опцию -I , что означает «использовать ICMP ECHO для зондов».

Экземпляр, находящийся за VPN (Cloud VPN, выделенное межсоединение или прямое пиринг), не влияет на тот факт, что кластер GKE не может достичь его, если, как я уже упоминал ранее, оба ресурса находятся по отдельности / разные сети.

28
задан Smi 14 November 2018 в 09:16
поделиться

4 ответа

Никто не чувствует любви ORM к SQLALchemy сегодня? Представленные ответы правильно описывают более низкий интерфейс уровня, который обеспечивает SQLAlchemy. Только для полноты это более вероятно (для меня) реальная ситуация, где у Вас есть экземпляр сессии и Пользовательский класс, который является orm, отображенным на пользовательской таблице.

for user in session.query(User).filter_by(name='jack'):
     print user
     # ...

И это делает явный выбор на всех столбцах.

38
ответ дан Ali Afshar 28 November 2019 в 02:22
поделиться

Где Панель является классом, отображенным на Вашей таблице и , сессия является Вашей sa сессией:

bars = session.query(Bar).filter(Bar.foo == 1)
9
ответ дан adam 28 November 2019 в 02:22
поделиться

Если Вы не перечисляете столбцов, Вы получаете всех их.

query = users.select()
query = query.where(users.c.name=='jack')
result = conn.execute(query)
for row in result:
    print row

Должен работать.

7
ответ дан S.Lott 28 November 2019 в 02:22
поделиться

Оказывается, что можно сделать:

sa.select('*', ...)
2
ответ дан mike 28 November 2019 в 02:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: