> ## Documentation Index
> Fetch the complete documentation index at: https://docs.logbrew.co/llms.txt
> Use this file to discover all available pages before exploring further.

# プロジェクトの読み取りキーで LogBrew のセットアップを確認する

> プロジェクトの読み取りキーで、テストイベントを LogBrew から読み戻します。プロジェクトキーの種類ごとに、できることとできないことを説明します。

SDK の送信が成功すると、LogBrew がリクエストを受け付けたことがわかります。ただし、LogBrew がイベントを保存し、それを読み取れることまではわかりません。セットアップを確認するには、テストイベントを1件送信し、読み戻します。

プロジェクトの読み取りキーを使うと、人、CI ジョブ、コーディングエージェントが、アカウントにサインインせずに1つのプロジェクトを読み取れます。これはプロジェクトキーで、アカウントの認証情報ではありません。

## プロジェクトキーの種類

プロジェクトキーは、それぞれ1つのプロジェクトに属します。キーでできることは、その種類で決まります。種類は、`logbrew projects keys create` を実行するときに `--kind` で選びます。

| 種類 | トークンのプレフィックス | できること | できないこと |
| - | - | - | - |
| `sdk`（デフォルト）、`server`、`cli`、`browser` | `lbw_ingest_` | 所属するプロジェクトにテレメトリを送信する。 | テレメトリの読み取り、課題の変更、プロジェクトやキーの管理、別のプロジェクトの読み取り。 |
| `artifact` | `lbw_ingest_` | 所属するプロジェクトのソースマップとネイティブのデバッグファイルをアップロードする。 | テレメトリの送信と読み取り。 |
| `read` | `lbw_read_` | 所属するプロジェクトの課題、トレース、ログ、アクション、メトリクス、リリース、プロダクト分析を読み取る。 | テレメトリの送信、課題の変更、プロジェクトやキーの管理、アカウントのデータの読み取り、別のプロジェクトの読み取り。 |

`sdk`、`server`、`cli`、`browser` の種類は取り込みキーです。キーを動かす場所を表す種類を選びます。ブラウザーで動くコードには `browser` を使います。読み取りキーは、ブラウザーのコード、モバイルアプリ、公開されるバンドルに入れないでください。

アカウントのアクセス権は、これとは別のものです。`logbrew login` を実行すると、CLI はアカウントのアクセス権を使えるようになります。アカウントのアクセス権を SDK の設定に使わないでください。読み取りキーでは、CLI にもダッシュボードにもサインインできません。

## テストイベントを読み戻す

**1. 読み取りキーを作成する**

この手順には、アカウントのアクセス権が必要です。`logbrew status --json` を実行し、認証済みのアカウントのアクセス権が報告されることを確認します。

```bash theme={null}
: "${LOGBREW_PROJECT_ID:?set the project UUID}"
install -d -m 700 "$HOME/.logbrew"

logbrew projects keys create "$LOGBREW_PROJECT_ID" \
  --kind read \
  --label "setup check" \
  --ingest-key-file "$HOME/.logbrew/setup-check.read" \
  --json
```

CLI は、所有者専用の新しいファイルにキーを書き込みます。キーもファイルのパスも出力しません。`--ingest-key-file` は、どの種類のキーにも使うファイルのオプションです。保存先のファイルは、まだ存在していてはいけません。

**確認ポイント**：結果に `status: "created"` と `ingest_key.kind: "read"` が含まれます。`ingest_key.id` を記録します。キーを無効化するときに必要です。

**2. テストイベントを送信する**

アプリケーションから、プロジェクトの取り込みキーで安全なテストログを1件送信します。ランタイムごとの手順は、[クイックスタート](https://docs.logbrew.co/ja/quickstart.md)か [SDK 連携](https://docs.logbrew.co/ja/guides/sdk-ingestion.md)に従います。課題もテストするには、処理済みのテストエラーを1件送信します。

**確認ポイント**：SDK が `2xx` のステータスを報告します。これは、LogBrew がリクエストを受け付けたことを示します。次の手順に進みます。

**3. イベントを読み戻す**

読み取りキーを、このシェルだけの `LOGBREW_TOKEN` に読み込みます。次に、プロジェクトを読み取ります。

```bash theme={null}
export LOGBREW_TOKEN="$(< "$HOME/.logbrew/setup-check.read")"

logbrew read logs --since 1h --json
logbrew issues --since 1h --json
logbrew read traces --since 1h --json
```

どの読み取りも、キーが属するプロジェクトのデータだけを返します。そのため、`--project` は必要ありません。テストイベントに合わせて、`--service`、`--environment`、`--release` を追加します。

**確認ポイント**：テストログが、サービス、環境、リリースとともに表示されます。テストエラーは課題として表示されます。これは、LogBrew がイベントを保存し、それを読み取れることを示します。

終わったら、`unset LOGBREW_TOKEN` を実行します。CLI は、再びアカウントのアクセス権を使います。

**4. 読み取りキーを無効化する**

不要になったキーは無効化します。この手順にはアカウントのアクセス権が必要なので、先に `LOGBREW_TOKEN` を解除します。

```bash theme={null}
unset LOGBREW_TOKEN

logbrew projects keys revoke "$LOGBREW_PROJECT_ID" "<key_id>" --yes --json
```

**確認ポイント**：結果に `status: "revoked"` が含まれます。キーは次のリクエストから使えなくなります。

## CI ジョブやエージェントに読み取りのアクセス権を与える

1つのプロジェクトを読み取る CI ジョブやコーディングエージェントには、専用の読み取りキーを用意します。キーは、CI システムやエージェント環境のシークレットストアに保存します。キーを `LOGBREW_TOKEN` として使えるようにします。キーをプロンプト、リポジトリ、コマンドの出力に入れないでください。

これで、ジョブやエージェントは、`logbrew issues --json`、`logbrew issue "<issue_id>" --json`、`logbrew read trace "<trace_id>"` などの読み取りを実行できます。プロジェクト、キー、アカウントのコマンドには、アカウントのアクセス権が必要です。API クライアントは、[テレメトリ API](https://docs.logbrew.co/ja/reference/telemetry-api.md) のテレメトリの読み取りに、キーを Bearer トークンとして送信します。

ジョブやエージェントごとに、別々のキーを使います。そうすれば、1つのキーを無効化しても、ほかのキーには影響しません。

## 読み取りに失敗したときに回復する

| 結果 | 次の操作 |
| - | - |
| 一覧が空 | 数秒待ってから、もう一度読み取ります。期間にテストイベントが含まれていることを確認します。読み取りキーとアプリケーションの取り込みキーが、同じプロジェクトに属していることを確認します。ログからは課題は作成されません。 |
| `401`、`code: "unauthorized"` | 読み取りキーが無効化されたか、期限切れか、正しくありません。新しい読み取りキーを作成します。 |
| `403`、`code: "forbidden"` | コマンドにアカウントのアクセス権が必要か、別のプロジェクトを指定しています。`--project` を外すか、`LOGBREW_TOKEN` を解除してアカウントのアクセス権を使います。 |
| `logbrew status` がアカウントのアクセス権がないと報告する | `status` が確認するのは、アカウントのアクセス権だけです。読み取りキーをテストするには、読み取りコマンドを実行します。 |

それでもテレメトリが見つからない場合は、[最初のテレメトリの確認](https://docs.logbrew.co/ja/guides/troubleshooting.md#recover-missing-first-telemetry)を使います。取り込みキーを置き換えるには、[取り込みキーのローテーション](https://docs.logbrew.co/ja/guides/rotate-ingest-key.md)を参照してください。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.