Laden Sie Notizen in Java auf S3 hoch und laden Sie sie herunter

Einführung

Dies ist ein Memo zum Hochladen und Herunterladen von Java nach S3. In einer Proxy-Umgebung tritt eine Zeitüberschreitung auf, wenn kein Proxy festgelegt ist. Davon abgesehen wurde es mit der offiziellen Probe gemacht.

Ich möchte die Details untersuchen und hinzufügen.

Einführungsglas (Maven)

pom.xml


    <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-s3</artifactId>
            <version>1.11.112</version>
    </dependency>

Konstantenerklärung

java


	static final String S3_ACCESS_KEY			= "";
	static final String S3_SECRET_KEY			= "";
	static final String S3_SERVICE_END_POINT	= "";
	static final String S3_REGION				= "";
	static final String S3_BUCKET_NAME			= "";

Authentifizierungsprozess

java


    //Authentifizierungsprozess
    private static AmazonS3 auth(){
    	System.out.println("auth start");

    	//AWS-Anmeldeinformationen
    	AWSCredentials credentials = new BasicAWSCredentials(S3_ACCESS_KEY, S3_SECRET_KEY);

    	//Client-Einstellungen
    	ClientConfiguration clientConfig = new ClientConfiguration();
    	clientConfig.setProxyHost("[proxyHost]");
    	clientConfig.setProxyPort([portNo]);

    	//Endpunkteinstellung
    	EndpointConfiguration endpointConfiguration = new EndpointConfiguration(S3_SERVICE_END_POINT,  S3_REGION);

    	//Generieren Sie einen S3-Zugriffsclient
    	AmazonS3 client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(credentials))
    			.withClientConfiguration(clientConfig)
    			.withEndpointConfiguration(endpointConfiguration).build();

    	System.out.println("auth end");
    	return client;
    }

Upload-Prozess

java


    //Upload-Verarbeitung
    private static void upload() throws Exception{
    	System.out.println("upload start");

        //Authentifizierungsprozess
    	AmazonS3 client = auth();

    	File file = new File("[Dateipfad hochladen]");
    	FileInputStream fis = new FileInputStream(file);


    	ObjectMetadata om = new ObjectMetadata();
    	om.setContentLength(file.length());

    	final PutObjectRequest putRequest = new PutObjectRequest(S3_BUCKET_NAME, file.getName(), fis, om);

    	//Berechtigungseinstellungen
    	putRequest.setCannedAcl(CannedAccessControlList.PublicRead);

    	//hochladen
    	client.putObject(putRequest);

    	fis.close();

    	System.out.println("upload end");
    }

Download-Prozess

java


    //Download-Verarbeitung
    private static void download() throws Exception{
    	System.out.println("download start");

        //Authentifizierungsprozess
    	AmazonS3 client = auth();

    	final GetObjectRequest getRequest = new GetObjectRequest(S3_BUCKET_NAME, "[Dateiname herunterladen");

    	S3Object object = client.getObject(getRequest);

    	FileOutputStream fos = new FileOutputStream(new File("[Zielpfad ausgeben]"));
    	IOUtils.copy(object.getObjectContent(), fos);

    	fos.close();

    	System.out.println("download end");
    }

Recommended Posts

Laden Sie Notizen in Java auf S3 hoch und laden Sie sie herunter
Laden Sie Notizen in Java in den Azure-Speicher hoch und laden Sie sie herunter
Hinweise zur Signalsteuerung in Java
Hinweise zum Java-Pfad und -Paket
[Java] Test S3 Upload / Download mit "S3 Ninja"
Hinweise zur Verwendung regulärer Ausdrücke in Java
[Java] Laden Sie ein Bild hoch und konvertieren Sie es in Base64
[Hinweis] Von S3 herunterladen, auf S3 hochladen
[Java] Grundtypen und Anweisungshinweise
StringBuffer- und StringBuilder-Klasse in Java
Löschen von AWS S3-Objekten in Java
Umbenannte Ordner in AWS S3 (Java)
Verstehe gleich und hashCode in Java
Aktivieren Sie Java 8- und Java 11-SDKs unter Ubuntu
Installieren Sie Java 9 unter Windows 10 und CentOS 7
Hallo Welt in Java und Gradle
Hinweise zum Erstellen der Kotlin-Entwicklungsumgebung und zur Migration von Java nach Kotlin
Unterschied zwischen final und Immutable in Java
Ein Hinweis zu den Unterschieden zwischen Schnittstellen und abstrakten Klassen in Java
Hinweise zu Operatoren, die Java ~ String type ~ verwenden
Hinweise zum Erweitern () und Reduzieren () von Expandablerecyclerview
Unterschied zwischen Arrylist und verknüpfter Liste in Java
Hinweise zur Stream-API und zu SQL von Java
Hinweise zu JSP-Erweiterungs-Tags in SpringFrameWork
Lernen Sie Flyweight-Muster und ConcurrentHashMap in Java
Die Richtung von Java in "C ++ Design and Evolution"
Von Java nach C und von C nach Java in Android Studio
Lesen und Schreiben von GZIP-Dateien in Java
Unterschied zwischen int und Integer in Java
Diskriminierung von Enum in Java 7 und höher
Java: Laden Sie die Datei herunter und speichern Sie sie an dem im Dialogfeld [Use HttpClient] ausgewählten Speicherort.
In Bezug auf transiente Modifikatoren und Serialisierung in Java
Stellen Sie Java 11 und Spring Tool Suite auf den Mac
Erkennen Sie ähnliche Videos in Java und OpenCV Version 2
Lesen Sie den Hinweis zur Dateikopie von Java 1.7 oder höher
Externe Veröffentlichung und Anmeldung von MySQL unter Ubuntu
Parallele und parallele Verarbeitung in verschiedenen Sprachen (Java Edition)
Deserialisieren Sie CSV in Java basierend auf dem Headernamen
Unterschied zwischen next () und nextLine () in Java Scanner
Unterschiede beim Schreiben von Java-, C # - und Javascript-Klassen
Erfassen und speichern Sie die Selen-Installation in Java
Hinzufügen, Lesen und Löschen von Excel-Kommentaren mit Java
Überprüfen Sie das statische und öffentliche Verhalten in Java-Methoden
[Java] Verstehe in 10 Minuten! Assoziatives Array und HashMap
Kompilieren Sie Java und führen Sie es in der Befehlszeile aus
Unterscheiden Sie in Java zwischen positiven und negativen Zahlen
Java fügt Wasserzeichen in Word-Dokumenten hinzu und entfernt sie
Erkennen Sie ähnliche Videos in Java und OpenCV Version 1
Repräsentiert "nächster Tag" und "vorheriger Tag" in Java / Android
Fragen in Java-Ausnahmebehandlung werfen und versuchen-fangen
Verschlüsseln / Entschlüsseln mit AES256 in PHP und Java
Generieren Sie OffsetDateTime aus Clock und LocalDateTime in Java
Hinweise zum Schreiben von Kommentaren auf Englisch
Partisierung in Java
Java Generics (Hinweise)
Änderungen in Java 11
[Java] Array-Hinweis