Proyek dalam Simple Log Service adalah unit yang digunakan untuk mengelola sumber daya seperti penyimpanan log, penyimpanan metrik, dan grup mesin. Anda dapat menggunakan titik akhir dari sebuah proyek untuk mengakses sumber daya Simple Log Service. Topik ini menjelaskan cara membuat, memodifikasi, menanyakan, dan menghapus proyek dengan menggunakan Simple Log Service SDK untuk Python serta menyediakan kode contoh.
Prasyarat
Simple Log Service telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan Simple Log Service.
Pengguna Resource Access Management (RAM) dibuat, dan izin yang diperlukan diberikan kepada pengguna RAM tersebut. Untuk informasi lebih lanjut, lihat Buat Pengguna RAM dan Berikan Izin kepada Pengguna RAM.
Variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi. Untuk informasi lebih lanjut, lihat Konfigurasikan Variabel Lingkungan di Linux, macOS, dan Windows.
PentingPasangan AccessKey dari akun Alibaba Cloud memiliki izin untuk semua operasi API. Kami merekomendasikan agar Anda menggunakan pasangan AccessKey dari pengguna RAM untuk memanggil operasi API atau melakukan pemeliharaan rutin O&M.
Kami merekomendasikan agar Anda tidak menyimpan ID AccessKey atau rahasia AccessKey dalam kode proyek Anda. Jika tidak, pasangan AccessKey mungkin bocor, dan keamanan semua sumber daya dalam akun Anda mungkin terganggu.
Simple Log Service SDK untuk Python telah diinstal. Untuk informasi lebih lanjut, lihat Instal Simple Log Service SDK untuk Python.
Catatan penggunaan
Dalam contoh ini, titik akhir publik Simple Log Service untuk wilayah Tiongkok (Hangzhou) digunakan, yaitu https://cn-hangzhou.log.aliyuncs.com. Jika Anda ingin mengakses Simple Log Service dengan menggunakan layanan Alibaba Cloud lainnya yang berada di wilayah yang sama dengan proyek Anda, Anda dapat menggunakan titik akhir internal Simple Log Service, yaitu https://cn-hangzhou-intranet.log.aliyuncs.com. Untuk informasi lebih lanjut tentang wilayah dan titik akhir yang didukung oleh Simple Log Service, lihat Titik Akhir.
Contoh kode yang digunakan untuk membuat proyek
Berikut ini adalah contoh kode untuk membuat proyek bernama ali-test-project-python:
from aliyun.log import LogClient
import os
# Konfigurasikan variabel lingkungan. Dalam contoh ini, ID AccessKey dan rahasia AccessKey diperoleh dari variabel lingkungan.
accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
# Titik akhir Simple Log Service. Dalam contoh ini, titik akhir Simple Log Service untuk wilayah Tiongkok (Hangzhou) digunakan. Ganti nilai parameter dengan titik akhir sebenarnya.
endpoint = "cn-hangzhou.log.aliyuncs.com"
# Buat klien Simple Log Service.
client = LogClient(endpoint, accessKeyId, accessKey)
# Nama proyek.
project_name = "ali-test-project-python"
# Buat proyek.
def create_project():
print("siap untuk membuat proyek %s" %project_name)
client.create_project(project_name, project_des="ini adalah proyek yang dibuat dari ide.")
print("buat proyek %s berhasil " %project_name)
# Tanyakan proyek.
def get_project():
print("siap untuk mendapatkan proyek")
res = client.get_project(project_name)
print("nama proyek adalah :" + res.get_projectname())
print("wilayah proyek adalah :" + res.get_region())
print("waktu pembuatan proyek adalah :" + res.get_create_time())
print("status proyek adalah :" + res.get_status())
print("deskripsi proyek adalah :" + res.get_description())
print("dapatkan proyek berhasil ")
if __name__ == '__main__':
# Buat proyek.
create_project()
# Tanyakan proyek.
get_project()Hasil yang Diharapkan:
siap untuk membuat proyek ali-test-project-python
buat proyek ali-test-project-python berhasil
siap untuk mendapatkan proyek
nama proyek adalah :ali-test-project-python
wilayah proyek adalah :cn-hangzhou
waktu pembuatan proyek adalah :2022-12-12 17:45:57
status proyek adalah :Normal
deskripsi proyek adalah :ini adalah proyek yang dibuat dari ide.
dapatkan proyek berhasilContoh kode yang digunakan untuk menanyakan semua proyek
Berikut ini adalah contoh kode untuk menanyakan semua proyek:
from aliyun.log import LogClient, ListProjectResponse
import os
# Konfigurasikan variabel lingkungan. Dalam contoh ini, ID AccessKey dan rahasia AccessKey diperoleh dari variabel lingkungan.
accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
# Titik akhir Simple Log Service. Dalam contoh ini, titik akhir Simple Log Service untuk wilayah Tiongkok (Hangzhou) digunakan. Ganti nilai parameter dengan titik akhir sebenarnya.
endpoint = "cn-hangzhou.log.aliyuncs.com"
# Buat klien Simple Log Service.
client = LogClient(endpoint, accessKeyId, accessKey)
if __name__ == '__main__':
# Tanyakan semua proyek.
print("siap untuk mencantumkan proyek")
res = client.list_project(0, 100, "")
for project in res.get_projects():
print(project)
print("daftar proyek berhasil")Hasil yang Diharapkan:
siap untuk mencantumkan proyek
{'projectName': 'ali-test-project-python', 'status': 'Normal', 'owner': '', 'description': '', 'region': 'cn-hangzhou', 'createTime': '1660810539', 'lastModifyTime': '1665978308'}
{'projectName': 'acktest', 'status': 'Normal', 'owner': '', 'description': '', 'region': 'cn-hangzhou', 'createTime': '1659084879', 'lastModifyTime': '1665978308'}
{'projectName': 'k8s-log-c143ee0f20b634206bf931507e0785394', 'status': 'Normal', 'owner': '', 'description': '', 'region': 'cn-hangzhou', 'createTime': '1659078881', 'lastModifyTime': '1665978308'}
{'projectName': 'sls-alert-1379186349531844-cn-hangzhou', 'status': 'Normal', 'owner': '', 'description': '', 'region': 'cn-hangzhou', 'createTime': '1658715011', 'lastModifyTime': '1665978308'}
{'projectName': 'k8s-log-c16bb522e6c794809bcc87182ea45246a', 'status': 'Normal', 'owner': '', 'description': 'proyek log k8s, dibuat oleh pengontrol log cloud alibaba', 'region': 'cn-hangzhou', 'createTime': '1657265089', 'lastModifyTime': '1665978308'}
daftar proyek berhasilContoh kode yang digunakan untuk menanyakan log dalam proyek
Berikut ini adalah contoh kode untuk menanyakan log dari Logstore tertentu dalam proyek tertentu:
from aliyun.log import LogClient, GetProjectLogsRequest
import os
# Konfigurasikan variabel lingkungan. Dalam contoh ini, ID AccessKey dan rahasia AccessKey diperoleh dari variabel lingkungan.
accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
# Titik akhir Simple Log Service. Dalam contoh ini, titik akhir Simple Log Service untuk wilayah Tiongkok (Hangzhou) digunakan. Ganti nilai parameter dengan titik akhir sebenarnya.
endpoint = "cn-hangzhou.log.aliyuncs.com"
# Buat klien Simple Log Service.
client = LogClient(endpoint, accessKeyId, accessKey)
# Nama proyek.
project_name = "ali-test-project"
# Nama Logstore.
logstore_name = "ali-test-logstore"
if __name__ == '__main__':
print("siap untuk mendapatkan log proyek" + project_name)
# Pernyataan SQL yang digunakan untuk menanyakan 10 host teratas yang memulai permintaan paling banyak dalam rentang waktu tertentu.
sql = "SELECT host, COUNT(*) as pv FROM " + logstore_name + " where __time__ > 1670899865 and __time__ <1670900765 group by host order by pv limit 10"
request = GetProjectLogsRequest(project_name, sql, False)
response = client.get_project_logs(request)
print(response)
for QueriedLog in response.get_logs():
print(QueriedLog.get_contents())
print("dapatkan log proyek %s berhasil " %project_name)Hasil yang Diharapkan:
siap untuk mendapatkan log proyek ali-test-project
{'host': 'www.example.aliyundoc.com', 'pv': '1'}
{'host': 'www.demo.aliyundoc.com', 'pv': '1'}
{'host': 'www.learn.aliyundoc.com', 'pv': '1'}
{'host': 'www.guide.aliyundoc.com', 'pv': '1'}
{'host': 'www.developer.aliyundoc.com', 'pv': '1'}
{'host': 'www.pull.aliyundoc.com', 'pv': '1'}
{'host': 'www.push.aliyundoc.com', 'pv': '1'}
{'host': 'www.playback.aliyundoc.com', 'pv': '1'}
{'host': 'www.replay.aliyundoc.com', 'pv': '1'}
{'host': 'www.webview.aliyundoc.com', 'pv': '1'}
dapatkan log proyek ali-test-project berhasilContoh kode yang digunakan untuk menghapus proyek
Berikut ini adalah contoh kode untuk menghapus proyek ali-test-project-python:
from aliyun.log import LogClient
import os
# Konfigurasikan variabel lingkungan. Dalam contoh ini, ID AccessKey dan rahasia AccessKey diperoleh dari variabel lingkungan.
accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
# Titik akhir Simple Log Service. Dalam contoh ini, titik akhir Simple Log Service untuk wilayah Tiongkok (Hangzhou) digunakan. Ganti nilai parameter dengan titik akhir sebenarnya.
endpoint = "cn-hangzhou.log.aliyuncs.com"
# Buat klien Simple Log Service.
client = LogClient(endpoint, accessKeyId, accessKey)
if __name__ == '__main__':
# Nama proyek.
project_name = "ali-test-project-python"
# Hapus proyek.
print("siap untuk menghapus proyek")
client.delete_project(project_name)
print("hapus proyek %s berhasil " %project_name)Hasil yang Diharapkan:
siap untuk menghapus proyek
hapus proyek ali-test-project-python berhasilReferensi
Jika respons yang dikembalikan oleh Simple Log Service berisi informasi kesalahan setelah Anda memanggil operasi API, panggilan gagal. Anda dapat menangani kesalahan berdasarkan kode kesalahan yang dikembalikan saat panggilan API gagal. Untuk informasi lebih lanjut, lihat Kode Kesalahan.
Simple Log Service juga kompatibel dengan SDK Alibaba Cloud. Untuk informasi lebih lanjut, lihat Simple Log Service_SDK Center_Alibaba Cloud OpenAPI Explorer.
Simple Log Service menyediakan antarmuka baris perintah (CLI) untuk memenuhi persyaratan konfigurasi otomatis dalam Simple Log Service. Untuk informasi lebih lanjut, lihat Ikhtisar CLI Simple Log Service.
Untuk informasi lebih lanjut tentang operasi API terkait proyek, lihat topik-topik berikut:
Untuk informasi lebih lanjut tentang contoh kode, lihat Alibaba Cloud Simple Log Service SDK untuk Python di GitHub.