如何连接到自定义 AWS 端点 URL | Mendix

跳到主要内容

如何连接到自定义 AWS 终端节点 URL

标题图像

Mendix 都是关于技术的民主化。这一信息是 Siemens AG 首席执行官罗兰·布希 (Roland Busch) 出席今年拉斯维加斯举行的消费电子展 (CES)。

Roland 分享了生成式人工智能 变得更加广泛 感谢 Amazon Bedrock 连接器. 连接器诞生于 AWS 和 Mendix,提供对来自不同服务的各种基础模型的访问。

但现在,生成式人工智能不仅仅在你的 Mendix 应用。有各种各样的 连接器 适用于 Mendix 车型市场.

这些连接器依赖于 AWS 身份验证连接器 (最近 升级至3.0.0版本)。由于多个 AWS 连接器共享相同的依赖关系并依赖于类似的请求结构,因此这些功能现在已集中起来以方便使用。随附的架构更改还允许您编辑端点 URL(用于使用 AWS API)。

通常,端点 URL 会自动设置为特定于服务和区域的默认值。但是,如果您想在本地部署应用程序,则可能需要连接到其他端点。在更多情况下,您可能更愿意连接到本地或虚拟私有云端点。

为什么要更改 http 端点 URL?

更改端点 URL 有四大好处。

1. 增加安全性

假设你决定部署你的 Mendix 应用程序本地部署,并且您需要应用程序中使用的 Amazon Web 服务遵守相同的安全策略。通过更改端点 URL,您不再局限于部署在 AWS 云中的服务。相反,您可以连接到您喜欢的任何端点。

2.降低成本

当您连接到未托管在 AWS 服务器上的服务时,您无需支付服务器使用费。例如,如果您使用本地服务进行测试,并且不需要云服务的所有优势,那么这可以真正节省资金。

3.更好地控制测试环境

使用本地服务进行测试可让您完全控制环境。它还可以实现更快的迭代(如果您原本需要部署应用程序)、即时反馈和更高效的调试。

4.无需互联网

您无需互联网连接即可连接到本地端点。如果您使用本地端点,您甚至不需要网络连接,如果您想在移动中测试应用程序,这将非常有用。

(请注意,本地和 Web 服务实例之间存在权衡。在下面的 Amazon DynamoDB 示例中,本地数据库不共享。因此,您无法按照设计在本地镜像所有生产场景。您可以阅读有关本地和 Web 服务实例之间的其他差异。 开始.)

现在您知道为什么要更改端点 URL,让我使用 Amazon DynamoDB 的示例向您展示如何操作。

如何更改 http 端点 URL?

要学习本教程,您需要 Mendix 应用程序 AWS 身份验证 v3.0.0 (或更高版本)和 Amazon DynamoDB 按文件规定执行 开始.

您还需要运行 DynamoDB 的本地实例。 AWS 文档 提供了有关如何在本地部署 DynamoDB 的指南,无论是作为 .jar 文件还是在 Docker 容器中。只需选择您喜欢的方法并按照 文件 创建本地实例。

无论哪种方式,一旦成功安装 DynamoDB,您就可以使用 AWS CLI 访问数据库,如下所述。

1.使用 AWS CLI 访问 DynamoDB

无需使用 AWS CLI 连接您的 Mendix 应用程序到本地 DynamoDB 实例。但是,AWS CLI 是一种使用命令提示符窗口检查数据库的好方法(并确保数据库正在运行并且看起来符合预期)。

如果您尚未安装 AWS CLI,可以下载 开始.

尝试使用此提示列出数据库中所有现有的表:

aws dynamodb list-tables --endpoint-url https://localhost:8000

DynamoDB 使用端口 8000(除非您在 Docker Compose 文件中以其他方式指定了端口)。如果您的数据库仍为空,您将看到类似以下内容:

{
    "TableNames": []
}

例如,您可以使用以下命令添加一个名为“音乐”的新表(适用于 Windows):

aws dynamodb create-table --table-name Music --attribute-definitions        AttributeName=Artist,AttributeType=S         AttributeName=SongTitle,AttributeType=S --key-schema         AttributeName=Artist,KeyType=HASH         AttributeName=SongTitle,KeyType=RANGE --provisioned-throughput         ReadCapacityUnits=5,WriteCapacityUnits=5 --table-class STANDARD --endpoint-url https://localhost:8000

有关如何使用 CLI 创建表的文档可以在这里找到 开始.

如果再次列出数据库中的所有表,则应该已经添加了名为“Music”的新表:

{
    "TableNames": [
        "Music"
    ]
}

如果您愿意,可以使用 CLI 来尝试本地数据库。您可以找到更多命令 开始。只需确保始终添加“–endpoint-url”参数,以便访问本地数据库。

除了手动添加数据之外,您还可以备份远程 DynamoDB,并使用它来恢复本地数据库,如所述 开始。这种方法甚至可以让您大致了解远程实例的性能。

2. 将本地数据库连接到 Mendix 应用

使用静态或会话凭证在应用程序中配置 AWS 身份验证连接器后,您就可以开始了。除非您打算在本地和远程数据库之间切换并且不想稍后设置身份验证,否则无需使用有效凭证。

由于我们的连接器中的所有请求实体都从 AbstractRequest 实体继承,因此从 AWS 身份验证连接器 3.0.0 版本开始,可以覆盖端点 URL。只需创建一个具有正确端点 URL 值的 BasicClientConfig 对象并将其与请求关联即可。

这是两个实体在 AWS 身份验证连接器的域模型中的样子:

AWS 身份验证连接器的域模型

 

以下是三个微流示例,说明如何更改操作的默认 http 端点。如果您不确定如何创建合适的请求,请参阅 Amazon DynamoDB 连接器 以及 亚马逊 Dynamo 数据库 文档以获取更多信息。

示例 1:“列出表格”
示例 1:“列出表格”

 

示例 1:创建 BasicClientConfig 详细信息
示例 1:创建 BasicClientConfig 详细信息

 

示例 2:放置物品
示例 2:放置物品

 

示例 3:扫描
示例 3:扫描

相同的方法适用于我们任何连接器上的任何操作,当您想寻址与默认值不同的端点时。

无论您是运行下载文件夹中的 .jar 文件还是使用 Docker 容器,您的 Mendix 应用程序现在应该连接到本地数据库。祝您测试愉快!

如果您对应用程序在本地的工作方式感到满意,只需删除 BasicClientConfig 对象或删除属性值。该应用程序将无缝连接到远程实例。(不要忘记在设置中配置您的 AWS 凭证!😊)

结语

借助新的身份验证连接器功能,您不再局限于默认端点。您可以选择连接到本地私有云或本地端点,而不必妥协。连接到其他端点可以进一步增强您的项目成本,并提供受控且独立于服务器的测试环境。

最后,使用我们的连接器更改端点真的很容易!

选择你的语言