问题标签 [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.
clojure - 在 Clojure 中代理命名参数的惯用方法
我需要一个对amazonica进行薄包装的函数,sqs/receive-message
以便添加默认等待时间。该函数需要一个队列 URL,然后接受任意数量的可选命名参数,这些参数应该传递给sqs/receive-message
untouched。我想这样称呼它:
这应该会导致这样的调用sqs/receive-message
:
这是我发现自己经常想做的事情,但我还没有找到一个好的方法。有没有一种惯用的方法来做到这一点?
amazon-web-services - 例如通过amazonica分配标签和公共
我正在使用amazonica创建一个 ami,然后在它准备好时从 ami 启动一个实例。
我对amazonica 的问题是它的文档(我可以找到)几乎为零,除了自述文件中的内容。准备好的东西很少,涵盖的内容也很少。
我目前可以成功查看正在运行的实例,获取最新/所需的实例,从中创建一个 AMI,等到它准备好,然后启动该实例。
只是,该(run-instance)
方法接受了我不知道什么参数。查看java api 文档,我已经通过一些试验和错误找出了大部分参数,但我仍然需要设置更多的东西。
我在哪里可以找到传递给这个函数的参数?
目前,我有:
这决定了大多数事情。但我不知道如何设置:
- tag - 我想设置一个标签
name: "prod-1.0"
安全组。我已经尝试过上面的那个,这个:
/li>
但没有用。实例有默认组,或者,我得到一个奇怪的错误,比如
或者
我已经浏览了整个文档页面几次,找不到任何其他合理的选项/关键字可以传递。
我也想用 auto-assign-public-ip 选项启动实例。
不幸的是,来源并没有透露太多关于amazonica的信息,因为文档说它大量使用反射并且测试不是很精细。
那么如何为此设置安全组和标签?
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
。但我不知道如何在这里做到这一点?
任何帮助将不胜感激。
更新
这是代码的最新版本(仍然不起作用)...
clojure - 如何在 Clojure 中解决此依赖问题?
我在解决两个不同包的依赖项发生冲突的问题时遇到了很多麻烦。我的 project.clj 的依赖项如下所示:
我的命名空间如下所示:
当我尝试将命名空间加载到 lein 的 repl 中时(load crawler/core)
,我收到此错误:
在线资源表明这是依赖项不匹配。我如何解决它?
amazon-web-services - 使用 Clojure 生成 Cloudfront 签名 URL
有没有一种简单的方法可以在 Clojure 中生成 Cloudfront 签名 URL?
我将 Amazonica 用于 S3(效果很好):
Cloudfront有类似的东西吗?
amazon-web-services - “条件请求失败”而条件有效
我正在使用 Amazonica,一个 Clojure 库来写入 DynamoDB。
下面将一个项目插入 DynamoDB 并在第二次调用时更新其内容,这是预期的。
现在,以下仅第一次插入一个项目。第二次调用它不会做任何事情,这是我需要的。
但是最近我收到一个错误:
条件请求失败(服务:AmazonDynamoDBv2;状态代码:400;错误代码:ConditionalCheckFailedException;
...这并没有真正使代码可交付。我的 CloudFormation 模板非常简单:
我错过了什么吗?
amazon-web-services - 使用 Amazonica 从 S3 获取对象时如何设置超时?
我使用Amazonica从 S3 下载对象:
但是,有时下载会挂起。如何设置超时?
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 存储桶来保存构建工件似乎有点愚蠢。
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的错误报告中继续调查。
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
工作原理。
如何判断复制操作何时完成?除了定期轮询目标存储桶以查看对象何时出现之外,还有其他方法吗?