Utilizzo delle classi di storage

Non tutti i dati forniscono carichi di lavoro attivi. I dati archiviati potrebbero rimanere inalterati per lunghi periodi di tempo. Per carichi di lavoro meno attivi, puoi creare i bucket con diverse classi di archiviazione. Gli oggetti archiviati in questi bucket comportano degli addebiti su una pianificazione diversa rispetto all'archiviazione standard.

Questa funzione non è attualmente supportata nell' Object Storage e per Satellite. Ulteriori informazioni.

Cosa sono le classi?

Puoi scegliere da quattro classi di archiviazione:

  • Livello smart può essere utilizzato per qualsiasi carico di lavoro, in particolare per i carichi di lavoro dinamici in cui i modelli di accesso sono sconosciuti o difficili da prevedere. Smart Tier fornisce una struttura di prezzi semplificata e l'ottimizzazione automatica dei costi classificando i dati in livelli "hot", "cool" e "cold" in base ai modelli di utilizzo mensili. Tutti i dati nel bucket vengono quindi fatturati alla tariffa applicabile più bassa. Non ci sono dimensioni di oggetti di soglia o periodi di archiviazione e non ci sono costi di recupero. Per una spiegazione dettagliata di come funziona, vedi l'argomento di fatturazione.
  • Standard viene utilizzata per i carichi di lavoro attivi, senza alcun addebito per i dati recuperati (diverso dal costo della richiesta operativa stessa).
  • Vault viene utilizzata per i carichi di lavoro cool in cui si accede ai dati meno di una volta al mese; viene applicato un addebito ($/GB) aggiuntivo per il recupero ogni volta che vengono letti i dati. Il servizio include una soglia minima per la dimensione oggetto e il periodo di archiviazione coerenti con l'utilizzo previsto di questo servizio per i dati meno attivi.
  • Cold Vault viene utilizzata per i carichi di lavoro cold in cui si accede ai dati ogni 90 giorni o meno; viene applicato un addebito ($/GB) aggiuntivo maggiore per il recupero ogni volta che vengono letti i dati. Il servizio include una soglia minima maggiore per la dimensione oggetto e il periodo di archiviazione coerenti con l'utilizzo previsto di questo servizio per i dati statici e inattivi.

Flex è stato sostituito da Smart Tier per i workload dinamici. Gli utenti Flex possono continuare a gestire i propri dati nei bucket Flex esistenti, anche se non è possibile creare nuovi bucket Flex. Gli utenti esistenti possono fare riferimento alle informazioni sui prezzi qui.

Per ulteriori informazioni, consultare la tabella dei prezzi all'indirizzo ibm.com.

La classe di archiviazione Active viene utilizzata solo con i piani One-Rate e non può essere utilizzata in un'istanza di piano Standard.

Per ulteriori informazioni su come creare i bucket con classi di archiviazione differenti, vedi la guida di riferimento API.

Per ogni classe di memoria, la fatturazione è basata sull'utilizzo aggregato tra tutti i bucket a livello dell'istanza. Ad esempio, per Smart Tier, la fatturazione si basa sull'utilizzo tra tutti i bucket Smart Tier in una specifica istanza, non sui singoli bucket.

Come posso creare un bucket con una classe di archiviazione diversa?

Quando crei un bucket nella console, è presente un menu che ti consente di selezionare la classe di archiviazione.

Quando crei i bucket in modo programmatico, devi specificare una LocationConstraint che corrisponde all'endpoint utilizzato. I codici di provisioning validi per LocationConstraint sono
   BR San Paolo br-sao-standard / br-sao-vault / br-sao-cold / br-sao-smart
   US Geo us-standard / us-vault / us-cold / us-smart
   Stati Uniti Est us-east-standard / us-east-vault / us-east-cold / us-east-smart
   Stati Uniti Sud us-south-standard / us-south-vault/ us-south-cold/ us-south-smart
   Geo EU eu-standard / eu-vault / eu-cold / eu-smart
   **UE Gran Bretagna **eu-gb-standard / eu-gb-vault / eu-gb-cold / eu-gb-smart
   Germania UE eu-de-standard / eu-de-vault / eu-de-cold / eu-de-smart
   UE Spagna eu-es-standard / eu-es-vault / eu-es-cold / eu-es-smart
   AP Geo ap-standard / ap-vault / ap-cold / ap-smart
   AP Tokyo jp-tok-standard / jp-tok-vault / jp-tok-cold / jp-tok-smart
   Osaka AP jp-osa-standard / jp-osa-vault / jp-osa-cold / jp-osa-smart
   AP Australia au-syd-standard / au-syd-vault / au-syd-cold / au-syd-smart
   CA Toronto ca-tor-standard / ca-tor-vault / ca-tor-cold / ca-tor-smart
   Amsterdam ams03-standard / ams03-vault / ams03-cold / ams03-smart
   Chennai che01-standard / che01-vault / che01-cold / che01-smart

**Montréal **mon01-standard / mon01-vault / mon01-cold / mon01-smart
   Parigi par01-standard / par01-vault / par01-cold / par01-smart
   **San Jose **sjc04-standard / sjc04-vault / sjc04-cold / sjc04-smart
   Singapore sng01-standard / sng01-vault / sng01-cold / sng01-smart

Per ulteriori informazioni sugli endpoint, vedi Endpoint e ubicazioni di archiviazione.

Utilizzo dell'API REST, delle librerie e degli SDK

Sono state introdotte diverse nuove API negli SDK IBM COS per fornire supporto per le applicazioni che utilizzano le politiche di conservazione. Seleziona un linguaggio (curl, Java, JavaScript, Go o Python) all'inizio di questa pagina per visualizzare gli esempi che utilizzano l'SDK COS appropriato.

Tutti gli esempi di codice presuppongono l'esistenza di un oggetto client denominato cos che può richiamare i diversi metodi. Per dettagli sulla creazione dei client, vedi le guide SDK specifiche.

Crea un bucket con una classe di archiviazione

public static void createBucket(String bucketName) {
    System.out.printf("Creating new bucket: %s\n", bucketName);
    _cos.createBucket(bucketName, "us-vault");
    System.out.printf("Bucket: %s created!\n", bucketName);
}
function createBucket(bucketName) {
    console.log(`Creating new bucket: ${bucketName}`);
    return cos.createBucket({
        Bucket: bucketName,
        CreateBucketConfiguration: {
          LocationConstraint: 'us-standard'
        },
    }).promise()
    .then((() => {
        console.log(`Bucket: ${bucketName} created!`);
    }))
    .catch((e) => {
        console.error(`ERROR: ${e.code} - ${e.message}\n`);
    });
}
def create_bucket(bucket_name):
    print("Creating new bucket: {0}".format(bucket_name))
    try:
        cos.Bucket(bucket_name).create(
            CreateBucketConfiguration={
                "LocationConstraint":COS_BUCKET_LOCATION
            }
        )
        print("Bucket: {0} created!".format(bucket_name))
    except ClientError as be:
        print("CLIENT ERROR: {0}\n".format(be))
    except Exception as e:
        print("Unable to create bucket: {0}".format(e))
func main() {

    // Create client
    sess := session.Must(session.NewSession())
    client := s3.New(sess, conf)

    // Bucket Names
    newBucket := "<NEW_BUCKET_NAME>"

    input := &s3.CreateBucketInput{
        Bucket: aws.String(newBucket),
        CreateBucketConfiguration: &s3.CreateBucketConfiguration{
            LocationConstraint: aws.String("us-cold"),
        },
    }
    client.CreateBucket(input)

    d, _ := client.ListBuckets(&s3.ListBucketsInput{})
    fmt.Println(d)
}
curl -X "PUT" "https://(endpoint)/(bucket-name)"
 -H "Content-Type: text/plain; charset=utf-8"
 -H "Authorization: Bearer (token)"
 -H "ibm-service-instance-id: (resource-instance-id)"
 -d "<CreateBucketConfiguration>
       <LocationConstraint>(provisioning-code)</LocationConstraint>
     </CreateBucketConfiguration>"

Non è possibile modificare la classe di archiviazione di un bucket una volta creato il bucket. Se gli oggetti necessitano di essere riclassificati, è necessario spostare i dati in un altro bucket con la classe di archiviazione desiderata.