javascript - 从 javascript 访问 Amazon RDS

标签 javascript sql amazon-web-services smtp

我正在一家公司实习并被分配了一项任务。我要编写一个 Javascript 脚本(仅供内部使用;安全性不是问题),用于访问 AWS 实例上的 RDS 数据库,获取电子邮件地址列表,并使用服务器的 smtp 将电子邮件发送到整个列表。问题是我对AWS和RDS一无所知。以下是我得到的东西:

--smtp服务器的服务器地址、端口和凭证文件

--AWS DB的地址及其用户名、密码、数据库名称和表

--公司的服务器网址、安全 key ,我还获得了 SSH 和 SCP 命令。

我从哪里开始学习如何做到这一点?我觉得它在我的掌握之中,但我只是不知道我需要做什么来获取这些信息的整个过程。我以前从未使用过 SQL 或 RDS。任何方向将不胜感激!

最佳答案

尝试将问题分解为多个 block :

将数据库查询编写为 SQL

如果相关 RDS 数据库实例是公开可用的,请尝试使用您首选的(GUI?)SQL 客户端连接到它,并检查其表。了解如何编写所需的 SQL 查询,以便获取下一步所需的电子邮件地址,例如从 user_type='Internal' 的用户中选择 email_addressw3schools SQL 简介是一个很好的起点。

如果 RDS 数据库实例不是公开可用的(即,如果您只能从 AWS 内部连接到数据库 - 从您计划运行代码的服务器),那么请弄清楚如何使用 SSH 或 RDP 登录该服务器,然后使用 AWS 服务器上的数据库客户端编写和测试 SQL 查询。

首先检查您是否登录到了可能会被错误破坏的生产机器。

使用服务器端程序运行 SQL 查询

然后,您必须使用一些在服务器端运行的代码连接到 RDS 数据库实例。如果您使用的是服务器端 JavaScript 环境(例如 NodeJS),这很好,但虽然它是 potentially feasible to use JavaScript directly from a browser to connect to a database ,即使对于您的作业来说,这也不是一个好的做法,因此请确保您使用的是一些服务器端代码。

找出您公司常用的平台是什么(Java?Python?PHP?NodeJS?)并进行选择。在互联网上搜索示例代码 - 您会很容易找到一些,因为查询数据库是一项极其常见的编程任务。由于您已经获得了 SQL 查询,因此您将能够编写一些简单的代码来连接到数据库并获取所需的电子邮件地址。现在,只需将其打印到日志文件或控制台即可。

发送测试电子邮件

另外,在服务器端程序中,弄清楚如何连接到公司的 SMTP 服务器并向自己发送电子邮件,作为开始。再次,在互联网上搜索您选择的编程语言的示例。

完成此操作后,在数组或列表中定义两个或三个电子邮件地址,并弄清楚如何同时向这些用户发送相同的消息。

连接您的数据库查询代码和 SMTP 代码

您可以查询数据库,并且可以向多个用户发送电子邮件。现在添加到您的代码中以将这两个函数连接在一起。不要向公司中的每个人发送垃圾邮件并导致自己被解雇!

你提到了 JavaScript

确保您清楚作业的要求。该程序应该从浏览器启动吗?用户是否需要单击网页上的“发送电子邮件”按钮?如果是这样,请弄清楚如何向服务器提交请求以执行服务器端代码。在互联网上搜索从 JavaScript 发布 HTML 表单的示例。

祝你好运!

关于javascript - 从 javascript 访问 Amazon RDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19758801/

相关文章:

sql - SQL Server 上的 (nolock) 和表别名的顺序

mysql - SQL中从多个查询到一个查询

java - 无法使用 JDBC 将西里尔符号插入 MySQL

amazon-web-services - 使用 AWS SNS 发送短信 - .Net Core

amazon-web-services - 如何使用 KMS 从 org.apache.hadoop.fs.s3a.S3AFileSystem API 访问 AWS S3

javascript - 如何在跟踪js中进行人脸检测后捕获图像

javascript - 通过一次提交保存两个模型(属于第三个模型)?

django - DynamoDB 的命名约定?

javascript - 如何让 Discord 机器人收听我的 DM,而不是简单的 channel 消息?

javascript - Rails - 使用 at.js @mentions