Sono disponibili altri esempi di AWS SDK nel repository AWS Doc SDK Examples. GitHub
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Da utilizzare UploadPartCopycon un AWS SDK o CLI
Gli esempi di codice seguenti mostrano come utilizzare UploadPartCopy.
Gli esempi di operazioni sono estratti di codice da programmi più grandi e devono essere eseguiti nel contesto. È possibile visualizzare questa operazione nel contesto nel seguente esempio di codice:
- CLI
-
- AWS CLI
-
Come caricare parte di un oggetto copiando i dati da un oggetto esistente come origine dati
L’esempio upload-part-copy seguente carica una parte copiando i dati da un oggetto esistente come origine dati.
aws s3api upload-part-copy \
--bucket amzn-s3-demo-bucket \
--key "Map_Data_June.mp4" \
--copy-source "amzn-s3-demo-bucket/copy_of_Map_Data_June.mp4" \
--part-number 1 \
--upload-id "bq0tdE1CDpWQYRPLHuNG50xAT6pA5D.m_RiBy0ggOH6b13pVRY7QjvLlf75iFdJqp_2wztk5hvpUM2SesXgrzbehG5hViyktrfANpAD0NO.Nk3XREBqvGeZF6U3ipiSm"
Output:
{
"CopyPartResult": {
"LastModified": "2019-12-13T23:16:03.000Z",
"ETag": "\"711470fc377698c393d94aed6305e245\""
}
}
- Java
-
- SDK per Java 2.x
-
public CompletableFuture<String> performMultiCopy(String toBucket, String bucketName, String key) {
CreateMultipartUploadRequest createMultipartUploadRequest = CreateMultipartUploadRequest.builder()
.bucket(toBucket)
.key(key)
.build();
getAsyncClient().createMultipartUpload(createMultipartUploadRequest)
.thenApply(createMultipartUploadResponse -> {
String uploadId = createMultipartUploadResponse.uploadId();
System.out.println("Upload ID: " + uploadId);
UploadPartCopyRequest uploadPartCopyRequest = UploadPartCopyRequest.builder()
.sourceBucket(bucketName)
.destinationBucket(toBucket)
.sourceKey(key)
.destinationKey(key)
.uploadId(uploadId) // Use the valid uploadId.
.partNumber(1) // Ensure the part number is correct.
.copySourceRange("bytes=0-1023") // Adjust range as needed
.build();
return getAsyncClient().uploadPartCopy(uploadPartCopyRequest);
})
.thenCompose(uploadPartCopyFuture -> uploadPartCopyFuture)
.whenComplete((uploadPartCopyResponse, exception) -> {
if (exception != null) {
// Handle any exceptions.
logger.error("Error during upload part copy: " + exception.getMessage());
} else {
// Successfully completed the upload part copy.
System.out.println("Upload Part Copy completed successfully. ETag: " + uploadPartCopyResponse.copyPartResult().eTag());
}
});
return null;
}