Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Úselo UploadPartCopy
con un AWS SDK o CLI
En los siguientes ejemplos de código, se muestra cómo utilizar UploadPartCopy
.
Los ejemplos de acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Puede ver esta acción en contexto en el siguiente ejemplo de código:
- CLI
-
- AWS CLI
-
Para cargar parte de un objeto al copiar los datos de un objeto existente como origen de datos
En el siguiente ejemplo de upload-part-copy
, se carga una parte al copiar los datos de un objeto existente como origen de datos.
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"
Salida:
{
"CopyPartResult": {
"LastModified": "2019-12-13T23:16:03.000Z",
"ETag": "\"711470fc377698c393d94aed6305e245\""
}
}
- Java
-
- SDK para 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;
}