问题标签 [aws-java-sdk]
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.
java - 从 java aws lambda 访问 s3
我正在尝试从用 Java 编写的 AWS Lambda 函数列出 S3 存储桶上的键。在本地运行代码可以正常运行(使用硬编码凭据)。
在 Lambda 中运行相同的 Java 代码时,它会挂起listObjects
硬编码的用户凭证和 Lambda 执行角色都具有对 s3 的完全访问权限。
为什么 S3 访问挂起没有错误?什么权限配置错了?
在 Lambda 中使用 NodeJS 运行类似的东西是可行的
apache-spark - 与 aws-java-sdk 链接时读取 json 文件时 Spark 崩溃
让我们config.json
成为一个小的 json 文件:
我做了一个简单的代码来读取json文件sc.textFile
(因为文件可以在S3,本地或HDFS上,所以textFile很方便)
SBT 文件仅拉取spark-core
库
该程序按预期工作,将 config.json 的内容写入标准输出。
现在我还想与亚马逊的 sdk aws-java-sdk 链接以访问 S3。
执行相同的代码,spark 会抛出以下异常。
读取堆栈,似乎当 aws-java-sdk 被链接时,sc.textFile
检测到该文件是一个 json 文件并尝试用杰克逊假设某种格式来解析它,当然它找不到。我需要链接 aws-java-sdk,所以我的问题是:
1-为什么添加aws-java-sdk
会修改 的行为spark-core
?
2- 是否有解决方法(文件可以在 HDFS、S3 或本地)?
java - 在 Amazon s3 中下载批量对象
在 Amazon S3 中,我在该存储桶下创建了 1 个存储桶,多个子文件夹(如
<bucket_name>/<year>/<month>/<day>/files
(ieobjects))。
我想要功能,我可以根据要求按年/月/日下载批量对象,所有文件都是 zip。
有什么方法可以通过 Amazon Java SDK 做到这一点?
java - 由于授权,无法访问 S3 预签名 URL
使用 Java8 和 aws-java-sdk 1.10.43 我正在尝试获取 S3 文件的预签名 URL。我确实得到了一个链接,但是浏览它会导致这个错误:
不支持您提供的授权机制。请使用 AWS4-HMAC-SHA256
强调一下,我希望生成一个可以通过电子邮件发送并在浏览器中打开的 URL,而不是使用 Java 代码从该 URL 中读取。
我正在使用下面的代码,我相信我需要以某种方式将 setSSEAlgorithm 设置为使用“v4”,但是我未能使其工作。我错过了什么?我应该配置什么(注意:我故意避免配置文件,我希望代码从环境变量中设置所有属性)
存储桶位于 eu-central-1
谢谢
java - 从 AWS Lambda 发布到 SNS 时超时
我正在尝试通过 Lambda 函数调用将一些数据发布到 SNS,但它似乎不起作用。我的功能代码是 -
此调用导致超时(10 秒)并且 lambda 调用失败。如果我注释掉 SNS 发布部分,即,如果我只记录从 DynamoDB 接收到的数据,它就可以正常工作。一旦添加 SNS 发布代码,它就会超时。
CloudWatch 中记录的超时消息是 -
START RequestId: 8db74187-459b-42c5-8a06-b3a74873b236 Version: $LATEST
END RequestId: 8db74187-459b-42c5-8a06-b3a74873b236
REPORT RequestId: 8db74187-459b-42c5-8a06-b3a74873b236 Duration: 10001.66 ms Billed Duration: 10000 ms Memory Size: 128 MB Max Memory Used: 37 MB
Task timed out after 10.00 seconds
我拥有所有适当的权限,并且可以使用在我的 PC 上运行的以下代码发布到 SNS -
我也尝试过使用AmazonSNSAsyncClient
而不是AmazonSNSClient
,它给出了相同的结果。
我在这里想念什么?
amazon-web-services - 如何在对 aws dynamodb 表的查询中获取所有结果?
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryingJavaDocumentAPI.html中给出的第一个示例根据
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/返回ItemCollection QueryAndScan.html#Pagination我们需要获取 lastevaluatedkey 并再次执行查询,但是从 dynamoDb.getTable("tableName").query(keyattribute) 返回的 ItemCollection 没有任何 getlastevaluatedkey
也 ItemCollection 文档指出 n/如果跨页面边界进行迭代,将进行 w 调用,因此我们是否必须再次调用,如http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Pagination中给出的那样
amazon-s3 - 如何从 AWS lambda java 中的类路径加载属性文件
我已经编写了 AWS lambda 函数,我想从属性文件中读取数据库连接详细信息,并且在我的类路径中,但我无法加载该文件。这是我的代码:
如果我通过普通的 java 控制台应用程序运行这段代码,那么它正在工作,但是每当我将它作为 AWS lambda 函数运行时, InputStream就会为空。
amazon-web-services - AWS java sdk,需要打开哪些端口?
这里的菜鸟问题,但我的 google-fu 让我失望了。
我正在使用一个应用程序,该应用程序使用 aws java SDK 与 aws 通信并抓取有关实例和其他信息的一些信息。我们没有直接点击实例,只是您可以从 aws cli 控制台等获得的那种东西......诸如描述实例......
该应用程序托管在内部网络中,当前流量通过代理服务器流出。
我可以要求打开一些防火墙规则,但对于我的生活,我找不到需要打开哪些端口和亚马逊网址......它只是标准的 https 443 和 http 80 吗?什么是 URL,它们与为 API 网关发布的亚马逊端点相同吗?
我无法访问或修改代码,这是使用最新 aws java SDK 的供应商产品(我下载了 sdk,解压缩并放入指定的文件夹)
任何帮助将不胜感激!
aws-sdk - AWS SNS 订阅 lambda 不会使用 Java API 自动创建事件源
以下是使用 AWS Java API 重现的步骤: 1. 创建 Nodejs Lambda 函数 2. 创建 SNS 主题 3. 将 SNS 主题订阅到使用其 ARN 创建的 lambda 函数
现在,如果我们转到 Lambda 函数并查看 Event Sources 选项卡,我们不会看到 SNS 主题被列为事件源。所以 SNS 根本不会触发 Lambda 函数。对我来说似乎是 AWS 问题。
PS:用于重现上述问题的 AWS 用户密钥附加了全面访问(管理策略)。所以它看起来不像是权限问题。如果我通过 AWS 控制台重复上述步骤,事件源会正确添加到 Lambda 函数中。
有没有人遇到过这个问题?如何解决这个问题?或任何解决方法。
amazon-web-services - 如何确定 Redshift 集群中的节点数?
我需要以编程方式确定 Redshift 集群中的节点数。我希望 AWS Java API 会在集群描述中提供它,但我无法找到它。谁能指出我正确的方向?