

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

# Gestione di tag degli oggetti
<a name="tagging-managing"></a>

Questa sezione spiega come gestire i tag degli oggetti utilizzando la console AWS SDKs per Java e.NET o Amazon S3.

Il tagging degli oggetti consente di classificare l’archiviazione in bucket per uso generico. Ciascun tag è una coppia chiave-valore che aderisce alle seguenti regole:
+ Puoi associare fino a 10 tag a un oggetto. I tag associati a un oggetto devono avere chiavi di tag univoche.
+ Una chiave tag può contenere fino a 128 caratteri Unicode e i valori dei tag possono contenere fino a 256 caratteri Unicode. I tag di oggetti Amazon S3 sono rappresentati internamente in UTF-16. I caratteri in UTF-16 usano 1 o 2 posizioni.
+ La chiave e i valori fanno distinzione tra maiuscole e minuscole. 

Per ulteriori informazioni sui tag degli oggetti, consulta [Classificazione degli oggetti utilizzando i tag](object-tagging.md). Per ulteriori informazioni sui limiti dei tag, consulta [Restrizioni sui tag definiti dall'utente](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) nella *Guida per l'utente Gestione dei costi e fatturazione AWS *. 

## Utilizzo della console S3
<a name="add-object-tags"></a>

**Per aggiungere tag a un oggetto**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione sinistro, scegli **Bucket per uso generico**.

1. Nell’elenco dei bucket scegli il nome del bucket contenente l’oggetto.

1. Seleziona la casella di controllo a sinistra dei nomi degli oggetti da modificare.

1. Dal menu **Operazioni**, seleziona **Modifica tag**.

1. Esamina gli oggetti elencati e seleziona **Aggiungi tag**.

1. Ogni tag oggetto è una coppia chiave-valore. Immettere una **chiave** e un **valore**. Per aggiungere un altro tag, scegliere **Add Tag (Aggiungi tag)**. 

   È possibile immettere fino a un massimo di 10 tag per ciascun oggetto.

1. Seleziona **Salva modifiche**.

   Amazon S3 aggiungerà i tag agli oggetti specificati.

Per ulteriori informazioni, vedi anche [Visualizzazione delle proprietà di un oggetto nella console di Amazon S3](view-object-properties.md) e [Caricamento degli oggetti](upload-objects.md) in questa guida. 

## Usando il AWS SDKs
<a name="tagging-manage-sdk"></a>

------
#### [ Java ]

Per gestire i tag degli oggetti utilizzando l' AWS SDK for Java, puoi impostare i tag per un nuovo oggetto e recuperare o sostituire i tag per un oggetto esistente. Per ulteriori informazioni sul tagging dell'oggetto, consulta [Classificazione degli oggetti utilizzando i tag](object-tagging.md).

Caricare un oggetto in un bucket e impostare tag mediante un’interfaccia S3Client. Per esempi, consulta [Caricamento di un oggetto in un bucket](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutObject_section.html) nella *Guida di riferimento delle API di Amazon S3*.

------
#### [ .NET ]

L'esempio seguente mostra come utilizzare AWS SDK per .NET per impostare i tag per un nuovo oggetto e recuperare o sostituire i tag per un oggetto esistente. Per ulteriori informazioni sul tagging dell'oggetto, consulta [Classificazione degli oggetti utilizzando i tag](object-tagging.md). 

Per informazioni sulla configurazione e l'esecuzione degli esempi di codice, consulta [Getting Started with the AWS SDK for .NET nella AWS SDK for](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) .NET *Developer Guide*. 

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    public class ObjectTagsTest
    {
        private const string bucketName = "*** bucket name ***";
        private const string keyName = "*** key name for the new object ***";
        private const string filePath = @"*** file path ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 client;

        public static void Main()
        {
            client = new AmazonS3Client(bucketRegion);
            PutObjectWithTagsTestAsync().Wait();
        }

        static async Task PutObjectWithTagsTestAsync()
        {
            try
            {
                // 1. Put an object with tags.
                var putRequest = new PutObjectRequest
                {
                    BucketName = bucketName,
                    Key = keyName,
                    FilePath = filePath,
                    TagSet = new List<Tag>{
                        new Tag { Key = "Keyx1", Value = "Value1"},
                        new Tag { Key = "Keyx2", Value = "Value2" }
                    }
                };

                PutObjectResponse response = await client.PutObjectAsync(putRequest);
                // 2. Retrieve the object's tags.
                GetObjectTaggingRequest getTagsRequest = new GetObjectTaggingRequest
                {
                    BucketName = bucketName,
                    Key = keyName
                };

                GetObjectTaggingResponse objectTags = await client.GetObjectTaggingAsync(getTagsRequest);
                for (int i = 0; i < objectTags.Tagging.Count; i++)
                    Console.WriteLine("Key: {0}, Value: {1}", objectTags.Tagging[i].Key, objectTags.Tagging[i].Value);


                // 3. Replace the tagset.

                Tagging newTagSet = new Tagging();
                newTagSet.TagSet = new List<Tag>{
                    new Tag { Key = "Key3", Value = "Value3"},
                    new Tag { Key = "Key4", Value = "Value4" }
                };


                PutObjectTaggingRequest putObjTagsRequest = new PutObjectTaggingRequest()
                {
                    BucketName = bucketName,
                    Key = keyName,
                    Tagging = newTagSet
                };
                PutObjectTaggingResponse response2 = await client.PutObjectTaggingAsync(putObjTagsRequest);

                // 4. Retrieve the object's tags.
                GetObjectTaggingRequest getTagsRequest2 = new GetObjectTaggingRequest();
                getTagsRequest2.BucketName = bucketName;
                getTagsRequest2.Key = keyName;
                GetObjectTaggingResponse objectTags2 = await client.GetObjectTaggingAsync(getTagsRequest2);
                for (int i = 0; i < objectTags2.Tagging.Count; i++)
                    Console.WriteLine("Key: {0}, Value: {1}", objectTags2.Tagging[i].Key, objectTags2.Tagging[i].Value);

            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine(
                        "Error encountered ***. Message:'{0}' when writing an object"
                        , e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine(
                    "Encountered an error. Message:'{0}' when writing an object"
                    , e.Message);
            }
        }
    }
}
```

------