我一直想到沿着实际流的上游和下游,信息流就像水一样.因此,上游是水/数据来自的地方(例如,HTTP请求),下游是其中的地方(例如,为请求提供服务的底层系统).
我最近一直在关注API网关,并注意到其中一些使用了这个定义的逆.当时我耸耸肩作为一个古怪的东西.然后我发现一些API网关所基于的nginx也使用了与我预期相反的术语.nginx将它发送请求的服务器调用到"上游服务器",因此传入的请求可能是"下游客户端".
从概念上讲,如果进入"上游服务器",nginx似乎会推动请求"上坡",这完全是反直觉的......显然,反向代理和API网关的重力是相反的!
我已经看到其他讨论谈论上游/下游代表系统之间的依赖关系,但对于位于系统之间的中间件或基础架构组件,依赖关系的想法有点宽松,我发现在信息流方面思考更有帮助 - 因为这通常是你的依赖的来源.
我是否理解了流类比从根本上是错误的,或者这些软件组件是否会使这些概念倒退?
我正在寻找一种方法(如果它甚至可能)使用XSD文档的XSL转换来删除未使用的元素.这在我的工作中出现了很多,公司将在其中定义一个绝对一切的XSD,但随后他们将希望为其中的单个根元素创建一个缩减版本.
为了进一步解释,我可能有如下的XSD:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="RootElement">
<xs:complexType>
<xs:sequence>
<xs:element ref="ChildElement"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ChildElement"/>
<xs:element name="UnusedElement"/>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
我想要做的是设置一个XSL,我提供起始元素(在这种情况下RootElement),它将复制所有依赖元素,但省略未使用的元素.在上面的例子中,如果我传入RootElement,我希望看到RootElement并ChildElement包含但UnusedElement省略.
(当我说"提供起始元素"时,我很乐意破解样式表并xsl:template match="RootElement"在必要时输入.)
这显然必须是递归的,因此将导航在起始元素下面定义的整个结构,并且将丢弃该模式中未使用的任何元素.
(当然,如果它可以在任何导入的模式中执行相同的操作会更好!)
我已经广泛搜索了Google,但却找不到任何相关内容 - 我不确定这是否意味着它不可能.
谢谢!
编辑:实际上我可能应该澄清并说我想删除未使用的元素和类型,因此它将遵循两者ref="childElement"和type="someType"链接.
我一直在尝试设置 AWS Simple Email Service,将自定义域收到的电子邮件转发到我的 Gmail 帐户,而不需要任何电子邮件托管服务。
我已设置并验证了我的自定义域 (mycustomdomain.com),并验证了将转发到的电子邮件地址 (myemail@gmail.com),因为我仍处于沙盒模式。
在“电子邮件接收”->“规则集”下,我有一个活动/已启用的规则集(转发到我的电子邮件-gmail),该规则集已启用,不需要 TLS 并且已启用垃圾邮件/病毒扫描。
我还设置了如上所述的 SNS 主题和关联的订阅,并测试了使用控制台手动向该主题发送通知,因此确认它有效。
但是,如果我尝试发送电子邮件至 test@mycustomdomain.com,我会收到一条退回邮件,内容如下:
找不到地址
您的邮件未发送至 test@mycustomdomain.com,因为找不到该地址或无法接收电子邮件。
回应是:
550 邮箱不存在!
我还确认已使用 mxtoolbox.com 正确设置了 MX 记录,该记录表示域记录指向 Feedback-smtp.us-west-2.amazonses.com
对我做错了什么有什么建议吗?非常感谢!