问题标签 [aws-aurora-serverless]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
745 浏览

amazon-web-services - AWS Serverless Aurora - 与主节点的通信链路故障。找不到主节点的活动连接

部署在 Amazon ECS(使用 Fargate)上的应用程序在连接无服务器 Aurora DB 时遇到问题。我可以使用堡垒主机、具有公共 IP 和 SSH 隧道的同一 VPC 中的 EC2 实例成功连接到这个无服务器数据库。数据库连接对provisionedEngineMode 成功,但serverless它会引发以下错误:

数据库集群配置:我禁用了自动暂停功能并配置了集群,以便 2 个实例始终处于运行状态。我可以在 RDS(AWS 控制台)中看到 CPU 利用率和容量单元 2。

数据源配置:

已解决

问题在于客户端用来建立数据库连接的用户的访问限制。

0 投票
1 回答
2350 浏览

python - 错误:列是没有时区的时间戳类型,但表达式的类型是字符变化

我正在从 MS SQL db 表中读取 csv 文件导出并尝试将数据插入 PostgreSQL (Aurora Serverless) db。当我在 PostgreSQL 数据库中创建等效表时,我使用了我在网上找到的列类型映射来将 datetime (MS SQL) 映射到 timestamp(3) (PostgreSQL) 类型。但是,当我尝试将记录插入 Postgres db 时,我收到了该错误:

我的 MS SQL 表架构:

csv 文件包含:

PostgreSQL 表模式/创建语句:

在错误消息中,提示说我可能必须转换表达式,但我不确定我应该如何做到这一点,或者这是否是我情况下的最佳解决方案。

我正在使用以下脚本从 csv 文件加载数据并将其推送到 PostgreSQL 数据库:

更新

如果我使用查询编辑器插入一条记录,例如insert into rigs_latest values (10000002, '2020-11-22 00:00:00');它可以正常工作

在此处输入图像描述

这表明代码本身有问题

0 投票
1 回答
437 浏览

postgresql - 如何使用 Python boto3 客户端在 Aurora PostgreSQL 数据库中为“int”列元组插入“NULL”值

我有一个 CSV 文件(MS SQL 服务器表导出),我想将它导入 Aurora Serverless PostgreSQL 数据库表。我对 CSV 文件进行了基本预处理,以将其中的所有NULL值(即'')替换为"NULL". 该文件如下所示:

CSV 文件:

PostgreSQL 表具有以下架构:

我用来读取和插入 CSV 文件的代码如下:

但是,返回的错误表明存在类型不匹配:

有没有办法将 Aurora 配置为接受NULL诸如 的类型的值int

0 投票
1 回答
890 浏览

python - 使用 AWS Aurora Serverless DATA API 调用 BatchExecuteStatement 操作时发生错误 (413)

我编写了一个 pythonc 脚本,它使用boto3python 库来查询 Aurora Serverless (PostgreSQL) 数据库。我正在使用 DATA API 批量插入(我在多个批次中这样做)一个非常大的CSV文件,其中包含超过 600 万条记录到数据库中。每条记录包含 37 列。当我在我的 PC 上运行脚本时(我已经设置了 AWS-CLI 凭证,以便我使用授权的用户与云中的 Aurora DB 对话)我能够成功插入几批包含 1800 个 SQL 插入语句的批次,然后我得到那个错误:

Python脚本:

据我了解,413错误代码意味着“请求实体太大”,这表明我需要降低发送到数据库的批量大小(通过 DATA API),但我不明白为什么我能够发送几个在我开始收到上述错误之前批量 1800 条 SQL 语句。有什么建议吗?

另外,考虑到我需要推送/插入数据库的数据,在我的情况下,最好的解决方案是什么?

0 投票
0 回答
325 浏览

mysql - 从本地主机到极光无服务器

我正在研究从 rds mysql(正在使用并且内部有表和数据)切换到 aurora serverless mysql 以尝试花更少的钱,因为数据库用于很少的操作。我可以从我的电脑(dbeaver、mysql workbench 等)毫无问题地连接到 rds mysql,我可以设计表、查看数据、创建用户......现在,我已经创建了新的无服务器数据库并连接到同一个 vpc和第一个的 sec 组,但我无法从我的电脑连接到它。我在 aws guides 上读到有两种解决方案:

  • 使用 ec2 来 ssh 隧道请求 --> 但它是一个付费软件解决方案;
  • 使用 cloud9 并通过终端连接 --> 但以这种方式组织数据库并不像使用 gui 客户端那么简单。

出于这个原因,我非常明白无服务器目前不是一个好的解决方案。有什么想法或建议吗?

提前致谢

0 投票
1 回答
393 浏览

mysql - MySQL (Aurora) 使用 adddate 或 date-add 或 date-sub 更新时间戳表示语法错误

你们中的任何人都可以在这里找出 mySQL 更新语句的语法错误吗?

update table_name set start_time = DATE_ADD (start_time , INTERVAL 2 DAY) where start_time = '2020-12-08 10:47:00';

以上是简单的 mySQL 查询,将 start_time(时间戳)更新 2 天。

AFAIK,以上应该可以工作,而且并不复杂。但我收到语法错误,我无法理解为什么会出现语法错误。这是我得到的错误...

数据库错误代码:1064。消息:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 10 行的 ') where start_time = '2020-12-08 10:47:00'' 附近使用正确的语法

我还尝试过其他变体,例如...

数据库错误代码:1064。消息:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 ') where start_time = '2020-12-08 10:47:00'' 附近使用正确的语法

如果我在 select 语句中使用 date_sub,

它确实像一个魅力。但我无法在 set =.... 的更新语句中使用它

我只是无法理解出了什么问题,并且很想知道语法有什么问题。你能建议吗?

0 投票
1 回答
405 浏览

amazon-web-services - AWS Aurora Serverless 无法解释的写入 IOPS

我创建了一个最大 ACU 为 1 的 RDS Aurora Serverless 集群,并注意到大量的卷写入 IOPS,尽管没有创建数据库或从未连接到集群:

高容量写入 IOPS

我查看general_log并注意到了这个语句,它大约每 2 秒执行一次:

这可以解释一些写入 IOPS,但没有接近图表显示的每分钟 550 次。

有人可以解释这些 IOPS 的来源吗?

0 投票
1 回答
388 浏览

amazon-web-services - 使用 AWS 数据 api 连接到 Aurora Postgres 数据库的秘密字符串应该采用什么格式?

首先,我所做的一切都来自 CLI。我没有使用网络界面的权限。我正在尝试使用 AWS 数据 API 调用现有的 Aurora Postrgres 数据库。我正在按照此页面上的说明进行操作:

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html

我被困在“在 AWS Secrets Manager 中存储数据库凭证”部分。

我知道如何创建一个秘密(aws secretsmanager create-secret --name test2 --secret-string "{"Key":"test","Value":"12345"}")但我不知道是什么--secret-string 应该存储数据库凭据。

所有文档都说“使用 Secrets Manager 创建一个包含 Aurora 数据库集群凭证的密钥。”,但没有说明凭证应该采用什么格式。

从我的 IDE 连接到数据库时,我需要包含主机、端口、用户、密码和数据库名称。我需要将所有这些都包含在秘密字符串中吗?

"{"主机":"我的主机","端口":"12345","用户":"我的用户","密码":"我的密码","db_name":"我的数据库名称"}"

0 投票
1 回答
237 浏览

python - 如何使用 SQLAlchemy 为 Aurora Serverless 和 DataAPI 生成 python 数据库模型?

我一直在试图弄清楚是否有任何方法可以为通过 DataAPI 使用的 Aurora Serverless (Postgresql) DB 提供 ORM 功能(尤其是代码模型生成)?最终,我想避免在我们的 Lambda 中使用原始 sql 字符串查询。

我尝试将sqlacodegen与sqlalchemy -aurora-data-api(在sqlalchemy之上工作)结合使用,但我不断收到错误消息:

用方言:

botocore.exceptions.NoRegionError:您必须指定一个区域。

没有方言:

sqlalchemy.exc.OperationalError:(psycopg2.OperationalError)无法连接到服务器:连接超时(0x0000274C/10060)

前者似乎暗示必须将参数传递给调用,但 sqlacodegen 不接受任何 kwargs afaik。后者只是无法连接,并且psycopg2告诉我它只是没有使用正确的方言。

0 投票
2 回答
242 浏览

amazon-web-services - 为什么我在尝试从 lambda 而不是从查询编辑器访问极光无服务器数据库时得到 403?

我已经启动了一个极光无服务器 posgres 兼容数据库,我正在尝试从 lambda 函数连接到它,但AccessDenied出现错误:

AccessDeniedException:
状态代码:403,请求 ID:2b19fa38-af7d-4f4a-aaa5-7d068e92c901

细节:

  • 如果我使用 lambda 尝试使用的相同 secret-arn 和数据库名称,我可以通过查询编辑器手动连接和查询数据库。我已经三重检查了arns是否正确
  • 我的 lambdas 不在 vpc 中,但正在使用数据 api。RDS 集群在默认 vpc 中
  • 我暂时授予了我的 lambdas 管理员访问权限,以便我知道这不是 lambda 方面的基于策略的问题
  • Cloudwatch 不包含有关错误的任何其他详细信息
  • 我可以从我的个人计算机的命令行(不在 vpc 上)查询数据库

有什么建议么?也许有一种方法可以从错误中获得更好的细节?