问题标签 [aws-sdk-go]

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 回答
3998 浏览

unit-testing - 模拟 context.Context 以测试 lambdacontext.FromContext

我正在使用aws-sdk-goaws-lambda-go构建一个 aws lambda ,但遇到了一个小问题。

我想测试我的 lambda 处理程序。为此,我需要模拟一个有效的context.Context ,其中包含lamdacontext.LambdaContext的有效属性并满足lambdacontext.FromContext

我似乎无法找到一种方法来构建这样的模拟,因为lambdacontext.FromContext总是返回 me _, false

这是我的主要内容,在events.SNSEvent事件上有一个简单的处理程序:

这是我的测试handleRequest

我还尝试了其他模拟,例如将带有这些参数的结构传递给它等,但我总是得到false. 例如,我也尝试过:

我检查了来源,FromContext我一直在摸不着头脑。

当然,false即使我只是将 a 传递context.Background()给它,它也会返回。

关于我应该如何建立一个有效context.Context的让lambdacontext.FromContext返回的任何想法true

0 投票
1 回答
755 浏览

amazon-web-services - 在没有会话的 Go AWS SDK 中创建客户端

我们如何在不使用会话的情况下创建 AWS 服务客户端(例如 EC2、Autoscaling),而是直接使用 sahred 凭证,就像在 boto3 中一样。

使用这样的会话有效:

但是,这不起作用:

错误:

无法在 ec2.New 的参数中使用 aws.Config 文字(类型 *aws.Config)作为类型 client.ConfigProvider:*aws.Config 未实现 client.ConfigProvider(缺少 ClientConfig 方法)

如何在没有会话的情况下使用 Go AWS SDK 直接创建客户端?

0 投票
0 回答
1065 浏览

go - “桶 POST 必须包含一个名为‘key’的字段”错误

我正在尝试使用预签名的 POST URL(使用 boto3 生成)将文件上传到 s3。

这些是生成的预签名 URL 中的字段:

我正在使用此代码提出请求

并收到此错误: Bucket POST must contain a field named 'key'. If it is specified, please check the order of the fields.

我尝试尝试不同的keyin x 顺序组合并使用不同的 HTTP 客户端,但我得到了同样的错误。我究竟做错了什么?

0 投票
0 回答
426 浏览

amazon-web-services - 我可以使用 Go SDK 2 从 AWS S3 获取前 X 个字节吗

我想从一个非常大的 CSV 文件中获取第一个 X 字节。我基本上只想得到前两行,所以我得到列名和每行中的数据示例。但是,我知道这是不可能的,所以我只想下载足够的字节以合理地拥有足够的数据来查看前两行。因此,我尝试下载前 64kB。

我正在尝试使用 s3 管理器(https://github.com/aws/aws-sdk-go/blob/master/service/s3/s3manager/download.go)来做到这一点

我尝试使用类似的东西:

` 这虽然挂起。我想我只是告诉它下载一个小部分的文件,然后它就停在那里并且永远不会返回任何东西。

比我聪明的人能告诉我如何在 go 中只下载 S3 文件的前 X 个字节吗?谢谢!

0 投票
2 回答
1015 浏览

kubernetes - 如何使用 client-go 获取有关节点创建的 AWS 元数据

我正在为我们的 kubernetes 集群编写自定义控制器,它将监听节点事件并在节点上执行一些操作。我正在使用 kubernetes client-go 库,并且能够在连接或删除节点时捕获 kubernetes 事件从集群。但是是否可以获得已创建的 Kubernetes 节点的 AWS 实例详细信息,例如实例 ID、标签等?提前致谢。

PS:我已经使用kops安装了kubernetes集群

0 投票
0 回答
1819 浏览

go - 配置 aws-sdk-go 与 localstack 的 SQS 交互

我需要一些帮助来尝试将aws-sdk-golocalstack 集成以访问 SQS 服务。

我试过类似的东西:

使用如下初始化:

如何配置 SDK 以访问 localstack 的 SQS?

0 投票
1 回答
2566 浏览

go - 如何获得 dep 确保删除未使用的 Go 文件、依赖项或包

使用添加新依赖项时,dep ensure -add <package>我看到dep添加了包的完整存储库,而不仅仅是我需要的部分。

例如,我添加了aws-sdk-go并将dep ensure87MB 的文件放入我的供应商文件夹中,即使我只使用 AWS Secrets Manager 服务。

0 投票
2 回答
801 浏览

amazon-web-services - 通过空运行 API 调用验证 AWS IAM 策略

我正在开发一个将 IAM 策略作为 JSON 并在 aws 上创建策略的工具。我正在使用 aws-sdk-go 来构建该工具。我正在寻找一种在aws上执行策略之前验证策略的方法。AWS 是否提供某种 API 来试运行策略创建或类似的东西?

我尝试过的事情:我正在逐个字段验证策略。

  • 效果字段必须是AllowDeny
  • 对于操作字段,我在工具中添加了一个字典,将服务映射到有效操作。这种方法的问题是它需要大量的维护。AWS 不断发布新的服务和操作,我必须更新字典。
  • 对于资源,它应该是有效的 ARN。

添加了一些其他验证,但手动添加所有验证检查非常困难。我相信,aws 必须为政策提供某种试运行工具。

0 投票
2 回答
993 浏览

go - 在 aws-sdk-go 中使用正则表达式过滤 AWS 资源

所以我有一些不同类型的 aws 资源标记为xxx/yyy/<generated_id>. 我需要使用 go-sdk 来获取它们。

这是子网的示例代码,过滤器对于其他所有资源看起来都相同。

这行不通。

这样做: aws ec2 describe-subnets --filters `Name=tag:"xxx/yyy.[*]",Values=owned`

我显然做错了什么,有人可以指出什么吗?

0 投票
1 回答
1159 浏览

aws-sdk-go - How does one programmatically subscribe an SQS queue to an SNS topic in Go?

Here is what I tried, using version 53eb8b070e9a5067829fd029539966181632032a of aws-sdk-go.

I expected it to get to the end but it failed with this output:

Am I doing something wrong or is this a bug in the SDK?

I'm not sure what else to say about this. Here is some additional verbiage to somehow get the warning about the post being mostly code to go away. It's best to stop reading at this point because all the rest of this is bound to make for boring reading. I don't know much much longer I can keep on making up nonsense to satisfy this silly algorithm. Why don't they allow a simple post that contains a lot of code? I have no idea. Ah well. There is an upside down gopher on my desk. I think it was intentional. Due to the poor critter's anatomy, he's doing more of an eyeball-stand than a head-stand. My desk plant didn't hold up too well over the holidays. Better give it some water. Wowee, this thing really wants an awful lot of words. Well, I aim to please. If I keep going, will I accidentally output some Shakespeare? Well, it's over, thank the Bard.