当前位置: 首页 > 知识库问答 >
问题:

AmazonS3Builder生成有效的AmazonS3对象,但最终返回空值

南门祯
2023-03-14
    BasicAWSCredentials awsCreds = null;
    try {
        awsCreds = new BasicAWSCredentials(settings.getAccessKey(), settings.getSecretKey());
    } catch (Exception e) {
        e.printStackTrace();
        throw new IOException(e.getMessage());
    }

    try {
        AmazonS3 s3Client = AmazonS3Client.builder()
                .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
                .withRegion(Regions.US_EAST_1)
                .build();
    } catch (Exception e) {
        e.printStackTrace();
    }
    System.out.println(s3Client);
        BasicAWSCredentials awsCreds = null;
    try {
        awsCreds = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);
    } catch (Exception e) {
        e.printStackTrace();
        throw new IOException(e.getMessage());
    }
    try {
        client = AmazonRedshiftClientBuilder.standard()
                                .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
                                .withRegion(Regions.US_EAST_1)
                                .build();
    } catch (Exception e) {
        e.printStackTrace();
    }
    System.out.println(client);

以前有人调试过这种问题吗?我可以做什么来解决这个问题并取回一个有效的实例?

共有1个答案

壤驷高洁
2023-03-14

这个问题最终变得更为根本。我几乎觉得写这个很尴尬。我必须对代码进行第二次观察才能找到它,但我在try块中重新声明了s3Client。

private AmazonS3 s3Client = null;

...

BasicAWSCredentials awsCreds = null;
try {
    awsCreds = new BasicAWSCredentials(settings.getAccessKey(), settings.getSecretKey());
} catch (Exception e) {
    e.printStackTrace();
    throw new IOException(e.getMessage());
}

try {
    AmazonS3 s3Client = AmazonS3Client.builder()
            .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
            .withRegion(Regions.US_EAST_1)
            .build();
} catch (Exception e) {
    e.printStackTrace();
}
System.out.println(s3Client);

当它到达实际使用AmazonS3对象的代码时,包含对该对象的引用的局部变量已经超出了范围。真不敢相信我没抓住这个。

 类似资料:
  • 嗨,所有Stackoverflow大师, 我正在开发一个应用程序,该应用程序使用来自某个rest webservice的JSON。 此链接上的示例JSONhttp://pastebin.com/embed_js.php?i=VYESA9MG(这是由于JSON有点长) 我创建了一个POJO类来满足这个JSON模型,如下所示: 这个模型在我们的代码中使用GSON模块调用。目前我已经抓到JSON,据了解

  • 是否有方法重写build方法返回SampleClass以避免执行build.build?

  • 我开始进入WP开发,我有问题与ACF后对象返回空,我不知道为什么。我创建了一个ACF,分类法的位置等于类别然后字段设置为... 字段名称:推荐的\u资源 然后在岗位上 我得到了无效的任何帮助或指向正确的方向都是非常感谢的。

  • 我使用pyodbc和pandas-read_-sql从Oracle数据库中提取数据。 当我进入这一行时,我没有看到任何错误 但是当我试着看的时候 我得到这个错误 我对这一错误的含义或可能的原因进行了研究,但没有得出令人满意的答案。 使用chunksize的原因是我有一个包含6000万行的Oracle db表,并计划以位的形式下载,然后将它们放在一起,就像这里:如何从sql查询创建一个大数据帧而不耗

  • 当在testng单元testcase中运行时,JAXB将XML文件解组到对象中工作正常。 当相同的代码被用来在另一个进程中解封相同的XML文件时,我得到了一个空对象。我可以验证对象是为XML文档中的每个元素创建的,并且所有适配器都被调用。在unmarshaller中设置事件处理程序,但没有验证问题。当我设置xmlns属性和前缀时,即使返回空对象,行为也略有不同。 我看了好几篇文章,但都无法与我面临

  • 问题内容: 我有一个文件夹,其中包含index.js和几个模型(类)index.js book.js author.js 问题在于Author类似乎找不到书!它只是一个空对象。但是,如果我在index.js中切换导出,则将Book放在Author之后- 可以,但是其他模型将停止工作。 我不想做任何骇客工作。 问题答案: 这是因为您具有循环依赖关系。Node.js以非常特定的方式处理此问题: 第一个