AWS 身份验证:连接器套件中的新功能
社区行动
另一个结果是 Mendix 与 AWS 的合作带来了丰富的知识和工具,旨在帮助 Mendix Makers 和 AWS Builders 的开发之旅。此支持材料包括 博客文章, 学习途径, 内容丰富的视频和 示例实现。它还包括分步指南、最佳实践和创建解决方案的实用见解 Mendix 对于那些刚接触 AWS 的人来说 Mendix.
这个 Mendix 社区在内容塑造方面发挥了重要作用。他们就 论坛,创造了一个促进增长和创新的环境,并突出了需要改进的地方。社区自由地分享了他们的挫折——例如必须在不同的连接器上配置相同的凭证进行身份验证——以及他们的想法,例如调用自定义端点和覆盖 HTTP 超时配置以延长 AWS Lambda 函数的运行时间。所有这些反馈都反映在最近的更新中 AWS 身份验证连接器 并通过更广泛的 AWS Connector Suite 提升开发人员体验。
升级和增强
让我们深入了解这些变化的细节。我将全面概述这些重大变化,解释审议内容,并讨论这些变化可能对开发人员的工作流程产生的影响。希望这些见解能带来更顺畅、更高效的开发体验。
AWS Connector Suite 的更新和增强不仅限于技术升级。它们结合了以下功能,增强了开发工作流程: Mendix 和 AWS。
这些变化将影响使用早期版本连接器的应用程序。我们将深入探讨这些变化意味着什么以及如何顺利过渡到新版本。
组件集中化
最显著的变化是身份验证组件的集中化,包括连接详细信息常量和用于生成 Credentials 对象的微流。此更改将导致未更新的应用程序出现错误,因为身份验证常量和微流不再位于连接器模块中,而是位于 AWS 身份验证连接器中。可以通过配置位于 AWS 身份验证连接器中的连接详细信息常量和凭证生成微流来解决这些错误。
每个请求实体
我们已经将所有操作标准化,使其包含请求实体,无论该操作之前是否有请求实体。此更改带来了整个套件的一致性。升级时,之前没有请求实体的操作可能会出现错误。要解决这些错误,只需添加新引入的请求实体的实例以与更新保持一致。
从 AbstractRequest 实体继承
此更改基于为每个操作引入请求实体。我们引入了一项新功能,其中所有请求实体现在都从 AWS 身份验证连接器的 AbstractRequest 实体继承。此继承为覆盖 HTTP 客户端配置的功能铺平了道路。虽然此修改符合标准化操作,但它可能会导致以前没有请求实体的操作在升级过程中出现错误。虽然此转变可能需要在升级过程中进行更改,但它授予了对连接器操作行为的高级控制权。
对 AWS 连接器套件进行彻底改造
套件中的每个连接器都经过了彻底改造,以确保统一性和一致性。值得注意的是,这些更新将为 AWS 连接器套件中的每个连接器引入重大更改。所需的调整数量将根据特定连接器而有所不同。至关重要的是,所有升级的连接器现在都具有 AWS 身份验证连接器 3.0.0 作为先决条件,以符合套件的增强标准和功能。
了解这些变化和迁移步骤将确保顺利过渡到更新版本。这将帮助 Makers 利用 AWS Connector Suite 的增强功能。
跨 AWS 连接器套件的集中化
另一个变化是将整个 AWS 连接器套件中的组件集中到 AWS 身份验证连接器,该模块是所有 AWS 连接器的先决条件。以下是该变化的关键要素。
AWS 区域枚举
您再也不需要费力辨别必须选择哪个模块特定的区域枚举。AWS 区域枚举的集中化现在简化了对所有 AWS 服务区域列表的访问。我们已扩展此列表以包括更多区域,从而提供更广泛的集成选项。

这些新增区域将确保连接器与最新的 AWS 区域保持同步,为开发人员提供更多部署 AWS 工作流的选项。新区域包括:
- 亚太地区 – 海得拉巴 (ap_south_2)
- 亚太地区 – 墨尔本 (ap_southeast_4)
- 欧洲 – 西班牙 (eu_south_2)
- 欧洲 – 苏黎世 (eu_central_2)
- 以色列 – 特拉维夫 (il_central_1)
- 中东 – 阿联酋 (me_central_1)
- AWS GovCloud – 美国东部 (us_gov_east_1)
- AWS GovCloud – 美国西部 (us_gov_west_1)
身份验证常量
我们集中了用于配置 AWS 身份验证的连接详细信息常量,这一变化是由社区反馈推动的。社区表示,必须配置多组常量会在开发过程中产生不必要的配置开销。新更新通过将这些常量重新定位到 AWS 身份验证连接器来消除这种情况。这提高了凭证的可重用性,同时还保留了配置多组凭证的可能性。
我们还审查了身份验证工作流程。我们删除了以前用于身份验证的常量“UseStaticCredentials”。针对 Credentials 实体的新方法现在更符合 AWS 的实践。
静态身份验证保持不变。但是,对于临时身份验证,我们引入了 TemporaryCredentials 实体 - Credentials 对象的特化。这不仅反映了 AWS 命名约定,而且还建立了更清晰、更好的身份验证问题分离。
此外,AWS 连接器套件采用了“临时凭证”这一术语,取代了之前使用的“基于会话的凭证”。这一术语在 AWS 生态系统中得到了更广泛的认可和采用。这种方法体现了我们与 AWS 标准保持同步的承诺,增强了 Makers 连接器的清晰度和一致性。

开箱即用的微流程可生成有效凭证
以前,连接器操作包括在操作本身的流程中创建 Credentials 对象的逻辑。但是,这种方法已经发展,现在需要将 Credentials 对象作为输入参数。较新的连接器已经采用了这一变化,它通过允许自定义凭据管理来提高灵活性。
在最新更新中,我们已将所有连接器操作标准化为这种方法。因此,每个不同的 AWS 连接器中存在的每个凭证生成微流现在都集中在 AWS 身份验证连接器中,作为两个不同的微流用于静态和临时身份验证。这种分离促进了更精细的控制,使开发人员能够选择静态凭证在开发期间进行快速身份验证,或选择临时凭证在生产环境中进行安全的短期访问。

将这些组件集中到 AWS 身份验证连接器模块中可提高可重用性和效率,尤其是因为每个连接器都已经需要 AWS 身份验证连接器。这种方法由社区反馈推动,解决了在具有多个 AWS 连接器的项目中管理重复常量集的痛点,并确保了更顺畅、更统一的开发过程。
覆盖 HTTP 客户端配置
在开发 AWS Connectors Suite 时,我们使用了 AWS 软件开发工具包 (SDK),而不是原生 Mendix 调用 REST 服务 活动。这种方法优先考虑处理 AWS 集成的效率。它消除了自定义 HTTP 标头和签名请求的复杂性,因为 SDK 会自动执行这些任务。此外,它还提供重试逻辑和限制管理等内置功能。这个基础为讨论覆盖 SDK HTTP 客户端配置奠定了基础,使开发人员能够更好地控制应用程序的行为。
覆盖 SDK HTTP 客户端的默认配置
为了解决由于默认 HTTP 客户端设置导致 AWS Lambda 函数超时等问题,我们引入了可自定义的 HTTP 客户端配置。每个连接器操作都有一个从 AbstractRequest 实体继承的请求实体。要覆盖默认的 HTTP 配置,Makers 会在 (子) 类型的 BasicClientConfig 对象上设置属性,并在调用连接器操作之前将其与请求关联。
一些用例包括:
- 扩展超时设置以适应可能运行时间更长的操作,例如 AWS Lambda 函数。
- 自定义重试机制来改变客户端从失败的 AWS 服务请求中恢复的行为。
- 覆盖调用端点(本地测试等用例所需)、与 AWS 服务的自托管实例集成以及调用 VPC 端点(私有云)。
这些增强功能提供了更大的控制力和灵活性,使制造商能够根据其特定的应用需求定制连接器。

从附加模块过渡到常规模块
诸如“什么是附加模块?”和“为什么在 Marketplace 模块下找不到连接器模块?”之类的评论是关于某些 AWS 连接器的模块类型的典型问题。附加模块是 Mendix 它提供 IP 保护和捆绑依赖项等功能,使其有别于标准模块。让我们看看我们如何在开发 AWS Connector Suite 时利用附加模块的独特功能。
附加模块
一年前,我们在试验阶段发布了 Amazon Polly Connector 作为附加模块。我们旨在评估将整个套件部署为附加模块的可行性。附加模块(带有 .mxmodule 扩展名)将连接器的依赖项捆绑在一起,使其成为避免库冲突的理想选择。然而,随着 Mendix和 管理依赖项 功能 Mendix Studio Pro 10.3,这个担忧不再存在。
转向常规模块
得益于新的依赖项管理功能,我们能够完全过渡回使用常规模块。这种转变不仅简化了开发过程,还允许这些连接器作为那些希望构建 AWS 集成的人的参考。
转向常规模块为定制提供了更广泛的可能性,符合我们致力于 Mendix 在 AWS 上构建应用程序的最快、最简单的平台。
结语
总而言之,AWS Connector Suite 的此次更新带来了功能和可用性的改进。
- 将组件集中到 AWS 身份验证连接器中可减少冗余并增强这些组件的可重用性,从而简化开发流程。
- 可定制的 HTTP 客户端配置的引入增强了对 AWS 集成的控制,包括扩展超时设置和自定义重试机制等方面。
- 从附加模块到常规模块的转变简化了开发并拓宽了定制和集成的可能性。
这些增强功能共同标志着我们在优化 AWS 集成体验方面取得了重大进展。有了这些改进, Mendix 社区更有能力在 AWS 上构建强大、高效且可扩展的应用程序。
你可能想知道如何帮助铺平道路 Mendix 在 AWS 上构建应用程序的最快、最简单的方法。我们始终渴望听到您的想法,解决您的问题,并在您的开发过程中为您提供支持。我们离您只有一条消息!请通过以下方式联系我们 [email protected],在 Mendix 社区松弛 在 #aws-general 频道,或者在 Mendix 论坛。