All Products
Search
Document Center

Simple Log Service:HarmonyOS SDK quick start

Last Updated:Jun 18, 2026

Kumpulkan data log dari perangkat HarmonyOS menggunakan Simple Log Service HarmonyOS SDK.

Prasyarat

Simple Log Service HarmonyOS SDK telah diinstal. Untuk informasi selengkapnya, lihat Install the HarmonyOS SDK.

Inisialisasi SDK

Gunakan kode berikut untuk menginisialisasi 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>" // Diperlukan hanya ketika AccessKey diperoleh melalui STS.
);

Tabel berikut menjelaskan parameter tersebut.

Variable

Description

Example

endpoint

Endpoint adalah nama domain untuk mengakses Simple Log Service. Endpoint bergantung pada wilayah proyek. Untuk informasi selengkapnya, lihat Endpoints.

cn-hangzhou.log.aliyuncs.com

project

Project name: Proyek adalah unit manajemen sumber daya dalam Simple Log Service. Proyek merupakan batas utama untuk isolasi pengguna dan kontrol akses. Untuk informasi selengkapnya, lihat Manage projects.

test-project

logstore

Logstore name: Logstore adalah unit dalam Simple Log Service untuk mengumpulkan, menyimpan, dan mengkueri data log. Untuk informasi selengkapnya, lihat Manage Logstores.

test-logstore

accesskey id

AccessKey ID digunakan untuk mengidentifikasi pengguna. Untuk informasi selengkapnya, lihat AccessKey pair.

Ikuti prinsip hak istimewa minimal dan berikan hanya izin yang diperlukan kepada Pengguna RAM. Untuk informasi tentang cara memberikan izin, lihat Create a RAM user and grant permissions dan Examples of custom RAM authorization.

None

accesskey secret

Rahasia AccessKey adalah kunci yang digunakan untuk mengenkripsi string signature. Simple Log Service menggunakan kunci ini untuk memverifikasi string signature. Simpan rahasia AccessKey Anda secara rahasia.

None

accesskey token

Token AccessKey. Ini diperlukan hanya ketika AccessKey diperoleh melalui STS.

Laporkan log

Gunakan metode addLog untuk melaporkan log bisnis kustom.

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

Log berhasil dilaporkan hanya jika code == 0. Untuk informasi selengkapnya tentang kode status lainnya, lihat Status codes.

Konfigurasi AccessKey

SDK mendukung pembaruan AccessKey secara dinamis. Gunakan kode berikut untuk memperbarui AccessKey:

aliyunLog.setAccessKey(
    "<your accesskey id>", // Masukkan ID AccessKey yang benar.
    "<your accesskey secret>", // Masukkan rahasia AccessKey yang benar.
    null // Masukkan token AccessKey yang benar. Ini diperlukan hanya ketika AccessKey diperoleh melalui STS.
);

Tetapkan callback pengiriman log

Anda dapat menetapkan callback pengiriman log untuk menerima notifikasi status setiap upaya pengiriman log. Callback ini dapat digunakan untuk memantau operasi SDK atau memperbarui parameter.

class MyLogCallback implements LogCallback {

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

    onLogCallback(logStore:string, code:number, logBytes:number, compressedBytes:number, errorMessage:string) {
        // Kode kesalahan 6 menunjukkan bahwa AccessKey tidak valid.
        // Kode kesalahan 11 menunjukkan kesalahan konfigurasi parameter.
        if (code == 6 || code == 11) {
            aliyunLog.setAccessKey(
                    "<your accesskey id>", // Masukkan ID AccessKey yang benar.
                    "<your accesskey secret>", // Masukkan rahasia AccessKey yang benar.
                    null // Masukkan token AccessKey yang benar. Ini diperlukan hanya ketika AccessKey diperoleh melalui STS.
            );
        }
    }
}

Status codes

Status code

Description

Solution

0

Success

Normal. Tidak perlu tindakan apa pun.

1

SDK telah dihapus atau tidak valid.

Periksa apakah inisialisasi SDK gagal.

2

Kesalahan penulisan data.

Proyek telah mencapai batas trafik tulisnya. Jika Anda memerlukan batas yang lebih tinggi, submit a ticket untuk menghubungi dukungan teknis.

3

Cache penuh.

submit a ticket untuk menghubungi dukungan teknis.

4

Kesalahan jaringan.

Periksa konektivitas jaringan Anda dan coba lagi operasi tersebut.

5

Kuota tulis proyek penuh.

Proyek telah mencapai batas trafik tulisnya. Jika Anda memerlukan batas yang lebih tinggi, submit a ticket untuk menghubungi dukungan teknis.

6

AccessKey telah kedaluwarsa atau tidak valid.

AccessKey telah kedaluwarsa atau tidak valid, atau kebijakan akses akun tempat AccessKey tersebut berasal salah. Periksa kebijakan akses Pengguna RAM. Pengguna RAM harus memiliki izin untuk melakukan operasi pada resource Simple Log Service. Untuk informasi selengkapnya, lihat Grant permissions to a RAM user.

7

Kesalahan layanan.

Terjadi gangguan layanan. submit a ticket untuk menghubungi dukungan teknis.

8

Data dibuang.

Kesalahan ini biasanya terjadi karena waktu perangkat tidak tersinkronisasi dengan waktu server. SDK secara otomatis mengirim ulang data tersebut.

9

Waktu perangkat tidak tersinkronisasi dengan waktu server.

Waktu perangkat tidak tersinkronisasi dengan waktu server. SDK secara otomatis menyelesaikan masalah ini.

10

Data cache tidak dikirim saat SDK dihapus.

Hal ini dapat menyebabkan kehilangan data. Anda dapat mengaktifkan fitur unggah yang dapat dilanjutkan untuk mencegah kehilangan data.

11

Kesalahan parameter inisialisasi SDK.

Kesalahan ini biasanya terjadi karena AccessKey belum dikonfigurasi, atau endpoint, proyek, atau Logstore dikonfigurasi secara salah. Periksa pengaturan parameter dan coba lagi.

99

Gagal menulis data cache ke disk.

Operasi tulis gagal karena jalur file cache salah, cache penuh, atau ruang disk tidak mencukupi.