kvdb-client 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +65 -2
- package/README.md +61 -2
- package/package.json +1 -1
package/README.ja.md
CHANGED
|
@@ -10,14 +10,73 @@ npm install kvdb-client
|
|
|
10
10
|
|
|
11
11
|
## クイックスタート
|
|
12
12
|
|
|
13
|
+
### 1) バケット作成サンプル
|
|
14
|
+
|
|
15
|
+
```js
|
|
16
|
+
import { KVdbClient } from "kvdb-client";
|
|
17
|
+
|
|
18
|
+
const email = process.env.KVDB_EMAIL; // 自分のメール
|
|
19
|
+
|
|
20
|
+
if (!email) {
|
|
21
|
+
throw new Error("KVDB_EMAIL is required");
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const bucket = await KVdbClient.createBucket(email);
|
|
25
|
+
console.log("bucket:", bucket);
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
メールドレスを指定して実行するだけでバケットが作成できます。
|
|
29
|
+
|
|
30
|
+
### 2) データの出し入れサンプル
|
|
31
|
+
|
|
13
32
|
```js
|
|
14
33
|
import { KVdbClient } from "kvdb-client";
|
|
15
34
|
|
|
16
|
-
const
|
|
35
|
+
const bucket = process.env.KVDB_BUCKET; // 作成したバケットのID
|
|
36
|
+
const token = process.env.KVDB_TOKEN; // (なくてOK 任意)
|
|
37
|
+
|
|
38
|
+
if (!bucket) {
|
|
39
|
+
throw new Error("KVDB_BUCKET is required");
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const kv = new KVdbClient({ bucket, token });
|
|
17
43
|
|
|
18
44
|
await kv.set("myName", "n0bisuke");
|
|
19
45
|
const name = await kv.get("myName");
|
|
20
|
-
console.log(name);
|
|
46
|
+
console.log("myName:", name);
|
|
47
|
+
|
|
48
|
+
await kv.set("myData", { name: "test", value: 123 }, { json: true });
|
|
49
|
+
const data = await kv.get("myData", { parseJson: true });
|
|
50
|
+
console.log("myData:", data);
|
|
51
|
+
|
|
52
|
+
const keys = await kv.list();
|
|
53
|
+
console.log("keys:", keys);
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
この辺は公式にもあるのでお好きな方をどうぞ。
|
|
57
|
+
|
|
58
|
+
### 3) データ操作のトランザクションサンプル
|
|
59
|
+
|
|
60
|
+
公式になかったトランザクションです。まとめて処理したいときに便利です。
|
|
61
|
+
|
|
62
|
+
```js
|
|
63
|
+
import { KVdbClient } from "kvdb-client";
|
|
64
|
+
|
|
65
|
+
const bucket = process.env.KVDB_BUCKET;
|
|
66
|
+
const token = process.env.KVDB_TOKEN; // (なくてOK 任意)
|
|
67
|
+
|
|
68
|
+
if (!bucket) {
|
|
69
|
+
throw new Error("KVDB_BUCKET is required");
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const kv = new KVdbClient({ bucket, token });
|
|
73
|
+
|
|
74
|
+
await kv.transaction([
|
|
75
|
+
{ set: "users:email:new@example.com", value: "user 1" },
|
|
76
|
+
{ delete: "users:email:old@example.com" }
|
|
77
|
+
]);
|
|
78
|
+
|
|
79
|
+
console.log("transaction done");
|
|
21
80
|
```
|
|
22
81
|
|
|
23
82
|
## 認証
|
|
@@ -140,6 +199,10 @@ await kv.deleteBucket();
|
|
|
140
199
|
- `token` は `curl -u 'token:'` と同じ形式で送信されます。
|
|
141
200
|
- KVdb に保存した情報がどのように扱われるかについて、SDK 開発者(n0bisuke)は一切把握していません。利用は自己責任とし、トラブル等について開発者は責任を負いません。
|
|
142
201
|
|
|
202
|
+
## 参考記事
|
|
203
|
+
|
|
204
|
+
- `https://qiita.com/n0bisuke/items/540478c314a09ee14ba9`
|
|
205
|
+
|
|
143
206
|
## Language
|
|
144
207
|
|
|
145
208
|
- English: `README.md`
|
package/README.md
CHANGED
|
@@ -10,14 +10,69 @@ npm install kvdb-client
|
|
|
10
10
|
|
|
11
11
|
## Quick Start
|
|
12
12
|
|
|
13
|
+
### 1) Create a bucket
|
|
14
|
+
|
|
13
15
|
```js
|
|
14
16
|
import { KVdbClient } from "kvdb-client";
|
|
15
17
|
|
|
16
|
-
const
|
|
18
|
+
const email = process.env.KVDB_EMAIL; // your email
|
|
19
|
+
|
|
20
|
+
if (!email) {
|
|
21
|
+
throw new Error("KVDB_EMAIL is required");
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const bucket = await KVdbClient.createBucket(email);
|
|
25
|
+
console.log("bucket:", bucket);
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
You can create a bucket just by providing an email address.
|
|
29
|
+
|
|
30
|
+
### 2) Read & write data
|
|
31
|
+
|
|
32
|
+
```js
|
|
33
|
+
import { KVdbClient } from "kvdb-client";
|
|
34
|
+
|
|
35
|
+
const bucket = process.env.KVDB_BUCKET; // your bucket id
|
|
36
|
+
const token = process.env.KVDB_TOKEN; // optional
|
|
37
|
+
|
|
38
|
+
if (!bucket) {
|
|
39
|
+
throw new Error("KVDB_BUCKET is required");
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const kv = new KVdbClient({ bucket, token });
|
|
17
43
|
|
|
18
44
|
await kv.set("myName", "n0bisuke");
|
|
19
45
|
const name = await kv.get("myName");
|
|
20
|
-
console.log(name);
|
|
46
|
+
console.log("myName:", name);
|
|
47
|
+
|
|
48
|
+
await kv.set("myData", { name: "test", value: 123 }, { json: true });
|
|
49
|
+
const data = await kv.get("myData", { parseJson: true });
|
|
50
|
+
console.log("myData:", data);
|
|
51
|
+
|
|
52
|
+
const keys = await kv.list();
|
|
53
|
+
console.log("keys:", keys);
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 3) Transaction (batch operations)
|
|
57
|
+
|
|
58
|
+
```js
|
|
59
|
+
import { KVdbClient } from "kvdb-client";
|
|
60
|
+
|
|
61
|
+
const bucket = process.env.KVDB_BUCKET;
|
|
62
|
+
const token = process.env.KVDB_TOKEN; // optional
|
|
63
|
+
|
|
64
|
+
if (!bucket) {
|
|
65
|
+
throw new Error("KVDB_BUCKET is required");
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const kv = new KVdbClient({ bucket, token });
|
|
69
|
+
|
|
70
|
+
await kv.transaction([
|
|
71
|
+
{ set: "users:email:new@example.com", value: "user 1" },
|
|
72
|
+
{ delete: "users:email:old@example.com" }
|
|
73
|
+
]);
|
|
74
|
+
|
|
75
|
+
console.log("transaction done");
|
|
21
76
|
```
|
|
22
77
|
|
|
23
78
|
## Authentication
|
|
@@ -140,6 +195,10 @@ await kv.deleteBucket();
|
|
|
140
195
|
- `token` for Basic auth is sent as `curl -u 'token:'`.
|
|
141
196
|
- The SDK author (n0bisuke) has no knowledge of how data stored in KVdb is handled; use at your own risk. The author is not responsible for any issues or damages.
|
|
142
197
|
|
|
198
|
+
## Related Article
|
|
199
|
+
|
|
200
|
+
- `https://qiita.com/n0bisuke/items/540478c314a09ee14ba9`
|
|
201
|
+
|
|
143
202
|
## Language
|
|
144
203
|
|
|
145
204
|
- English (this file)
|