问题标签 [jets3t]
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-s3 - jets3t 和从不同名称的 AmazonS3 下载文件
我们使用 Amazon S3 进行文件存储,最近发现我们需要保留某种目录结构。由于 S3 不允许这样做,我们知道我们可以根据文件的存储结构命名文件。例如...
我想知道的是,如果我想提供一个指向这个特定文件的公共链接,那么该文件是否可以简单地是 draft.doc 而不是 abc/123/draft.doc ?
android - Android 上的 Jets3t
我正在尝试在 Android 应用程序中使用 Jets3t 库,当我使用该库时,我不断收到 Rest 服务错误。
我曾尝试包含 Xerces 库和 Crimson 库,但效果不佳。我收到此错误:
我可以做些什么来让它工作吗?
grails - 如何使用 Grails 的 Amazon S3 插件(通过 Jets3t)获得“快乐”的名称
参考:
- http://www.grails.org/plugin/amazon-s3
- http://svn.codehaus.org/grails-plugins/grails-amazon-s3/trunk/grails-app/services/org/grails/s3/S3AssetService.groovy
- http://svn.codehaus.org/grails-plugins/grails-amazon-s3/trunk/grails-app/domain/org/grails/s3/S3Asset.groovy
通过“快乐”的名称,我的意思是我正在上传的文件的真实名称......例如,如果我放置一个名为“foo.png”的文件,我希望文件的 url 是 /foo .png。目前,我只是得到文件名的 GUID(没有文件扩展名)。
有任何想法吗?
java - 使用 JetS3t 将未知数量的文件多次上传到 S3
来自jetS3t的示例代码示例如下代码:如果我不知道从一开始要下载的文件数怎么办?例如,在 S3 中具有缩略图的应用程序,以及用户滚动浏览缩略图列表的客户端应用程序。
将对象下载到本地文件
多线程服务提供了一次下载多个对象的方法,但要使用此方法,您必须首先准备好放置与每个对象关联的数据的地方。将这些数据放在文件中最明显的地方是,让我们来看一个将对象数据下载到文件中的示例。要将我们的对象下载到文件中,我们首先必须为每个对象创建一个 DownloadPackage 类。此类是一个简单的容器,它仅将对象与文件相关联,对象的数据将写入该文件。为每个对象创建一个 DownloadPackage,以将对象与输出文件相关联。
对这种情况有什么建议吗?提前致谢
安东尼斯
eclipse - 导出 jar 文件后 Hadoop 抛出 java.lang.VerifyError
我正在更改一个 hadoop 映射 - 减少当前编译和运行良好的作业,无需我的更改。
作为工作的一部分,我现在将连接到 S3 以传递文件。
我开发了一个(非常简单的)s3Connector 类,在 Eclipse 中测试并运行它,然后将它挂接到我的 reduce 工作中。为了在 hadoop 中运行作业,我必须将项目导出为 jar 文件,然后从 hadoop 中调用它。jar 文件似乎从 Eclipse 编译和导出没有问题,但是当我在 hadoop 中运行它时,我得到一个 java.lang.VerifyError 异常。
其他几篇帖子提到可能存在jar版本依赖关系冲突,但是在我的eclipse构建路径中,我为指定的库添加了所有最新的jar文件,并将它们推送到构建路径顺序的顶部。
这就像我可以将其隔离为一样简单:
即使是那个简单的课程也会死掉......同样的信息。一旦我在构造函数和 RestS3Service 中注释掉 AWS 凭证,问题就消失了。基本上,我认为这是eclipse中的某种库导出问题,但不知道如何找到它。
java - 如何使用 jets3t 访问 S3?
嗨,我正在尝试使用jets3t库访问S3 。我只是按照 AWS 支持的示例代码(这里是 url)这是我的简单代码
}
但我遇到了这样的问题
我想这是关于防火墙的问题,因为我正在我的公司执行此代码。有人知道这个问题吗?帮助!
amazon-s3 - 仅列出 jets3t 中的第一级文件
我正在使用 jets3t 列出我们其中一个存储桶上的文件。我注意到它会返回所有内容。我想按目录遍历存储桶,而不是一次全部获取,这会花费太长时间,所以我很好奇有没有办法只获取第一级的文件?
例如:
\Bin
-\file1.txt
-\folder1
----\file2.txt
所以基本上得到 file1.txt 和 folder1 对象,但不要更深入并得到文件夹 1 中的 file2.txt。
amazon-s3 - JetS3t:Amazon S3:如何动态更改端点
我的理解是在 Jets3t 0.7.4 S3 端点被静态设置在 S3Service::setS3EndpointHost 之前。因此,无法使用 Jets3t 在同一应用程序中使用不同的 S3 端点将内容获取/放入 S3。
在 Jets3t 0.7.4 发行说明中,它写道:“S3Service 中用于生成签名 URL 的已弃用静态方法。从现在开始应该使用新的非静态方法等效项,以避免依赖于 VM 范围的 S3 端点常量。”
现在可以动态更改 S3 端点吗?如果是,该怎么做.. 是否有可用的 setS3Endpoint 方法?
groovy - 从代码中删除 S3 中的子目录,定义“分隔符”参数,Groovy 中的代码
我有一个观察结果可能会帮助其他使用 S3 的人以及下面的一个问题。此处的示例代码在 Groovy 中使用 JetS3t Java lib,但这些概念适用于任何编程语言。
我在 Slashdot 和其他地方发现了很多文档,声称 S3 在存储桶中没有子目录的概念。这大多是真的。当您要删除文件时,您会发现必须首先使用以下方法找到它们:
现在,如果您删除这些文件,您仍然会留下一些看起来非常像存储桶中的子目录的东西。您仍然会看到列出的“东西/”。所以这让我质疑是否真的没有子目录。事实证明确实没有真正的子目录,但是某些文件伪装成子目录并显示在列表中。经过一番探索,我确定这是另一个 S3 对象,其键名带有附加到键的特殊字符串 _$folder$。因此,您可以通过执行以下操作来删除它(假设上面的示例):
现在,您将不再看到为该存储桶中的内容列出的任何子目录。虽然我没有对此进行测试,但我认为在尝试删除密钥“stuff_$folder$”之前,东西/文件夹必须已经为空。令我吃惊的是,在这里的所有帖子中都没有提到这一点,因此任何试图删除整个子目录的人都可能让子目录本身仍然存在!
如果你回到我原来的 listObjects 调用并改为这样做:
您将看到结果中返回的 stuff_$folder$。我的问题是您可能还会获得其他以“stuff”键开头但不包含在“子目录”中的对象。所以你必须小心。所以我的偏好是将“stuff/”作为键传递,然后分别处理“stuff_$folder_”对象。
这引出了最后一个问题。我似乎无法清楚地解释 listObjects(bucket, key, delimiter) 调用中的最终参数的含义。究竟什么是“分隔符”。它似乎并不意味着“文件分隔符”(如'/')。我已经搜索过,似乎找不到一个例子来说明这意味着什么或它是如何使用的。我想知道,因为是否有任何方法可以提高我想知道的 listObjects 的实用性和灵活性。有人可以提供一个示例来说明 delimiter 参数的用法和含义吗?我确定它很简单,但我找不到一个很好的例子。
java - 用于测试的假 S3 服务
我已经构建了一个 Swing 应用程序,它将用户的数据上传到 S3。我正在使用 jets3t 库上传 S3 服务并与之交互。为了让我进行测试,有什么方法可以让我停止对 S3 的调用并使 jets3t 库命中存根?