Java tutorial
/* * Copyright (C) 2018. OpenLattice, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * You can contact the owner of the copyright at support@openlattice.com * * */ package com.openlattice.aws; import com.amazonaws.regions.Region; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.kryptnostic.rhizome.configuration.ConfigurationConstants.Profiles; import com.kryptnostic.rhizome.configuration.amazon.AmazonLaunchConfiguration; import com.kryptnostic.rhizome.pods.AwsConfigurationPod; import javax.inject.Inject; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Profile; /** * @author Matthew Tamayo-Rios <matthew@openlattice.com> */ @Configuration @Import(AwsConfigurationPod.class) @Profile({ Profiles.AWS_CONFIGURATION_PROFILE, Profiles.AWS_TESTING_PROFILE }) public class AwsS3Pod { @Inject AmazonLaunchConfiguration awsConfig; @Bean public AmazonS3 awsS3() { return newS3Client(awsConfig); } public static AmazonS3 newS3Client(AmazonLaunchConfiguration awsConfig) { AmazonS3ClientBuilder builder = AmazonS3ClientBuilder.standard(); builder.setRegion(Region.getRegion(awsConfig.getRegion().or(Regions.DEFAULT_REGION)).getName()); return builder.build(); } }