IBM Cloud Docs
Utilisation de classes de stockage

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.