Eliminazione di oggetti da un bucket di directory - Amazon Simple Storage Service

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à.

Eliminazione di oggetti da un bucket di directory

Puoi eliminare oggetti da un bucket di directory Amazon S3 utilizzando la console Amazon S3, AWS Command Line Interface () o.AWS CLI AWS SDKs Per ulteriori informazioni, consultare Operazioni con i bucket di directory e S3 Express One Zone.

avvertimento
  • L'eliminazione di un oggetto non può essere annullata.

  • Questa azione elimina tutti gli oggetti specificati. Quando si eliminano le cartelle, attendere che l'azione di eliminazione finisca prima di aggiungere nuovi oggetti alla cartella. In caso contrario, potrebbero essere eliminati anche nuovi oggetti.

Nota

Quando si eliminano programmaticamente più oggetti da un bucket della directory, si noti quanto segue:

  • Le chiavi degli oggetti nelle richieste DeleteObjects devono contenere almeno un carattere diverso dallo spazio. Le stringhe con tutti i caratteri di spazio bianco non sono supportate.

  • Le chiavi degli oggetti nelle richieste di DeleteObjects non possono contenere caratteri di controllo Unicode, ad eccezione di newline (\n), tab (\t) e carriage return (\r).

Per eliminare oggetti
  1. Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel riquadro di navigazione a sinistra, scegli Directory buckets.

  3. Scegli il bucket della directory che contiene gli oggetti da eliminare.

  4. Scegli la scheda Objects (Oggetti). Nell'elenco Oggetti, seleziona la casella di controllo a sinistra dell'oggetto o degli oggetti che si desidera eliminare.

  5. Scegliere Delete (Elimina).

  6. Nella pagina Elimina oggetti inserisci permanently delete nella casella di testo.

  7. Scegliere Delete objects (Elimina oggetti).

SDK for Java 2.x

L'esempio seguente elimina gli oggetti di un bucket di directory usando AWS SDK for Java 2.x.

static void deleteObject(S3Client s3Client, String bucketName, String objectKey) { try { DeleteObjectRequest del = DeleteObjectRequest.builder() .bucket(bucketName) .key(objectKey) .build(); s3Client.deleteObject(del); System.out.println("Object " + objectKey + " has been deleted"); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
SDK for Python

L'esempio seguente elimina gli oggetti di un bucket di directory usando AWS SDK per Python (Boto3).

import logging import boto3 from botocore.exceptions import ClientError def delete_objects(s3_client, bucket_name, objects): ''' Delete a list of objects in a directory bucket :param s3_client: boto3 S3 client :param bucket_name: Bucket that contains objects to be deleted; for example, 'doc-example-bucket--usw2-az1--x-s3' :param objects: List of dictionaries that specify the key names to delete :return: Response output, else False ''' try: response = s3_client.delete_objects( Bucket = bucket_name, Delete = { 'Objects': objects } ) return response except ClientError as e: logging.error(e) return False if __name__ == '__main__': region = 'us-west-2' bucket_name = 'BUCKET_NAME' objects = [ { 'Key': '0.txt' }, { 'Key': '1.txt' }, { 'Key': '2.txt' }, { 'Key': '3.txt' }, { 'Key': '4.txt' } ] s3_client = boto3.client('s3', region_name = region) results = delete_objects(s3_client, bucket_name, objects) if results is not None: if 'Deleted' in results: print (f'Deleted {len(results["Deleted"])} objects from {bucket_name}') if 'Errors' in results: print (f'Failed to delete {len(results["Errors"])} objects from {bucket_name}')

Il seguente esempio di comando delete-object mostra come si può usare il comando AWS CLI per eliminare un oggetto da un bucket della directory. Per eseguire questo comando, sostituire user input placeholders con le proprie informazioni.

aws s3api delete-object --bucket bucket-base-name--zone-id--x-s3 --key KEY_NAME

Per ulteriori informazioni, consulta delete-objectnel riferimento ai AWS CLI comandi.

Il comando di delete-objects esempio seguente mostra come è possibile utilizzare AWS CLI per eliminare oggetti da un bucket di directory. Per eseguire questo comando, sostituire user input placeholders con le proprie informazioni.

Il delete.json file è il seguente:

{ "Objects": [ { "Key": "0.txt" }, { "Key": "1.txt" }, { "Key": "2.txt" }, { "Key": "3.txt" } ] }

Il comando di delete-objects esempio è il seguente:

aws s3api delete-objects --bucket bucket-base-name--zone-id--x-s3 --delete file://delete.json

Per ulteriori informazioni, consulta delete-objectsnel AWS CLI Command Reference.