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.