问题标签 [aws-sdk-js-v3]
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.
amazon-dynamodb - AWS JS SDK 是否移除了控制 dynamodb 操作超时的功能?
虽然在 dynamodb/document 客户端上设置请求超时时遇到问题(使用 v2 SDK,如何为 AWS DocumentClient javascript SDK 设置默认超时),但我决定探索切换 v3 API,因为它具有一定的优势。
但是查看完整的客户端DynamoDB,更重要的是它的配置DynamoDBClientConfig,似乎没有办法控制整体请求超时。
而 v2 接口httpOptions
(在引用的问题中似乎不起作用)v3 配置似乎没有任何控制,甚至没有定义单个请求在超时(和重试或其他)之前可能等待多长时间。
现在是否必须使用自定义 requestHandler 来实现?中是否有此示例代码node.js
?
javascript - 如何使用适用于 JavaScript 的 AWS 开发工具包 V3 版本将 PDF 文件的 ReadableStream 存储到磁盘
我正在尝试在 Node JS 中S3
使用 AWS SDK for JavaScript V3(' ) 下载 PDF 文件。aws-sdk/client-s3'
它适用于纯文本文件,但不确定 PDF 如何流式传输到 PDF 文件。感谢任何帮助
我编写了一个示例Node JS
模块并从 AWS的调用中s3Module.js
返回。我尝试了不同的方法来下载文件,但生成的 PDF 是零字节的。响应的VSCode 中可见。我想我缺少编码或其他东西。感谢任何帮助。ReadableStream
getObject
Body
s3Module.js
amazon-web-services - 用于翻译客户端的 aws-sdk-js 导致错误“无法读取未定义的属性 'byteLength'”
我在 Node.js 应用程序中运行 AWS SDK V3 Translate Client 来翻译句子。这是我的代码:
我已按照文档中的说明进行操作。
但是,结果如下。
这个问题的原因是什么,我该如何解决?
aws-sdk-js - RedshiftDataClient BatchExecuteStatement 将所有查询合二为一
我正在使用 RedshiftDataClient (@aws-sdk/client-redshift-data 3.39.0) 中的 BatchExecuteStatement 命令对 redshift 执行一些查询。这没有更新数据库,但也没有引发错误,所以为了解决问题,我使用 ListStatements 命令查看是否有关于发生了什么的见解。我发现我的所有查询都被合并为一个。例如:
返回
查看 ListStatements 的文档,我希望在这种情况下接收带有查询数组的 QueryStrings 属性,而不是连接查询的 QueryString 属性。
我需要运行的实际查询当然要长得多,问题是当它们像这样连接时,连接字符串中只有每个字符的前 100 个字符,所以它们没有成功运行的希望。
知道我做错了什么吗?
node.js - 如何使用 AWS SDK v3 将流上传到 S3
我必须将文件从 API 端点传输到两个不同的存储桶。原始上传是使用:
上传文件的端点:
如您所见,我使用了两个PassThrough流,以便将请求流复制到两个可读流中,正如此 SO thread 中所建议的那样。
这段代码保持不变,这里有趣的是uploadToFirstS3
anduploadToSecondS3
函数。在这个最小的例子中,两者都使用不同的配置做完全相同的事情,我将在这里只使用一个。
什么效果好:
这段代码(基于aws-sdk包)工作正常。我的问题是我希望它与@aws-sdk/client-s3包一起运行,以减小项目的大小。
什么不起作用:
我首先尝试使用S3Client.send(PutObjectCommand):
然后我尝试了 S3.putObject(PutObjectCommandInput):
最后两个示例都给了我一个501-Not Implemented错误的标题Transfer-Encoding
。我检查了一下req.headers
,里面没有Transfer-Encoding
,所以我猜是 sdk 在请求中添加了 s3 ?
由于第一个示例(基于aws-sdk)工作正常,我确信错误不是由于请求中的空正文,如此 SO thread中所建议的那样。
尽管如此,我认为触发上传时流可能还不可读,因此我将调用uploadToFirstS3
和事件uploadToSecondS3
触发的回调包装起来req.on('readable', callback)
,但没有任何改变。
我想随时处理内存中的文件而不将其存储在磁盘上。有没有办法使用@aws-sdk/client-s3包来实现它?
aws-lambda - 即使在提供区域之后,aws-sdk v3 lambda 区域也缺失
我正在将 aws-sdk 从 v2 迁移到 v3,并且在设置 lambda 客户端时遇到问题。如文档中所示,我在 lambda 客户端的实例化期间提供了区域,但是在客户端上运行 InvokeAsyncCommand 时,出现“Region is missing”错误。
沙盒包含重现的问题
node.js - AWS S3Client 引发错误:“emitWarning”不是函数
我正在尝试使用该@aws-sdk/client-s3
包创建一个 S3Client,如下所示:
它在本地运行良好,但是当我将代码连同 client-s3 依赖项一起上传到 MongoDB Realm 函数时,它会引发错误:{"message":"'emitWarning' is not a function","name":"TypeError"}
什么可能导致此错误?
javascript - AWS SDK JavaScript v3 / 如何在 dynamoDB 扫描命令中使用 ExpressionAttributeNames?
我正在使用 Lambda 函数,该函数从 dynamoDB 表中的用户 ID 获取用户电子邮件。我使用 dynamoDB 扫描命令扫描 dynamoDB 表中的所有项目。我使用新的 v3 AWS JS 开发工具包。
问题:为什么ExpressionAttributeNames在我的情况下不能正常工作?
这有效:
但这不起作用,为什么?
我的 Lambda 扫描操作代码本身如下所示:
文档:
amazon-web-services - 如何使用现有 IAM 角色调用新的 EC2 实例?/ JavaScript AWS SDK v3 - RunInstancesCommand
如何在 JavaScript 中启动带有附加(现有)IAM 角色的 EC2 实例?
我知道这个问题已被问到其他语言,但我找不到 JavaScript 的示例。
我的 JS Lambda 代码目前看起来像:
文档:
上面的代码运行,但 EC2 > Instances > Security 选项卡下的 IAM Role 在我所有的尝试中都保持为空。
mysql - AWS Aurora MySQL 准备好的语句
我有一个插入查询,我想使用 JavaScript V3 AWS 客户端针对 AWS Aurora MySQL 无服务器数据库执行。我正在使用数据库的数据 API。我@aws-sdk/client-rds-data
在我的代码中进行了设置,我可以使用ExecuteStatementCommand
.
我想知道的是我如何制作 SQL 准备好的语句并执行它们。我有一个INSERT
查询,其值是用户提供的。我不能只是将这些值连接到 SQL 查询中,因为它会创建 SQL 注入漏洞。
@aws-sdk/client-rds-data
不幸的是,我在包的文档中找不到如何制作准备好的语句并执行它们。
如果有人知道该怎么做,有人可以解释一下。提前非常感谢!