Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Charger récursivement un répertoire local dans un compartiment Amazon Simple Storage Service (Amazon S3)
L’exemple de code suivant montre comment charger un répertoire local de manière récursive dans un compartiment Amazon Simple Storage Service (Amazon S3).
- Java
-
- SDK pour Java 2.x
-
Utilisez an S3TransferManagerpour télécharger un répertoire local. Consultez le fichier complet et le test.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.services.s3.model.ObjectIdentifier;
import software.amazon.awssdk.transfer.s3.S3TransferManager;
import software.amazon.awssdk.transfer.s3.model.CompletedDirectoryUpload;
import software.amazon.awssdk.transfer.s3.model.DirectoryUpload;
import software.amazon.awssdk.transfer.s3.model.UploadDirectoryRequest;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Paths;
public Integer uploadDirectory(S3TransferManager transferManager,
URI sourceDirectory, String bucketName) {
DirectoryUpload directoryUpload = transferManager.uploadDirectory(UploadDirectoryRequest.builder()
.source(Paths.get(sourceDirectory))
.bucket(bucketName)
.build());
CompletedDirectoryUpload completedDirectoryUpload = directoryUpload.completionFuture().join();
completedDirectoryUpload.failedTransfers()
.forEach(fail -> logger.warn("Object [{}] failed to transfer", fail.toString()));
return completedDirectoryUpload.failedTransfers().size();
}
Pour obtenir la liste complète des guides de développement du AWS SDK et des exemples de code, consultezDéveloppement avec Amazon S3 à l'aide du AWS Kits SDK. Cette rubrique comprend également des informations sur le démarrage et sur les versions précédentes du kit SDK.