我在亚马逊中使用API网关作为后端api的简单代理.使用它的主要原因是:获取API密钥和身份验证,跟踪和处理"环境"的简单方法.
我的问题是,我们只想将所有查询参数,标题等传递给我们的后端并让它处理它.然后在回来的路上,我们想向客户回复我们服务的相应响应代码; 不必明确映射它们.据我了解,你几乎必须指定每个查询参数,如果参数改变或你添加更多,你需要更新你的API.在开发/测试期间,这对我们来说有点乏味.
有没有办法告诉Gateway只接受并传递任何查询参数,标题等,这样你就不必明确指定它们?响应状态代码的相同问题?
我有批处理作业,我想在Kubernetes上运行.我理解乔布斯的方式:
如果我选择restartPolicy: Never它意味着如果作业失败,它将破坏Pod并重新安排到(可能)另一个节点上.如果restartPolicy: OnFailure,它将重新启动现有Pod中的容器.我认为一定数量的失败是不可恢复的.有没有办法可以防止它在一段时间后重新安排或重新启动并清理不可恢复的作业?
我目前想要解决此问题的方法是让一些监视程序进程查看retryTimes并在指定次数的重试后清理作业.
我有一个SOAP api,我希望在"y"的"y"时间内收到许多调用后,以用户为基础限制访问.
在搜索之后,#1考虑(显然)是考虑用于何时限制用户的参数.但是,我没有看到实施此类解决方案的最佳实践/示例.我确实看到了漏水桶方法,这是有道理的.我不得不相信有更多的想法.
如何任何其他考生你去实现你的节流的解决方案?问题包括:
我正在构建一个应用程序(使用Django的ORM),该应用程序将吸收很多事件,比如说50 / s(每msg 1-2k)。最初是对事件进行一些“实时”处理和监视,因此我将使用Redis保留一些数据来制定决策,并在有意义的时候删除它们。我打算保留所有实体,包括Postgres中用于“静止”存储的事件。
将来,我将需要针对仪表板和其他功能的“分析”功能。我想为此使用Amazon Redshift。我考虑过直接使用Redshift并跳过Postgres。但是我也看到人们说它应该扮演更多的被动角色。也许我可以在SQL后端保留一个数据窗口并定期存档到Redshift。
我的问题是:
使用Redshift之类的东西作为Web应用程序的后端甚至是正常的,还是通常起着被动的作用?如果不是这样,认为我可以对Postgres进行足够的缩放以使事件数据仅以此为起点是不现实的?如果没有,“数据和归档窗口”方法是否有意义?
编辑这是我写这篇文章之前见过的一些东西:
我有一台服务器,它将在我的基础设施中的主机组上运行各种ansible playbooks.我已经看到了关于这个的各种问题,最终结果是use ssh-agent and ssh-add最初添加密钥并输入密码.但是有一些相互矛盾的讨论说,在使用ansible配置服务器时(即在提示时回显输入),您无法对用户输入做任何事情.
因此,如果我自动化ansible服务器并需要添加密钥,那么我无法使用密码对ansible-playbook从该服务器到相应计算机的任何后续运行进行身份验证.
是否使用带有ansible playbook的密码保护密钥而无需人工交互?
我在一个脚本中使用SA,我将使用它来定期将一个mysql表的子集从"生产"副本"复制"到开发/测试系统.我编写的代码只是为了反映源表和meta.create_all(destination_engine).由于FK的性质,我现在知道我需要use_alter=True在创建它们时在表上应用ForeignKeys,这样我就不会得到CircularDependencyErrors或其他问题.在我浏览元数据之前,我需要假设我不知道有多少FK或他们的名字.
我是SA的新手,通常是Java程序员(如你所知:D).我试图改变use_alter attr.首先迭代地:
tablesd = smeta.tables.items()
for tname, t in tablesd:
for c in t.columns:
for fk in c.foreign_keys:
fk.use_alter = True
smeta.create_all(to_engine)
Run Code Online (Sandbox Code Playgroud)
编辑:重要的是要注意,在设置use_alter属性后,create_all()不会像我上面那样抛出CircularDependencyError.如果我删除该代码,create_all()不起作用.它似乎并没有从创建中删除FK ...
这显然不起作用.然后,我阅读了SA文档中的Overriding Reflected Columns,示例为:
mytable = Table('mytable', meta,
Column('id', Integer, primary_key=True), # override reflected 'id' to have primary key
Column('mydata', Unicode(50)), # override reflected 'mydata' to be Unicode, autoload=True)
Run Code Online (Sandbox Code Playgroud)
我猜是单独反映每个表,然后添加use_alter=TrueFK定义会起作用,但我不能假设名称和值或FK /列的#.我读过很多关于使用DeclarativeBase这样的事情的内容,但我不确定这是怎么回事......
如何获取我的任意表列表,反映它们,然后在各自的外键上覆盖use_alter选项?我是否以错误的方式思考这个问题?
ansible ×1
api ×1
architecture ×1
django ×1
kubernetes ×1
mysql ×1
postgresql ×1
python-2.7 ×1
reflection ×1
soap ×1
sqlalchemy ×1
ssh ×1
throttling ×1
web-services ×1