Speicherklassen verwenden
Nicht alle Daten fließen in aktive Workloads ein. Auf Archivdaten wird möglicherweise über lange Zeiträume hinweg nicht zugegriffen. Für Workloads mit geringer Aktivität können Sie Buckets mit unterschiedlichen Speicherklassen erstellen. Für die Objekte, die in diesen Buckets gespeichert sind, werden die Gebühren auf Basis eines anderen Zeitplans erhoben, als dies bei einem Standardspeicher der Fall ist.
Diese Funktion wird derzeit in Object Storage für Satellite nicht unterstützt. Weitere Informationen.
Was sind Klassen?
Es stehen vier Speicherklassen zur Auswahl:
- Smart Tier kann für jede Workload verwendet werden, insbesondere für dynamische Workloads, bei denen Zugriffsmuster unbekannt oder schwer vorherzusagen sind. Smart Tier bietet eine vereinfachte Preisstruktur und automatische Kostenoptimierung, indem die Daten basierend auf monatlichen Nutzungsmustern in "hot"-, "cool"-und "cold" -Stufen klassifiziert werden. Alle Daten im Bucket werden dann zum niedrigsten anwendbaren Tarif in Rechnung gestellt. Es gibt keine Schwellenwertobjektgrößen oder Speicherzeiträume und es fallen keine Abrufgebühren an. Eine ausführliche Erläuterung der Funktionsweise finden Sie im Abschnitt zur Abrechnung.
- Standard wird für aktive Workloads verwendet, ohne dass für die abgerufenen Daten (mit Ausnahme der Kosten für die Betriebsanforderung selbst) Gebühren berechnet werden.
- Vault wird für 'kalte' Workloads verwendet, bei denen weniger als einmal im Monat auf Daten zugegriffen wird, wobei bei jedem Lesen von Daten eine zusätzliche Gebühr für Abfragen ($/GB) berechnet wird. Der Service schließt einen Mindestschwellenwert für die Objektgröße und die Speicherdauer ein, der der beabsichtigten Nutzung dieses Service für 'kühlere', weniger aktive Daten entspricht.
- Kalte Vault wird für 'kalte' Workloads verwendet, bei denen alle 90 Tage oder seltener auf Daten zugegriffen wird, wobei bei jedem Lesen von Daten eine höhere zusätzliche Gebühr für Abfragen ($/GB) berechnet wird. Der Service schließt einen längeren Mindestschwellenwert für die Objektgröße und die Speicherdauer ein, der der beabsichtigten Nutzung dieses Service für 'kalte, inaktive Daten entspricht.
Flex wurde durch Smart Tier für dynamische Workloads ersetzt. Flex-Benutzer können ihre Daten weiterhin in vorhandenen Flex-Buckets verwalten, obwohl keine neuen Flex-Buckets erstellt werden können. Vorhandene Benutzer können auf Preisinformationen hier verweisen.
Weitere Informationen finden Sie in der Preistabelle unter ibm.com.
Die Aktive Speicherklasse wird nur bei One-Rate-Tarifen verwendet und kann nicht in einem Standard-Tarif verwendet werden.
Weitere Informationen zum Erstellen von Buckets mit anderen Speicherklassen finden Sie in der API-Referenz.
Für jede Speicherklasse basiert die Abrechnung auf der aggregierten Nutzung für alle Buckets auf Instanzebene. Für Smart Tier basiert die Abrechnung beispielsweise auf der Nutzung für alle Smart Tier-Buckets in einer bestimmten Instanz und nicht auf den einzelnen Buckets.
Wie kann ich ein Bucket mit einer anderen Speicherklasse erstellen?
Wenn Sie in der Konsole ein Bucket erstellen, dann können Sie dort über ein Menü die gewünschte Speicherklasse auswählen.
Bei der programmgesteuerten Erstellung von Buckets müssen Sie einen Wert für LocationConstraint angeben, der mit dem verwendeten Endpunkt korrespondiert. Gültige Bereitstellungscodes für LocationConstraint sind
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
Vereinigte Staaten (Osten) us-east-standard / us-east-vault / us-east-cold / us-east-smart
USA (Süden) us-south-standard / us-south-vault/ us-south-cold/ us-south-smart
EU-Region eu-standard / eu-vault / eu-cold / eu-smart
EU Großbritannien eu-gb-standard / eu-gb-vault / eu-gb-cold / eu-gb-smart
EU Deutschland eu-de-standard / eu-de-vault / eu-de-cold / eu-de-smart
EU Spanien eu-es-standard / eu-es-vault / eu-es-cold / eu-es-smart
AP-Region ap-standard / ap-vault / ap-cold / ap-smart
AP Tokio jp-tok-standard / jp-tok-vault / jp-tok-cold / jp-tok-smart
AP Ōsaka jp-osa-standard / jp-osa-vault / jp-osa-cold / jp-osa-smart
AP Australien 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
Paris par01-standard / par01-vault / par01-cold / par01-smart
San Jose sjc04-standard / sjc04-vault / sjc04-cold / sjc04-smart
Singapur sng01-standard / sng01-vault / sng01-cold / sng01-smart
Weitere Informationen zu Endpunkten enthält Endpunkte und Speicherpositionen.
REST-API, Bibliotheken und SDKs verwenden
Für die IBM COS-SDKs wurden mehrere neue APIs eingeführt, um Unterstützung für Anwendungen zu bieten, die mit Aufbewahrungsrichtlinien arbeiten. Wählen Sie oben auf dieser Seite eine Sprache (curl, Java, JavaScript, Go oder Python) aus, um Beispiele zur Verwendung des entsprechenden COS-SDK anzuzeigen.
Beachten Sie hierbei, dass in allen Codebeispielen davon ausgegangen wird, dass ein Clientobjekt mit dem Namen cos vorhanden ist, mit dem die verschiedenen Methoden aufgerufen werden können. Detaillierte Informationen zum Erstellen
von Clients finden Sie in den Leitfäden zum jeweiligen SDK.
Bucket mit Speicherklasse erstellen
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>"
Die Speicherklasse eines Buckets kann nach der Erstellung des Buckets nicht mehr geändert werden. Wenn für Objekte eine andere Speicherklasse angegeben werden muss, dann müssen die Daten in ein anderes Bucket verschoben werden, für das die gewünschte Speicherklasse definiert wurde.