问题标签 [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.
amazon-web-services - 我的应用程序是否需要请求 ec2 实例上的角色来配置会话或将其留空?
我正在尝试在我的应用程序中使用 aws-sdk-go。它在 EC2 实例上运行。现在在文档的配置凭据中,https://docs.aws.amazon.com/sdk-for-go/api/,它说它将查看
最好的顺序不是相反的顺序吗?但我的主要问题是我是否需要询问实例是否有角色,然后如果它有角色则使用它来设置凭据?这是我不确定我需要做什么以及如何做的地方。
我确实尝试了一个简单的测试来创建一个空配置,基本上只设置区域并在具有角色的实例上运行它,它似乎已经“工作”但在这种情况下,我不确定我是否需要明确设置角色与否。
我只是想确认这是不是正确的做法。我的想法是我需要做类似以下的事情
任何更多的文档/指针都会很棒!
amazon-web-services - 在 Golang 中模拟 AWS 开发工具包?
我处于需要模拟 Lambda、API Gateway 和 S3 SDK 包的元素以进行单元测试的情况。
我最初认为这不是一个坏主意,但现在必须实现一些内存数据存储并模拟这些服务的整个 AWS 逻辑似乎是不可能的(或者至少真的很耗时)。
所以基本上我的模拟实现看起来像这样
在模拟 AWS 开发工具包时,您能想到什么更好的方法吗?如果没有,我可以编写一个库并将其发布在 Github 上,以便其他人也可以使用它并改进它,但我希望我可以在不重新实现的情况下进行管理。
amazon-web-services - DynamoDB 多个过滤条件,给出错误 - buildTree 错误:未设置参数:ConditionBuilder
我正在构建 REST API,在 GO 中使用 Lambda 和 DynamoDB。
我需要根据多个过滤器查询数据。
过滤器的数量可以根据用户在调用 REST API 时提供的查询参数的数量而变化。
根据下面的帖子,我开发了添加多个条件的代码。
适用于 Go 的 AWS 开发工具包 - DynamoDb - 向 FilterExpression 添加多个条件
但是当我调用该函数时,我在日志中得到以下错误。-
buildTree 错误:未设置参数:ConditionBuilder
不应用过滤器表达式,扫描返回所有结果。
这是代码片段。
但是,如果我以不同的方式创建表达式,它就会起作用。
amazon-web-services - 如何将 AWS GO SDK 与 RESTful API 结合使用?
我不熟悉使用 AWS 开发工具包和构建 API。但是,我正在尝试找到一种构建应用程序的方法,如果我单击 Web 浏览器上的按钮,我希望它触发 amazon sdk Go 功能来构建 AMI。我该怎么办?
我用 Go 浏览了这个关于 RESTful API 的教程。但是,我对 Amazon SDK GO 功能如何与 API 一起使用感到困惑。所以我有类似下面的代码。我只是不知道我在高层次上是否正确地做到了这一点。
amazon-web-services - 当密钥包含阿拉伯字符时,AWS Golang 开发工具包无法复制对象
使用aws-sdk-go,当密钥包含正常的字母数字和少数特殊字符(如 (-,_))时,我能够成功复制 s3 存储桶中的对象。但是当一个键包含一个阿拉伯字符时,golang aws-sdk 会抛出一个错误。
存储桶中的密钥如下所示:
public/10009/img__١٣٤١١١-1600x1200.jpg
代码也非常简单:
我还打印了密钥,以防万一:
dummy-bucket/public/10009/img__١٣٤١١١-1600x1200.jpg
我还能够使用aws-sdk-go
, 使用相同的密钥成功下载图像。
go - Aurora 与 DynamoDB 延迟不符合预期
我想获得一些数据来证明我的阅读,即 DynamoDB 键值存储与关系数据库(MySQL、PostgreSQL、Aurora)相比具有更好的读取性能。所以我决定比较 DynamoDB 和 AWS-Aurora 的读取延迟(这是 AWS 网站的一个/c - “比标准 MySQL 数据库快五倍,比标准 PostgreSQL 数据库快三倍”)
Step1 : 在 Aurora 中使用以下 Schema 创建一个表,并向该表添加 102 万条记录。
使用了使用 MySQL 驱动的数据库/sql 包查询表的 Golang 客户端。
步骤2;创建了具有以下属性的 DynamoDB 表。在表中添加了 100 万个项目。没有使用任何排序键。所有查询都使用分区键。
使用使用 AWS Go-SDK 查询 DynamoDB 表的 Golang 客户端。
极光
动态数据库
极光延迟:543.89 DynamoDB 延迟:2934.96 微秒
这些数字似乎不对。我不是在比较苹果和苹果吗?
function - 如何使用指针值从 Golang 中的本地函数中获取变量?
对不起,我对golang很陌生。我正在努力理解变量的范围。我试图创建一个全局变量来从局部函数中获取变量,但是我一直收到一个错误,它没有被声明。我也尝试做一个 return 语句,但是我不断收到一个语法错误,即没有足够的参数并且没有返回值。
我添加了类似的东西
但是我做错了什么,无法解决这个问题
我尝试创建一个全局变量来将值存储在本地函数之外。我还尝试创建一个返回函数来获取变量。
语法错误:函数体外的非声明语句
amazon-web-services - 如何使用 Golang 过滤器构建器过滤空值?
继续从如何过滤NULL?我正在努力复制 Go 代码以过滤特定列的空值:
错误是:
任何提示如何调试这个或我使用表达式生成器出错的地方?
真的希望有例子,因为如果使用MarshalMap,对 NULL 进行过滤对我来说应该是一个非常常见的用例,因为空字符串会变成 NULL!
amazon-web-services - 如何访问 SNS HTTPS 订阅端点中的消息属性
我正在设置一个集成测试,以确定向 SNS 发布消息的程序是否正常工作。发布的消息包括一些我需要检查以确定正确性的关键消息属性。
到目前为止,我已经设置了一个充当 SNS 订阅者的简单 HTTP 服务器。服务器正确确认其订阅,甚至接收来自主题的消息,但是我不知道如何访问这些消息的属性。
应该提到的是,我正在使用 ngrok 将我的主机暴露给 SNS。为此,我使用以下命令:
创建订阅时,我已确保启用原始消息传递:
注意:我也尝试将“RawMessageDelivery”设置为“true”而不是“True”。这似乎不会引起任何变化。
我也尝试过使用该http
协议而不是https
但取得了相同的结果。
以下是端点收到的通知发布请求(我已将 ARN 替换为星号):
发布到 SNS 的消息在其正文中只有一个字节(单个空格字符) - 我认为这就是内容长度为 1 的原因。
消息属性之一是二进制格式,并且包含 SNS 消息正文中不允许的字符,否则我将简单地将编码属性放在消息正文中。
请求中似乎没有任何可用的属性,我完全不知道为什么。我希望它们会成为原始请求正文的一部分,但情况似乎并非如此。有任何想法吗?
编辑:我可能应该补充一点,我已将 SQS 订阅者添加到同一主题,并且 SQS 订阅者按预期接收消息属性。