问题标签 [aws-sdk-go-v2]

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 投票
1 回答
38 浏览

amazon-web-services - 在 aws-sdk-go-v2 for Go 中为 AWS s3 添加 Presign URL Expiration

有一个使用 aws-sdk-go-v2 创建预签名 URL的非常好的示例。

这很好用,但我坚持设置过期时间。我确实看到 PresignOptions 结构有一个,Expires但我不确定如何做到这一点。

我也看到WithPresignExpires了,但是,我也不知道如何使用这个给出的例子。

这里可以举个例子吗?我正在学习围棋,但这里有些东西是我无法掌握的。

0 投票
0 回答
21 浏览

amazon-web-services - 否定等待条件

我正在使用 aws-go-sdk,对 AWS API 执行操作。顺便说一句,我正在尝试将私有 IP 地址添加/删除到选择的 S3 实例。在向我正在使用的实例添加/删除 IP 时WaitUntilInstanceRunning,等待实例使用我分配的 IP 地址运行。使用 API,我设法写了一些类似的东西

这可以很好地分配 IP。但是,当向他/她自己保证被删除的 IP 也被删除时,应该使用什么?

ec2.Filter没有在其 API 中提供“运算符” 。我的意思是,如果这是等待并验证实例是否以预期值运行的唯一方法,则否定它并确保实例以预期值运行是不可能的(因为删除之前的所有值都将存在后)。前任:

  1. “实例 1”具有 [IP1, IP2]
  2. 删除 IP2
  3. 等待“实例 1”有 [IP1]

这是 API 不执行的操作,还是等待 API 对提供的值执行相等断言?即:WaitUntilInstanceRunning当“实例1”只有IP1时返回?

0 投票
2 回答
368 浏览

amazon-web-services - 如何使用 dynamodb aws-sdk-go-v2 的 ExclusiveStartKey 进行分页?

我正在尝试为我拥有的 dynamodb 表创建一个分页端点。但是我已经尝试了一切来让 ExclusiveStartKey 成为正确的类型以使其正常工作。但是,我尝试过的一切似乎都不起作用。

示例代码:

编辑:

好的,我正在创建一个需要分页的 API。API 需要有一个查询参数,可以在其中定义 lastEvaluatedId。然后我可以使用 lastEvaluatedId 作为 ScanInput 上的 ExclusiveStartKey 传递。但是,当我这样做时,我仍然从数据库中收到相同的项目。我创建了一个 test.go 文件并将发布以下代码:

当我运行这个测试代码时。我得到这个输出:

因此,返回的项目与我传递给 ScanInput.ExclusiveStartKey 的 Id 相同。这意味着它不是从 ExclusiveStartKey 开始的。扫描每次都从头开始。

0 投票
1 回答
39 浏览

aws-sdk-go - 如何找出我做错了什么。使用 go sdk 在时间流写入记录中获取验证异常?

正如标题所说,我正在尝试将一堆记录写入时间流,但我不断收到“ValidationException”而没有任何进一步的信息,所以我不知道应该修复什么。确切的错误响应是:

操作错误时间流写入:WriteRecords,https 响应错误 StatusCode:400,RequestID:XXXXXXXXXXXXXX,ValidationException:

它让我认为它是一个多行字符串,并且不知何故日志记录框架没有正确记录,但我尝试按 \n 拆分,我得到的只是一个大小为 1 的列表,其中包含相同的文本。

有任何想法吗?

0 投票
1 回答
45 浏览

go - aws-sdk-go-v2 自定义记录器

使用 SDK 的 v1,我可以将 logrus 用于我的自定义记录器,例如:

这已随 sdk v2 改变,https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/logging/

看来我需要按照https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/config#WithLogger使用 logging.logger

我很难为此目的使用 logrus,有人可以建议我在这里需要做什么吗?

0 投票
1 回答
451 浏览

amazon-web-services - 如何向 AWS 验证 gocql

我有一个需要连接 AWS 上的 Keyspaces 的 Go 服务。我的 pod 有一个角色 and和AWS_SECRET_ACCESS_KEYenv vars。AWS_ACCESS_KEY_IDAWS_SESSION_TOKEN

我想使用 aws SDK v2。我应该使用什么凭据提供程序?ec2rolecreds或其他一个(也许stscreds)?

我试图从这里实现示例。但我得到一个错误

我在哪里可以找到工作示例和更多解释?

更新

现在我的代码如下所示:

Retrieve()返回错误

更新 2

在同一环境中,AWS SDK v1 工作正常。所以物理上 AWS 端点是可用的。

0 投票
0 回答
26 浏览

go - 在 aws-sdk-go-v2 中从 S3 预签名 URL 中省略区域

最近我将代码库从 aws-sdk-go v1 迁移到 v2。但我注意到迁移指南中似乎没有描述的差异,v1 和 v2 之间生成的预签名 URL 已更改:

  • v1:https://s3.amazonaws.com/<bucket>/<path>
  • v2:https://s3.<region>.amazonaws.com/<bucket>/<path>

经过一番研究,我发现另一个 Slack 线程提到 v2 现在使用 sig4,它将区域包含在 URL 中(此处)。

我的问题是我需要使用没有区域的旧主机名版本,因为旧代码依赖于s3.amazonaws.com主机名匹配。因此,我希望是否有任何方法可以将区域添加到 aws-sdk-go-v2 中的预签名 URL 中。

这是我用来生成 S3 预签名 URL 的代码: