Utilisation de classes de stockage
Toutes les données n'alimentent pas les charges de travail actives. Les données archivées peuvent demeurer intactes durant de longues périodes. Pour les charges de travail moins actives, vous pouvez créer des compartiments avec différentes classes de stockage. Les objets stockés dans ces compartiments entraînent des frais selon un planning différent de celui du stockage standard.
Cette fonction n'est actuellement pas prise en charge dans Object Storage pour Satellite. En savoir plus.
Que sont les classes ?
Il existe quatre classes de stockage que vous pouvez sélectionner :
- Smart Tier peut être utilisé pour n'importe quelle charge de travail, en particulier les charges de travail dynamiques où les modèles d'accès sont inconnus ou difficiles à prévoir. Smart Tier offre une structure de tarification simplifiée et une optimisation automatique des coûts en classant les données en niveaux "chaud", "frais" et "froid" en fonction des modèles d'utilisation mensuels. Toutes les données du compartiment sont ensuite facturées au taux applicable le plus bas. Il n'y a pas de taille d'objet de seuil ni de période de stockage, et il n'y a pas de frais d'extraction. Pour une explication détaillée de son fonctionnement, voir la rubrique sur la facturation.
- Standard : classe utilisée pour les charges de travail actives, sans frais pour les données extraites (en dehors du coût de la demande opérationnelle proprement dite).
- Coffre : classe utilisée pour les charges de travail tièdes pour lesquelles les données sont consultées moins d'une fois par mois. Des frais d'extraction supplémentaires ($/Go) s'appliquent à chaque fois que les données sont lues. Le service comprend un seuil minimal pour la taille d'objet et la durée de stockage adaptés à l'usage prévu, le stockage de données moins actives tièdes.
- Coffre froid : classe utilisée pour les charges de travail froides pour lesquelles les données sont consultées tous les 90 jours tout au plus. Des frais d'extraction supplémentaires supérieurs ($/Go) s'appliquent à chaque fois que les données sont lues. Le service comprend un seuil minimal plus élevé pour la taille d'objet et la durée de stockage adaptés à l'usage prévu, le stockage de données inactives froides.
Flex a été remplacé par Smart Tier pour les charges de travail dynamiques. Les utilisateurs Flex peuvent continuer à gérer leurs données dans des compartiments Flex existants, bien qu'aucun nouveau compartiment Flex ne puisse être créé. Les utilisateurs existants peuvent référencer les informations de tarification ici.
Pour plus d'informations, voir le tableau des prix à l'adresse ibm.com.
La classe de stockage active n'est utilisée qu'avec les plans à tarif unique et ne peut pas être utilisée dans une instance de plan standard.
Pour plus d'informations sur la création de compartiments avec différentes classes de stockage, voir Référence d'API.
Pour chaque classe de stockage, la facturation est basée sur l'utilisation agrégée dans tous les compartiments au niveau de l'instance. Par exemple, pour Smart Tier, la facturation est basée sur l'utilisation de tous les compartiments Smart Tier dans une instance donnée, et non sur les compartiments individuels.
Création d'un compartiment avec une classe de stockage différente
Lorsque vous créez un compartiment dans la console, un menu vous permet de sélectionner des classes de stockage.
Lors de la création de compartiments à l'aide d'un programme, il est nécessaire de spécifier une contrainte LocationConstraint
correspondant au noeud final utilisé. Les codes de provisionnement valables pour LocationConstraint
sont les suivants
BR São Paulo br-sao-standard
/ br-sao-vault
/ br-sao-cold
/ br-sao-smart
US Geo us-standard
/ us-vault
/ us-cold
/ us-smart
Est des Etats-Unis us-east-standard
/ us-east-vault
/ us-east-cold
/ us-east-smart
Sud des Etats-Unis us-south-standard
/ us-south-vault
/ us-south-cold
/ us-south-smart
Géo UE eu-standard
/ eu-vault
/ eu-cold
/ eu-smart
UE Grande-Bretagne eu-gb-standard
/ eu-gb-vault
/ eu-gb-cold
/ eu-gb-smart
Allemagne de l'UE eu-de-standard
/ eu-de-vault
/ eu-de-cold
/ eu-de-smart
Espagne de l'UE eu-es-standard
/ eu-es-vault
/ eu-es-cold
/ eu-es-smart
AP Géo ap-standard
/ ap-vault
/ ap-cold
/ ap-smart
AP Tokyo jp-tok-standard
/ jp-tok-vault
/ jp-tok-cold
/ jp-tok-smart
AP Osaka jp-osa-standard
/ jp-osa-vault
/ jp-osa-cold
/ jp-osa-smart
AP Australie 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
Milan mil01-standard
/ mil01-vault
/ mil01-cold
/ mil01-smart
Montréal mon01-standard
/ mon01-vault
/ mon01-cold
/ mon01-smart
Paris par01-standard
/ par01-vault
/ par01-cold
/ par01-smart
San José sjc04-standard
/ sjc04-vault
/ sjc04-cold
/ sjc04-smart
Singapour sng01-standard
/ sng01-vault
/ sng01-cold
/ sng01-smart
Pour plus d'informations sur les noeuds finaux, voir Noeuds finaux et emplacements de stockage.
Utilisation de l'API REST, de bibliothèques et de SDK
Plusieurs nouvelles API ont été introduites dans les SDK IBM COS pour fournir une prise en charge des applications qui fonctionnent avec des règles de conservation. Sélectionnez un langage (curl, Java, JavaScript, Go ou Python) au début de cette page pour consulter les exemples qui utilisent le SDK COS approprié.
Tous les exemples de code partent du principe qu'il existe un objet client appelé cos
pouvant appeler les différentes méthodes. Pour plus de détails sur la création de clients, voir les guides SDK spécifiques.
Création d'un compartiment avec une classe de stockage
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>"
Une fois qu'un compartiment est créé, sa classe de stockage ne peut pas être modifiée. Si des objets doivent être reclassifiés, il est nécessaire de déplacer les données vers un autre compartiment doté de la classe de stockage souhaitée.