すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:HarmonyOS SDK クイックスタート

最終更新日:Jun 18, 2026

Simple Log Service の HarmonyOS SDK を使用して、HarmonyOS デバイスからログデータを収集します。

前提条件

Simple Log Service の HarmonyOS SDK がインストールされていること。 詳細については、「HarmonyOS SDK のインストール」をご参照ください。

SDK の初期化

次のコードを使用して SDK を初期化します。

import { AliyunLog, LogCallback } from "@aliyunsls/producer"

let aliyunLog: AliyunLog = new AliyunLog(
  "<your endpoint>",
  "<your project>",
  "<your logstore>",
  "<your accesskey id>",
  "<your accesskey secret>",
  "<your accesskey token>" // STS 経由で AccessKey を取得した場合にのみ必要です。
);

次の表に各パラメーターの説明を示します。

変数

説明

endpoint

エンドポイントは Simple Log Service にアクセスするためのドメイン名です。 エンドポイントはプロジェクトのリージョンによって異なります。 詳細については、「エンドポイント」をご参照ください。

cn-hangzhou.log.aliyuncs.com

project

[プロジェクト名]:プロジェクトは Simple Log Service でのリソース管理単位です。 ユーザーの分離とアクセス制御の主要な境界となります。 詳細については、「プロジェクトの管理」をご参照ください。

test-project

Logstore

[Logstore 名]:Logstore は、Simple Log Service でログデータを収集、保存、クエリするための単位です。 詳細については、「Logstore の管理」をご参照ください。

test-logstore

AccessKey ID

AccessKey ID は、ユーザーを識別するために使用します。 詳細については、「AccessKey ペア」をご参照ください。

最小権限の原則に従い、RAM ユーザーには必要な権限のみを付与してください。 権限を付与する方法の詳細については、「RAM ユーザーの作成と権限の付与」および「カスタム RAM 認証の例」をご参照ください。

なし

AccessKey Secret

AccessKey Secret は、署名文字列を暗号化するために使用するキーです。 Simple Log Service はこのキーを使用して署名文字列を検証します。 AccessKey Secret は機密情報として扱ってください。

なし

accesskey token

AccessKey トークン。 STS 経由で AccessKey を取得した場合にのみ必要です。

ログの送信

addLog メソッドを使用して、カスタムビジネスログを送信します。

let code = aliyunLog.addLog(new Map(
  [
    ["key1", "value1"],
    ["key2", "value2"],
    ["key3", "value3"],
  ]
));

code == 0 の場合にのみ、ログは正常に送信されます。 その他のステータスコードの詳細については、「ステータスコード」をご参照ください。

AccessKey の設定

SDK は動的な AccessKey の更新をサポートしています。 次のコードを使用して AccessKey を更新します。

aliyunLog.setAccessKey(
    "<your accesskey id>", // 正しい AccessKey ID を入力します。
    "<your accesskey secret>", // 正しい AccessKey Secret を入力します。
    null // 正しい AccessKey トークンを入力します。 STS 経由で AccessKey を取得した場合にのみ必要です。
);

ログ送信コールバックの設定

ログ送信コールバックを設定して、各ログ配信試行のステータス通知を受信できます。 コールバックを使用して、SDK の操作を監視したり、パラメーターを更新したりします。

class MyLogCallback implements LogCallback {

    init() {
        aliyunLog.setLogCallback(this);
    }

    onLogCallback(logStore:string, code:number, logBytes:number, compressedBytes:number, errorMessage:string) {
        // エラーコード 6 は、AccessKey が無効であることを示します。
        // エラーコード 11 は、パラメーター設定のエラーを示します。
        if (code == 6 || code == 11) {
            aliyunLog.setAccessKey(
                    "<your accesskey id>", // 正しい AccessKey ID を入力します。
                    "<your accesskey secret>", // 正しい AccessKey Secret を入力します。
                    null // 正しい AccessKey トークンを入力します。 STS 経由で AccessKey を取得した場合にのみ必要です。
            );
        }
    }
}

ステータスコード

ステータスコード

説明

ソリューション

0

成功

正常。 アクションは不要です。

1

SDK が破棄されたか、無効です。

SDK の初期化が失敗したかどうかを確認してください。

2

データ書き込みエラー。

プロジェクトが書き込みトラフィックの上限に達しました。 上限の引き上げが必要な場合は、してテクニカルサポートにお問い合わせください。

3

キャッシュがいっぱいです。

してテクニカルサポートにお問い合わせください。

4

ネットワークエラー。

ネットワーク接続を確認し、操作を再試行してください。

5

プロジェクトの書き込みクォータがいっぱいです。

プロジェクトが書き込みトラフィックの上限に達しました。 上限の引き上げが必要な場合は、してテクニカルサポートにお問い合わせください。

6

AccessKey の有効期限が切れているか、無効です。

AccessKey の有効期限が切れているか、無効であるか、または AccessKey が属するアカウントのアクセスポリシーが正しくありません。 RAM ユーザーのアクセスポリシーを確認してください。 RAM ユーザーには、Simple Log Service リソースに対する操作を実行する権限が必要です。 詳細については、「RAM ユーザーへの権限付与」をご参照ください。

7

サービスエラー。

サービスに障害が発生しました。 してテクニカルサポートにお問い合わせください。

8

データは破棄されます。

このエラーは通常、デバイスの時刻がサーバーの時刻と同期していないために発生します。 SDK はデータを自動的に再送信します。

9

デバイスの時刻がサーバーの時刻と同期していません。

デバイスの時刻がサーバーの時刻と同期していません。 SDK がこの問題を自動的に解決します。

10

SDK が破棄されたときに、キャッシュされたデータが送信されませんでした。

これにより、データ損失が発生する可能性があります。 データ損失を防ぐために、再開可能なアップロード機能を有効にすることができます。

11

SDK の初期化パラメーターエラー。

このエラーは通常、AccessKey が設定されていないか、エンドポイント、プロジェクト、または Logstore が正しく設定されていないために発生します。 パラメーター設定を確認して、再試行してください。

99

キャッシュされたデータのディスクへの書き込みに失敗しました。

キャッシュファイルのパスが正しくない、キャッシュがいっぱいである、またはディスク容量が不足しているため、書き込み操作が失敗します。