问题标签 [amazonica]

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 投票
2 回答
133 浏览

clojure - 在 Clojure 中代理命名参数的惯用方法

我需要一个对amazonica进行薄包装的函数,sqs/receive-message以便添加默认等待时间。该函数需要一个队列 URL,然后接受任意数量的可选命名参数,这些参数应该传递给sqs/receive-messageuntouched。我想这样称呼它:

这应该会导致这样的调用sqs/receive-message

这是我发现自己经常想做的事情,但我还没有找到一个好的方法。有没有一种惯用的方法来做到这一点?

0 投票
1 回答
149 浏览

amazon-web-services - 例如通过amazonica分配标签和公共

我正在使用amazonica创建一个 ami,然后在它准备好时从 ami 启动一个实例。

我对amazonica 的问题是它的文档(我可以找到)几乎为零,除了自述文件中的内容。准备好的东西很少,涵盖的内容也很少。

我目前可以成功查看正在运行的实例,获取最新/所需的实例,从中创建一个 AMI,等到它准备好,然后启动该实例。

只是,该(run-instance)方法接受了我不知道什么参数。查看java api 文档,我已经通过一些试验和错误找出了大部分参数,但我仍然需要设置更多的东西。

我在哪里可以找到传递给这个函数的参数?

目前,我有:

这决定了大多数事情。但我不知道如何设置:

  • tag - 我想设置一个标签name: "prod-1.0"
  • 安全组。我已经尝试过上面的那个,这个:

    /li>

但没有用。实例有默认组,或者,我得到一个奇怪的错误,比如

或者

我已经浏览了整个文档页面几次,找不到任何其他合理的选项/关键字可以传递。

我也想用 auto-assign-public-ip 选项启动实例。

不幸的是,来源并没有透露太多关于amazonica的信息,因为文档说它大量使用反射并且测试不是很精细。

那么如何为此设置安全组和标签?

0 投票
2 回答
1540 浏览

amazon-web-services - 如何使用 Amazonica 库在 Clojure 中设置 S3 路径样式?

我是一名迁移到 Clojure 的 Ruby 开发人员,我无法理解如何根据 Clojure 库Amazonica中使用的约定将以下 Java 调用转换为 Clojure 。

我现在的代码是:

但我收到以下错误:

这看起来不正确,因为它将存储桶名称 ( testing) 添加到主机名上。我需要 SDKs3.spurious.localhost:49154使用路径样式与我们的本地(假)S3 服务()通信。

例如喜欢http://s3.spurious.localhost:49154/testing

我认为这是因为我没有正确翻译 Java 代码......

...这是传递一个映射set-s3client-options而不是它应该是什么,这是传递调用withPathStyleAccess(true)一个新实例的结果S3ClientOptions。但我不知道如何在这里做到这一点?

任何帮助将不胜感激。

更新

这是代码的最新版本(仍然不起作用)...

0 投票
1 回答
520 浏览

clojure - 如何在 Clojure 中解决此依赖问题?

我在解决两个不同包的依赖项发生冲突的问题时遇到了很多麻烦。我的 project.clj 的依赖项如下所示:

我的命名空间如下所示:

当我尝试将命名空间加载到 lein 的 repl 中时(load crawler/core),我收到此错误:

在线资源表明这是依赖项不匹配。我如何解决它?

0 投票
0 回答
159 浏览

amazon-web-services - 使用 Clojure 生成 Cloudfront 签名 URL

有没有一种简单的方法可以在 Clojure 中生成 Cloudfront 签名 URL?

我将 Amazonica 用于 S3(效果很好):

Cloudfront有类似的东西吗?

0 投票
1 回答
13450 浏览

amazon-web-services - “条件请求失败”而条件有效

我正在使用 Amazonica,一个 Clojure 库来写入 DynamoDB。

下面将一个项目插入 DynamoDB 并在第二次调用时更新其内容,这是预期的。

现在,以下仅第一次插入一个项目。第二次调用它不会做任何事情,这是我需要的。

但是最近我收到一个错误:

条件请求失败(服务:AmazonDynamoDBv2;状态代码:400;错误代码:ConditionalCheckFailedException;

...这并没有真正使代码可交付。我的 CloudFormation 模板非常简单:

我错过了什么吗?

0 投票
1 回答
835 浏览

amazon-web-services - 使用 Amazonica 从 S3 获取对象时如何设置超时?

我使用Amazonica从 S3 下载对象:

但是,有时下载会挂起。如何设置超时?

0 投票
2 回答
738 浏览

amazon-web-services - 如何从 Clojure 项目或 jar 中创建 AWS Lambda 函数?

AWS Lambda API (链接)的 Amazonica 测试显示了一个从 Javascript blob 创建 Lambda 函数的简单示例(role是可以创建 Lambda 的角色的 ARN 字符串):

有谁知道是否create-function可以从 jar 中创建 Lambda?简单地传递文件流或 jar 的二进制字符串create-function是一个坏主意,即使它确实有效?

我想我可以使用带有 AWS CLI 的 bash 脚本从 jar 中创建 Lambda,但首先我想检查在 Clojure 中是否有已知的直接方法来执行此操作。

另一种选择是将 jar 上传到 S3 存储桶,然后根据此处的示例让 CloudFormation 脚本部署它。不过,当 Lambda 将自己存储它们时,拥有一个 S3 存储桶来保存构建工件似乎有点愚蠢。

0 投票
1 回答
890 浏览

json - 在 Clojure 中使用 Amazonica 时,我应该如何格式化 Kinesis 事件的数据?

当我使用 AWS CLI 将事件放入流中时,我可以在从 base64 解码后传入 JSON 并将其取回。当我尝试使用来自 Clojure 的 Amazonica 放置事件时,我很难正确格式化事件数据参数。

创建一个带有 base64 编码数据字段的事件"TlBZCAAAABXwBhsAAAACagVhZC1pZGkHc29tZS1pZA==",它解码为

如果我首先对数据进行 JSON 编码:

然后我得到一个垃圾字符较少的事件,但它仍然不是很完美,不足以在其他应用程序中阅读而不破坏某些东西:

在将 Clojure 映射转换为 JSON 时,领先的垃圾有什么意义?如何将一个简单的对象传递给 kinesis?

测试显示一个普通的地图作为put-record数据参数传递,我还不明白为什么这对我不起作用:

更新

我很确定这是库(或它使用的序列化程序)中的一个错误,因此我将在https://github.com/mcohen01/amazonica/issues/211的错误报告中继续调查。

0 投票
0 回答
611 浏览

amazon-s3 - 等待amazonica S3复制完成

我需要在不同区域的两个 S3 存储桶之间复制一个对象。该对象足够大,会amazonica.aws.s3/copy-object因以下原因而失败:

AmazonS3Exception 指定的复制源大于复制源的最大允许大小:5368709120(服务:Amazon S3;状态代码:400;错误代码:InvalidRequest;请求 ID:3481F664EA2F784A)

所以我尝试使用amazonica.aws.s3transfer/copy,用四个参数(源存储桶名称、源键名称、目标存储桶名称和目标键名称)调用它。它立即返回{}. 我曾期望它返回的映射有一个:wait-for-completion键,映射到一个我可以调用以等待复制操作完成的函数;毕竟,这就是s3transfer/upload工作原理。

如何判断复制操作何时完成?除了定期轮询目标存储桶以查看对象何时出现之外,还有其他方法吗?