メインコンテンツまでスキップ

Momento StorageのAPIリファレンス

Control APIs

これらのAPIメソッドは、ストアの管理と制御に使用されます。

ストアの作成

指定された名前のストアを作成します。

属性:

NameTypeDescription
storeNameString作成されるストアの名前。
const result = await storageClient.createStore(storeName);
switch (result.type) {
case CreateStoreResponse.AlreadyExists:
console.log(`Store '${storeName}' already exists`);
break;
case CreateStoreResponse.Success:
console.log(`Store '${storeName}' created`);
break;
case CreateStoreResponse.Error:
throw new Error(
`An error occurred while attempting to create store '${storeName}': ${result.errorCode()}: ${result.toString()}`
);
}

ストアの削除

ストアを削除します。

属性:

NameTypeDescription
storeNameString削除するストアの名前。
const result = await storageClient.deleteStore(storeName);
switch (result.type) {
case DeleteStoreResponse.Success:
console.log(`Store '${storeName}' deleted`);
break;
case DeleteStoreResponse.Error:
throw new Error(
`An error occurred while attempting to delete store '${storeName}': ${result.errorCode()}: ${result.toString()}`
);
}

ストアのリスト

全てのストアをリストします

const result = await storageClient.listStores();
switch (result.type) {
case ListStoresResponse.Success:
console.log(
`Stores:\n${result
.stores()
.map(c => c.getName())
.join('\n')}\n\n`
);
break;
case ListStoresResponse.Error:
throw new Error(`An error occurred while attempting to list stores: ${result.errorCode()}: ${result.toString()}`);
}

Data APIs

これらのAPIメソッドは、ストア内のデータを直接操作するために使用されます。

Put

値をストアに入れる。このキーの値がすでに存在する場合は、新しい値に置き換えられます。

NameTypeDescription
storeNameStringストアの名前
keyString値を追加するキー
valueString / Bytes / Integer / Double保存する値
// to store a string value:
const result = await storageClient.putString(storeName, 'test-key', 'test-value');
switch (result.type) {
case StoragePutResponse.Success:
console.log("Key 'test-key' stored successfully");
break;
case StoragePutResponse.Error:
throw new Error(
`An error occurred while attempting to store key 'test-key' in store '${storeName}': ${result.errorCode()}: ${result.toString()}`
);
}

// Momento storage also supports these other data types:
await storageClient.putInt(storeName, 'test-key', 42);
await storageClient.putDouble(storeName, 'test-key', 3.14);
await storageClient.putBytes(storeName, 'test-key', Buffer.from('test-value'));

Get

与えられたキーに対して格納されている値を取得します。

NameTypeDescription
storeNameStringストアの名前
keyString値を取得するキー
const getResponse = await storageClient.get(storeName, 'test-key');
// simplified style; assume the value was found, and that it was a string
console.log(`string hit: ${getResponse.value()!.string()!}`);

// if the value was an integer:
const integerGetResponse = await storageClient.get(storeName, 'test-integer-key');
console.log(`integer hit: ${integerGetResponse.value()!.int()!}`);

// pattern-matching style; safer for production code
switch (getResponse.type) {
case StorageGetResponse.Found:
// if you know the value is a string:
console.log(`Retrieved value for key 'test-key': ${getResponse.value().string()!}`);
break;
case StorageGetResponse.NotFound:
console.log(`Key 'test-key' was not found in store '${storeName}'`);
break;
case StorageGetResponse.Error:
throw new Error(
`An error occurred while attempting to get key 'test-key' from store '${storeName}': ${getResponse.errorCode()}: ${getResponse.toString()}`
);
}

Delete

指定されたキーに格納されている値を削除します。

NameTypeDescription
storeNameStringストアの名前
keyString値を削除するキー
const result = await storageClient.delete(storeName, 'test-key');
switch (result.type) {
case StorageDeleteResponse.Success:
console.log("Key 'test-key' deleted successfully");
break;
case StorageDeleteResponse.Error:
throw new Error(
`An error occurred while attempting to delete key 'test-key' from store '${storeName}': ${result.errorCode()}: ${result.toString()}`
);
}

SDKにおけるAPIサポートの現状

様々なSDK言語におけるAPIサポートの現状については、言語サポートページを参照してください。

Momento SDKにおけるストレージAPIサポートの現状

Storage

A matrix of SDK support for Momento Storage APIs

FeatureNode.jsWeb.NETPythonGoJavaKotlinElixirPHPRustRubySwiftDart
createStore
deleteStore
listStores
put
get
delete