メインコンテンツへスキップ

データとオペレーション

このセクションでは、Blocklet Serverから運用データを取得するために使用されるGraphQLクエリの詳細なリファレンスを提供します。これらのクエリは、システムの健全性の監視、バックアップの管理、アクティビティの監査、およびトラフィックパターンの洞察を得るために不可欠です。データとオペレーションに関連するミューテーションについては、データとオペレーションのミューテーションセクション を参照してください。

バックアップ

blockletのバックアップレコードを管理および監視します。

getBlockletBackups

特定のblockletのバックアップレコードのリストを取得します。オプションで時間範囲でフィルタリングできます。

パラメーター

  • input RequestGetBlockletBackupsInput (required) — クエリパラメータを含むオブジェクト。
    • did string (required) — バックアップを取得するblockletのDID。
    • startTime string — バックアップレコードの時間範囲の開始。
    • endTime string — バックアップレコードの時間範囲の終了。

使用例

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();
const backups = await client.getBlockletBackups({
  input: { did: 'z8ia22V5CfqF2e4sAFc9a2B9z9mC6a8x461sC' }
});
console.log(backups);

レスポンス例

json
{
  "code": "ok",
  "backups": [
    {
      "appPid": "z8ia22V5CfqF2e4sAFc9a2B9z9mC6a8x461sC",
      "userDid": "z1...",
      "strategy": 1,
      "sourceUrl": "/path/to/backup",
      "target": "disk",
      "targetName": "Local Disk",
      "targetUrl": "/path/to/backup/target",
      "createdAt": 1678886400,
      "updatedAt": 1678886400,
      "status": 1,
      "message": "Backup completed successfully",
      "progress": 100,
      "metadata": {}
    }
  ]
}

getBlockletBackupSummary

指定された時間範囲内で、blockletのバックアップ活動の要約(成功数とエラー数を含む)を日付別にグループ化して取得します。

パラメーター

  • input RequestGetBlockletBackupSummaryInput (required) — クエリパラメータを含むオブジェクト。
    • did string (required) — blockletのDID。
    • startTime string — バックアップ要約の時間範囲の開始。
    • endTime string — バックアップ要約の時間範囲の終了。

使用例

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();
const summary = await client.getBlockletBackupSummary({
  input: { did: 'z8ia22V5CfqF2e4sAFc9a2B9z9mC6a8x461sC' }
});
console.log(summary);

レスポンス例

json
{
  "code": "ok",
  "summary": [
    {
      "date": "2023-03-15",
      "successCount": 5,
      "errorCount": 1
    }
  ]
}

ログ

監視とトラブルシューティングのために監査ログとアクティビティログにアクセスします。

getAuditLogs

監査ログのページ分割されたリストを取得し、ノード全体のアクティビティを追跡できます。ログはスコープ、カテゴリ、およびコンテンツでフィルタリングできます。

パラメーター

  • input RequestGetAuditLogsInput — クエリパラメータを含むオブジェクト。
    • paging PagingInput — ページネーションオプション。
    • scope string — スコープでフィルタリングします(例:「node」、「z8ia...」)。
    • category string — カテゴリでフィルタリングします(例:「user」、「blocklet」)。
    • actionOrContent string — アクションまたはコンテンツフィールドの検索文字列。

使用例

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();
const logs = await client.getAuditLogs({
  input: {
    paging: { page: 1, pageSize: 10 },
    category: 'user'
  }
});
console.log(logs);

レスポンス例

json
{
  "code": "ok",
  "list": [
    {
      "id": "...",
      "scope": "node",
      "category": "user",
      "action": "login",
      "content": "User z1... logged in",
      "actor": {
        "did": "z1...",
        "role": "owner",
        "fullName": "Alice"
      },
      "env": {},
      "createdAt": 1678886400,
      "ip": "127.0.0.1",
      "ua": "Mozilla/5.0..."
    }
  ],
  "paging": {
    "total": 1,
    "pageSize": 10,
    "pageCount": 1,
    "page": 1
  }
}

getPassportLogs

特定パスポートのアクティビティログを取得し、発行、失効、使用などのアクションを追跡します。

パラメーター

  • input RequestPassportLogInput (required) — クエリパラメータを含むオブジェクト。
    • teamDid string (required) — チームまたはblockletのDID。
    • query PassportLogQueryInput (required) — クエリフィルター。
      • passportId string (required) — ログを取得するパスポートのID。
    • paging PagingInput — ページネーションオプション。

使用例

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();
const logs = await client.getPassportLogs({
  input: {
    teamDid: 'z8ia22V5CfqF2e4sAFc9a2B9z9mC6a8x461sC',
    query: { passportId: 'zpassport_...' },
    paging: { page: 1, pageSize: 10 }
  }
});
console.log(logs);

レスポンス例

json
{
  "passportLogs": [
    {
      "id": 1,
      "passportId": "zpassport_...",
      "action": "issued",
      "operatorIp": "127.0.0.1",
      "operatorUa": "Mozilla/5.0...",
      "operatorDid": "z1...",
      "metadata": {},
      "createdAt": 1678886400
    }
  ],
  "paging": {
    "total": 1,
    "pageSize": 10,
    "pageCount": 1,
    "page": 1
  }
}

分析とインサイト

blockletのパフォーマンスと使用状況に関するインサイトを得ます。

getTrafficInsights

特定のblockletのトラフィック分析を提供します。これには、指定された日付範囲内のリクエスト数、ユニークビジター数、帯域幅使用量が含まれます。

パラメーター

  • input RequestGetTrafficInsightsInput (required) — クエリパラメータを含むオブジェクト。
    • did string (required) — blockletのDID。
    • startDate string — 分析期間の開始日(例:「YYYY-MM-DD」)。
    • endDate string — 分析期間の終了日(例:「YYYY-MM-DD」)。
    • paging PagingInput — ページネーションオプション。

使用例

javascript
import BlockletServerClient from '@blocklet/server-js';

const client = new BlockletServerClient();
const insights = await client.getTrafficInsights({
  input: {
    did: 'z8ia22V5CfqF2e4sAFc9a2B9z9mC6a8x461sC',
    startDate: '2023-01-01',
    endDate: '2023-01-31'
  }
});
console.log(insights);

レスポンス例

json
{
  "code": "ok",
  "list": [
    {
      "did": "z8ia22V5CfqF2e4sAFc9a2B9z9mC6a8x461sC",
      "date": "2023-01-15",
      "totalRequests": 1500,
      "uniqueVisitors": 200,
      "bandwidth": 512000000
    }
  ],
  "paging": {
    "total": 1,
    "pageSize": 10,
    "pageCount": 1,
    "page": 1
  }
}

これで、Blocklet Serverから運用データをクエリするツールが手に入りました。公開ワークフローとプロジェクトリソースの管理方法については、公開とプロジェクト セクションに進んでください。