当前位置: 首页 > 面试题库 >

我可以更新现有的Amazon S3对象吗?

闻人景澄
2023-03-14
问题内容

我正在查看Amazon S3样本,样本在那里可以插入/删除…

但是我想用新数据更新现有的Blob。基本上,内容是文本文件,并且文本已被修改,我希望S3对象存储新的文本内容。

如何在Java中做到这一点?


问题答案:

在Amazon S3中更新现有对象与首先创建对象没有什么不同,即,使用相同的PUT
Object
操作上载对象,并将覆盖现有对象(如果不受其他方式的保护,例如通过使用存储桶策略或对象版本控制)

您可以在使用适用于Java的AWS开发工具包上载对象中找到完整的代码示例,主要部分可以归结为:

AmazonS3 s3client = new AmazonS3Client(new PropertiesCredentials(
        S3Sample.class.getResourceAsStream(
                "AwsCredentials.properties")));
try {
    System.out.println("Uploading a new object to S3 from a file\n");
    File file = new File(uploadFileName);
    s3client.putObject(new PutObjectRequest(
                             bucketName, keyName, file));

 } catch (AmazonServiceException ase) {
    System.out.println("Caught an AmazonServiceException, which " +
            "means your request made it " +
            "to Amazon S3, but was rejected with an error response" +
            " for some reason.");
    // ... error handling based on exception details
}


 类似资料:
  • 问题内容: 在上一个问题中,我问过有关更新菜单栏的问题。BalusC告诉我,我需要添加包含菜单栏的表单。 我想扩展这个问题,以询问是否可以更新标题中的文本。正在使用模板,我使用填写了值 模板有 在标题中定义表单似乎很奇怪,因此没有定义。我在viewBacking.current中放置了一个断点,以便可以看到它何时使用它。即使我单击刷新以重新显示该窗体,它也不会再次达到断点。只有当我转到内容不同的其

  • 我正在使用java和MongoDB的mongo-Jackson包装器。我通过查询我的一个字段(不是_id字段)找到一个对象,然后我需要知道_id字段值,净结果是更新还是插入。但是,我得到了一个异常: 异常来自包装器,而不是MongoDB驱动程序本身。 做这件事的正确方法是什么(如果有的话)?

  • 问题内容: 我正在寻找的是在f:param标记中带有一个我自己选择的value属性中的对象。然后,在该操作的后备bean方法中,我希望能够从请求中拉出此Object。(很抱歉,如果我的术语不太好,我是JSF的新手)。 现在,我可以在请求参数中传递字符串了。我还意识到,在http get或post中,参数始终是String,所以我没有 真正 传递java对象。我还意识到,实现此目的的一种方法是传递某

  • 我想我一定是误解了一些基本的东西,因为在我看来,这应该是一个可观察事物最基本的情况,但在我的一生中,我无法从文件中找出如何做到这一点。 基本上,我希望能够做到这一点: 但是我一直没能找到像这样的方法。我将此用于单击处理程序,我知道他们有,但我正试图将其与React一起使用,我宁愿能够简单地在回调中更新数据流,而不是使用完全不同的事件处理系统。所以基本上我想要这个: 我得到的最接近的是使用,但这似乎

  • 我只是问是否有一个替代的方式为下面的更新。 更新test_table集 col 1=trim(col1), col 2=trim(col2), col 3=trim(col3), col 4=trim(col4), col 5=trim(col5), 在我的真实表中,大约有20列,也许更多。有没有一个快速的方法,我可以修剪所有的柱子在一个镜头? 查找类似查询(如果存在): update test_

  • 问题内容: 在进行模拟调用之前自动更新时间戳的这种方法的最佳方法是什么? 这是我要测试的一些伪代码: 这是我要测试的内容: 我知道这段代码相当笨拙,但是我认为它准确地描绘了我要验证的内容。我基本上需要一个匹配器来填写测试,以验证时间戳是否在当前时间的X范围内,因此我知道它已正确更新,并且使用该对象的正确时间戳进行了调用。 问题答案: 我发现处理时间紧迫的代码最可靠的方法是将所有时间紧迫的函数包装在