このセクションでは、Blocklet Server ノードとそれが実行する blocklet の情報を管理および取得するために使用される GraphQL クエリの詳細なリファレンスを提供します。これらのクエリを使用すると、ステータスの監視、設定の取得、ライフサイクル情報へのアクセスが可能です。
blocklet のインストールや起動など、状態を変更する操作については、ミューテーション > ノード & Blocklet 管理 のドキュメントを参照してください。
ノード情報クエリ
これらのクエリは、Blocklet Server インスタンス自体の情報を提供します。
getNodeInfo
現在の Blocklet Server ノードに関する包括的な状態情報(DID、バージョン、ステータス、設定を含む)を取得します。
戻り値
- response
Promise<BlockletServerClient.ResponseGetNodeInfo>— ノードの状態情報を含むオブジェクトに解決される Promise。
例
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function fetchNodeInfo() {
try {
const response = await client.getNodeInfo();
console.log('ノード情報:', response.info);
} catch (error) {
console.error('ノード情報の取得エラー:', error);
}
}
fetchNodeInfo();レスポンス例
{
"code": "ok",
"info": {
"did": "z1v7.....",
"pk": "...",
"version": "1.7.0",
"name": "私の ABT ノード",
"description": "これは私の個人用 Blocklet Server です。",
"initialized": true,
"autoUpgrade": true
// ... その他の NodeState プロパティ
}
}getNodeEnv
オペレーティングシステム、IP アドレス、Docker ステータス、利用可能な blocklet エンジンなど、Blocklet Server の環境詳細を取得します。
戻り値
- response
Promise<BlockletServerClient.ResponseGetNodeEnv>— ノードの環境情報を含むオブジェクトに解決される Promise。
例
async function fetchNodeEnv() {
try {
const response = await client.getNodeEnv();
console.log('ノード環境:', response.info);
} catch (error) {
console.error('ノード環境の取得エラー:', error);
}
}
fetchNodeEnv();レスポンス例
{
"code": "ok",
"info": {
"ip": {
"externalV4": "192.0.2.1"
},
"os": "linux",
"docker": true,
"blockletEngines": [
{
"name": "node",
"version": "18.17.0",
"available": true
}
]
// ... その他の NodeEnvInfo プロパティ
}
}checkNodeVersion
アップグレード可能な Blocklet Server ソフトウェアの新しいバージョンがあるかどうかを確認します。
戻り値
- response
Promise<BlockletServerClient.ResponseCheckNodeVersion>— 利用可能な最新バージョン(もしあれば)を含むオブジェクトに解決される Promise。
例
async function checkForUpdates() {
try {
const response = await client.checkNodeVersion();
console.log('利用可能な最新バージョン:', response.version);
} catch (error) {
console.error('更新の確認エラー:', error);
}
}
checkForUpdates();レスポンス例
{
"code": "ok",
"version": "1.7.1"
}getNodeRuntimeHistory
指定された期間にわたるノードの CPU およびメモリ使用量を含む、過去のランタイムデータを取得します。
パラメータ
- input
object(required)- hours
number(required) — 履歴を取得する過去の時間数。
- hours
戻り値
- response
Promise<BlockletServerClient.ResponseNodeRuntimeHistory>— 過去のデータポイントの配列に解決される Promise。
例
async function fetchNodeHistory() {
try {
const response = await client.getNodeRuntimeHistory({ input: { hours: 24 } });
console.log('過去24時間のノードランタイム履歴:', response.history);
} catch (error) {
console.error('ノードランタイム履歴の取得エラー:', error);
}
}
fetchNodeHistory();レスポンス例
{
"code": "ok",
"history": [
{
"date": 1672531200000,
"cpu": 15.5,
"mem": 2048.5
}
// ... その他の NodeHistoryItem データポイント
]
}getDelegationState
ノードの委任状態を取得します。
戻り値
- response
Promise<BlockletServerClient.ResponseDelegationState>— 委任状態を含むオブジェクトに解決される Promise。
例
async function fetchDelegationState() {
try {
const response = await client.getDelegationState();
console.log('委任状態:', response.state);
} catch (error) {
console.error('委任状態の取得エラー:', error);
}
}
fetchDelegationState();レスポンス例
{
"code": "ok",
"state": {
"delegated": true
}
}resetNodeStatus
ノードのステータスをリセットします。
戻り値
- response
Promise<BlockletServerClient.ResponseGetNodeInfo>— ノードの更新された状態情報を含むオブジェクトに解決される Promise。
例
async function resetStatus() {
try {
const response = await client.resetNodeStatus();
console.log('ノードステータスがリセットされました:', response.info);
} catch (error) {
console.error('ノードステータスのリセットエラー:', error);
}
}
resetStatus();レスポンス例
{
"code": "ok",
"info": {
"did": "z1v7.....",
"pk": "...",
"version": "1.7.0",
"name": "私の ABT ノード",
"status": 0
// ... その他の NodeState プロパティ
}
}Blocklet 情報クエリ
これらのクエリは、個別または複数の blocklet に関する情報を取得するために使用されます。
getBlocklet
DID を使用して、特定の blocklet の詳細な状態とメタデータを取得します。
パラメータ
- input
object(required)- did
string(required) — 取得する blocklet の DID。 - attachRuntimeInfo
boolean— true の場合、リアルタイムの CPU およびメモリ使用量を含みます。デフォルトは false です。 - attachDiskInfo
boolean— true の場合、ディスク使用量情報を含みます。デフォルトは false です。
- did
戻り値
- response
Promise<BlockletServerClient.ResponseBlocklet>— blocklet の状態を含むオブジェクトに解決される Promise。
例
async function fetchBlockletDetails(blockletDid) {
try {
const response = await client.getBlocklet({
input: {
did: blockletDid,
attachRuntimeInfo: true,
},
});
console.log('Blocklet 詳細:', response.blocklet);
} catch (error) {
console.error('Blocklet 詳細の取得エラー:', error);
}
}
fetchBlockletDetails('z8ia...'); // 有効な blocklet DID に置き換えてくださいレスポンス例
{
"code": "ok",
"blocklet": {
"meta": {
"did": "z8ia...",
"name": "my-awesome-blocklet",
"version": "1.0.0",
"title": "私の素晴らしい Blocklet"
},
"status": "running",
"appDid": "z1s...",
"runtimeInfo": {
"cpuUsage": 5.2,
"memoryUsage": 128.7
}
// ... その他の BlockletState プロパティ
}
}getBlocklets
ノードにインストールされているすべての blocklet のリストを取得します。
パラメータ
- input
object- includeRuntimeInfo
boolean— true の場合、各 blocklet のランタイム情報を含みます。デフォルトは true です。
- includeRuntimeInfo
戻り値
- response
Promise<BlockletServerClient.ResponseGetBlocklets>— インストールされているすべての blocklet のリストを含むオブジェクトに解決される Promise。
例
async function listAllBlocklets() {
try {
const response = await client.getBlocklets();
console.log(`${response.blocklets.length} 個の blocklet が見つかりました。`);
response.blocklets.forEach(b => console.log(`- ${b.meta.title}`));
} catch (error) {
console.error('blocklet の一覧表示エラー:', error);
}
}
listAllBlocklets();レスポンス例
{
"code": "ok",
"blocklets": [
{
"meta": { "did": "z8ia...", "title": "私の素晴らしい Blocklet" },
"status": "running"
},
{
"meta": { "did": "z8ib...", "title": "別の Blocklet" },
"status": "stopped"
}
// ... その他の blocklet
]
}getBlockletMeta
blocklet の DID を使用して、指定された blocklet ストアから blocklet メタデータを取得します。
パラメータ
- input
object(required)- did
string(required) — blocklet の DID。 - storeUrl
string(required) — クエリする blocklet ストアの URL。
- did
戻り値
- response
Promise<BlockletServerClient.ResponseBlockletMeta>— blocklet のメタデータを含むオブジェクトに解決される Promise。
例
async function fetchBlockletMeta(blockletDid) {
try {
const response = await client.getBlockletMeta({
input: {
did: blockletDid,
storeUrl: 'https://store.blocklet.dev',
},
});
console.log('Blocklet メタデータ:', response.meta);
} catch (error) {
console.error('Blocklet メタデータの取得エラー:', error);
}
}
fetchBlockletMeta('z8ia...'); // 有効な blocklet DID に置き換えてくださいgetBlockletMetaFromUrl
レジストリ URL から直接 blocklet メタデータを取得します。これはインストール前に blocklet を検査するのに役立ちます。
パラメータ
- input
object(required)- url
string(required) — blocklet メタデータのレジストリ URL。
- url
戻り値
- response
Promise<BlockletServerClient.ResponseBlockletMetaFromUrl>— メタデータおよびその他のストア関連情報を含むオブジェクトに解決される Promise。
例
async function fetchMetaFromUrl() {
try {
const response = await client.getBlockletMetaFromUrl({
input: { url: 'https://store.blocklet.dev/api/blocklets/z8ia...' },
});
console.log('URL からのメタデータ:', response.meta);
} catch (error) {
console.error('URL からのメタデータ取得エラー:', error);
}
}
fetchMetaFromUrl();getBlockletRuntimeHistory
特定の blocklet の過去のランタイムデータ(CPU およびメモリ使用量)を取得します。
パラメータ
- input
object(required)- did
string(required) — blocklet の DID。 - hours
number(required) — 履歴を取得する過去の時間数。
- did
戻り値
- response
Promise<BlockletServerClient.ResponseBlockletRuntimeHistory>— 過去のデータポイントの配列に解決される Promise。
例
async function fetchBlockletHistory(blockletDid) {
try {
const response = await client.getBlockletRuntimeHistory({
input: { did: blockletDid, hours: 12 },
});
console.log('Blocklet ランタイム履歴:', response.historyList);
} catch (error) {
console.error('Blocklet ランタイム履歴の取得エラー:', error);
}
}
fetchBlockletHistory('z8ia...'); // 有効な blocklet DID に置き換えてくださいgetBlockletDiff
ローカルの blocklet ファイルと提供されたハッシュリストを比較して、追加、変更、または削除されたファイルを特定します。これは増分更新に役立ちます。
パラメータ
- input
object(required)- did
string(required) — blocklet の DID。 - hashFiles
HashFileInput[](required) — 各オブジェクトがファイルパスとそのハッシュを含むオブジェクトの配列。 - rootDid
string— ターゲットがコンポーネントの場合のルート blocklet の DID。
- did
戻り値
- response
Promise<BlockletServerClient.ResponseBlockletDiff>— 差分を詳述するオブジェクトに解決される Promise。
例
async function checkBlockletDiff(blockletDid) {
try {
const response = await client.getBlockletDiff({
input: {
did: blockletDid,
hashFiles: [
{ file: 'index.js', hash: '...' },
{ file: 'style.css', hash: '...' }
]
}
});
console.log('Blocklet 差分:', response.blockletDiff);
} catch (error) {
console.error('Blocklet 差分の確認エラー:', error);
}
}
checkBlockletDiff('z8ia...');getDynamicComponents
指定された URL から動的コンポーネントのメタデータを取得します。
パラメータ
- input
object(required)- url
string(required) — 動的コンポーネントのメタデータを取得する URL。
- url
戻り値
- response
Promise<BlockletServerClient.ResponseGetDynamicComponents>— 動的コンポーネントのリストに解決される Promise。
例
async function fetchDynamicComponents(registryUrl) {
try {
const response = await client.getDynamicComponents({ input: { url: registryUrl } });
console.log('動的コンポーネント:', response.components);
} catch (error) {
console.error('動的コンポーネントの取得エラー:', error);
}
}
fetchDynamicComponents('https://store.blocklet.dev/api/components');getBlockletsFromBackup
バックアップソースから利用可能な blocklets を一覧表示します。
戻り値
- response
Promise<BlockletServerClient.ResponseBlockletsFromBackup>— バックアップで利用可能な blocklets のリストに解決される Promise。
例
async function listBlockletsFromBackup() {
try {
const response = await client.getBlockletsFromBackup();
console.log('バックアップからの Blocklets:', response.backups);
} catch (error) {
console.error('バックアップからの blocklets の一覧表示エラー:', error);
}
}
listBlockletsFromBackup();getBlockletBaseInfo
ユーザー数、パスポート統計、最新のバックアップステータスなど、blocklet の基本情報を取得します。
パラメータ
- input
object(required)- teamDid
string(required) — チーム/blocklet の DID。
- teamDid
戻り値
- response
Promise<BlockletServerClient.ResponseBlockletInfo>— 基本的な blocklet 情報を含むオブジェクトに解決される Promise。
例
async function fetchBaseInfo(blockletDid) {
try {
const response = await client.getBlockletBaseInfo({ input: { teamDid: blockletDid } });
console.log('基本情報:', response);
} catch (error) {
console.error('基本情報の取得エラー:', error);
}
}
fetchBaseInfo('z8ia...');レスポンス例
{
"user": {
"users": 10,
"approvedUsers": 8
},
"passport": {
"passports": 12,
"activePassports": 10
},
"backup": {
"appPid": "z8ia...",
"status": 1,
"updatedAt": 1672531200
}
}ノードと blocklet の情報をクエリする方法を学んだので、次は ユーザー & アクセス管理 セクションでユーザーと権限を管理する方法を探ってみましょう。