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à.
Interruzione di un caricamento in più parti
Dopo aver avviato un caricamento in più parti, le parti vengono caricate. Amazon S3 memorizza queste parti e crea l'oggetto solo dopo aver caricato tutte le parti e aver inviato una richiesta per completare il caricamento multiparte. Quando riceve la richiesta di completamento del caricamento in più parti, Amazon S3 assembla le parti e crea un oggetto. Se la richiesta di caricamento multiparte completa non viene inviata correttamente, S3 non assembla le parti e non crea alcun oggetto. Se si desidera non completare un caricamento multiparte dopo aver caricato le parti, è necessario interrompere il caricamento multiparte.
Ti viene addebitato tutto lo spazio di storage associato alle parti caricate. Si consiglia di completare sempre il caricamento multiparte o di interromperlo per rimuovere le parti caricate. Per ulteriori informazioni sui prezzi, consultare Caricamento in più parti e prezzi.
È inoltre possibile interrompere un caricamento in più parti incompleto utilizzando una configurazione del ciclo di vita del bucket. Per ulteriori informazioni, consulta Configurazione del ciclo di vita del bucket per l'eliminazione dei caricamenti in più parti incompleti.
La sezione seguente mostra come interrompere un caricamento multiparte in corso in Amazon S3 utilizzando AWS Command Line Interface l'API REST o. AWS SDKs
Per ulteriori informazioni sull'utilizzo di AWS CLI per interrompere un caricamento in più parti, vedere abort-multipart-uploadnella Guida ai AWS CLI comandi.
Per ulteriori informazioni sull'utilizzo dell'API REST per interrompere un caricamento AbortMultipartUploadin più parti, consulta Amazon Simple Storage Service API Reference.
- Java
-
Per interrompere i caricamenti in più parti in corso utilizzando l' AWS SDK for Java, puoi interrompere i caricamenti iniziati prima di una data specificata e che sono ancora in corso. Un caricamento è considerato in esecuzione dopo l'avvio e finché non viene completato o interrotto.
Per interrompere i caricamenti in più parti, puoi:
1 |
Creare un'istanza S3Client. |
2 |
Utilizza i metodi di interruzione del client passando il nome del bucket e altri parametri richiesti. |
Per esempi di come interrompere i caricamenti multiparte con l'SDK for AWS Java, consulta Annullare un caricamento multiparte nel riferimento all'API Amazon S3.
- .NET
-
L'esempio di codice C# seguente interrompe l'esecuzione di tutti i caricamenti in più parti avviati su un bucket nella settimana precedente. Per informazioni sulla configurazione e l'esecuzione degli esempi di codice, consulta Getting Started with the AWS SDK for .NET nella AWS SDK for .NET Developer Guide.
using Amazon;
using Amazon.S3;
using Amazon.S3.Transfer;
using System;
using System.Threading.Tasks;
namespace Amazon.DocSamples.S3
{
class AbortMPUUsingHighLevelAPITest
{
private const string bucketName = "*** provide bucket name ***";
// Specify your bucket region (an example region is shown).
private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
private static IAmazonS3 s3Client;
public static void Main()
{
s3Client = new AmazonS3Client(bucketRegion);
AbortMPUAsync().Wait();
}
private static async Task AbortMPUAsync()
{
try
{
var transferUtility = new TransferUtility(s3Client);
// Abort all in-progress uploads initiated before the specified date.
await transferUtility.AbortMultipartUploadsAsync(
bucketName, DateTime.Now.AddDays(-7));
}
catch (AmazonS3Exception e)
{
Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message);
}
catch (Exception e)
{
Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message);
}
}
}
}
È possibile interrompere l'esecuzione di un caricamento in più parti chiamando il metodo AmazonS3.abortMultipartUpload
. Questo metodo elimina tutte le parti che sono state caricate in Amazon S3 e libera le risorse. È necessario specificare l'ID di caricamento, il nome del bucket e il nome della chiave. Il seguente esempio di codice Java mostra come interrompere l'esecuzione di un caricamento in più parti.
Per interrompere un caricamento in più parti, devi fornire l'ID di caricamento e i nomi di bucket e chiave utilizzati nel caricamento. Dopo aver interrotto un caricamento in più parti, non puoi utilizzare l'ID di caricamento per caricare altre parti. Per ulteriori informazioni sui caricamenti in più parti di Amazon S3, consulta Caricamento e copia di oggetti utilizzando il caricamento multiparte in Amazon S3.
- Java
-
Per interrompere uno specifico caricamento multiparte in corso utilizzando l' AWS SDK for Java, puoi utilizzare l'API di basso livello per interrompere il caricamento fornendo il nome del bucket, la chiave dell'oggetto e l'ID di caricamento.
Invece di interrompere uno specifico caricamento in più parti, puoi interrompere tutti i caricamenti in più parti iniziati prima di un orario specifico e che sono ancora in corso. Questa operazione di pulizia è utile per interrompere caricamenti in più parti obsoleti che sono stati avviati ma che non sono stati completati o interrotti. Per ulteriori informazioni, consulta Utilizzo dell' AWS SDKs (API di alto livello).
Per esempi di come interrompere un caricamento multiparte specifico con l' AWS SDK for Java, consulta Annullare un caricamento multiparte nel riferimento alle API di Amazon S3.
- .NET
-
L'esempio di codice #C seguente mostra come interrompere un caricamento in più parti. Per un esempio in C# completo che include il codice seguente, consulta Utilizzo dell'API (di basso livello AWS SDKs ).
AbortMultipartUploadRequest abortMPURequest = new AbortMultipartUploadRequest
{
BucketName = existingBucketName,
Key = keyName,
UploadId = initResponse.UploadId
};
await AmazonS3Client.AbortMultipartUploadAsync(abortMPURequest);
Puoi anche interrompere tutti i caricamenti in più parti in corso che sono stati avviati prima di un determinato orario. Questa operazione di pulizia è utile per interrompere caricamenti in più parti che non sono stati completati o interrotti. Per ulteriori informazioni, consulta Utilizzo dell' AWS SDKs (API di alto livello).
- PHP
-
Questo esempio mostra come utilizzare una classe dalla versione 3 di AWS SDK per PHP
per interrompere un caricamento in più parti in corso. Per ulteriori informazioni sull'API AWS SDK for Ruby, AWS vai a SDK for Ruby - Versione 2. Nell'esempio il metodo abortMultipartUpload()
.
Per ulteriori informazioni sull'API AWS SDK for Ruby, AWS vai a SDK for Ruby - Versione 2.
require 'vendor/autoload.php';
use Aws\S3\S3Client;
$bucket = '*** Your Bucket Name ***';
$keyname = '*** Your Object Key ***';
$uploadId = '*** Upload ID of upload to Abort ***';
$s3 = new S3Client([
'version' => 'latest',
'region' => 'us-east-1'
]);
// Abort the multipart upload.
$s3->abortMultipartUpload([
'Bucket' => $bucket,
'Key' => $keyname,
'UploadId' => $uploadId,
]);