SDK參考概述
開發(fā)人員可以使用.NET、.NET Core、Java、Python、PHP、Node.js、C、Go、iOS、Android、C++等語(yǔ)言的SDK采集、查詢和分析日志等。
使用前須知
不同語(yǔ)言的日志服務(wù)SDK具體實(shí)現(xiàn)細(xì)節(jié)會(huì)有所不同,但是它們都是日志服務(wù)API在不同語(yǔ)言上的封裝,實(shí)現(xiàn)的功能也基本一致。具體包括如下幾個(gè)方面:
實(shí)現(xiàn)對(duì)日志服務(wù)API接口的統(tǒng)一封裝 ,讓您不需要關(guān)心具體的API請(qǐng)求構(gòu)建和響應(yīng)解析。而且各個(gè)不同語(yǔ)言的接口使用也非常接近,方便您在不同語(yǔ)言間切換。更多信息,請(qǐng)參見(jiàn)接口規(guī)范。
實(shí)現(xiàn)日志服務(wù)API的數(shù)字簽名邏輯,讓您不需要關(guān)心API的簽名邏輯細(xì)節(jié),降低使用日志服務(wù)API的難度。更多信息,請(qǐng)參見(jiàn)請(qǐng)求簽名。
實(shí)現(xiàn)日志服務(wù)日志的ProtoBuffer格式封裝,讓您在寫入日志時(shí)不需要關(guān)心ProtoBuffer格式的具體細(xì)節(jié)。更多信息,請(qǐng)參見(jiàn)ProtoBuffer格式。
實(shí)現(xiàn)日志服務(wù)API中定義的壓縮方法,讓您不用關(guān)心壓縮實(shí)現(xiàn)的細(xì)節(jié)。部分語(yǔ)言的SDK支持啟用壓縮模式寫入日志(默認(rèn)為使用壓縮方式)。
提供統(tǒng)一的錯(cuò)誤處理機(jī)制,讓您可以使用語(yǔ)言所熟悉的方式處理請(qǐng)求異常。更多信息,請(qǐng)參見(jiàn)錯(cuò)誤處理機(jī)制。
目前所有語(yǔ)言實(shí)現(xiàn)的SDK僅提供同步請(qǐng)求方式。
SDK列表
下表列舉了日志服務(wù)不同語(yǔ)言的SDK的參考文檔和GitHub源碼。
日志服務(wù)對(duì)基礎(chǔ)資源(例如Project個(gè)數(shù)、Logstore個(gè)數(shù)、Shard個(gè)數(shù)、LogItem大小)設(shè)定了合理的限制。建議您在使用前閱讀使用限制文檔,了解基礎(chǔ)資源的使用限制。更多信息,請(qǐng)參見(jiàn)基礎(chǔ)資源使用限制。
使用SDK采集日志到日志服務(wù)后,您還需要為日志配置合適的索引,之后您就可以進(jìn)行日志查詢和分析、數(shù)據(jù)加工等操作。更多信息,請(qǐng)參見(jiàn)創(chuàng)建索引和查詢和分析日志。
SDK語(yǔ)言 | 參考文檔 | GitHub源碼 |
Java | ||
.NET Core | ||
.NET | ||
PHP | ||
Python | ||
Node.js | ||
C | ||
GO | ||
iOS | ||
Android | ||
C++ |
調(diào)用示例
具體調(diào)用示例參考Python SDK調(diào)用日志服務(wù)ListProject接口查詢Project信息。
常見(jiàn)問(wèn)題
日志服務(wù)SDK都支持哪些功能?
日志服務(wù)SDK已經(jīng)實(shí)現(xiàn)日志服務(wù)大部分功能,包括日志采集、創(chuàng)建索引、查詢和分析、數(shù)據(jù)加工、日志消費(fèi)、日志投遞管理、告警、定時(shí)SQL等。若您在SDK調(diào)試中發(fā)現(xiàn)未實(shí)現(xiàn)功能,建議您升級(jí)到最新版本SDK重試或關(guān)注后續(xù)SDK版本更新。
使用日志服務(wù)SDK的基本流程是什么?
日志服務(wù)SDK提供全流程的日志管理,其使用流程和控制臺(tái)使用流程基本相似。其使用基本流程大致如下:
開通日志服務(wù)。
獲取訪問(wèn)密鑰。
創(chuàng)建項(xiàng)目Project和日志庫(kù)Logstore。
日志采集并存儲(chǔ)至Logstore。
為日志創(chuàng)建索引。
查詢和分析日志,可視化展示。
對(duì)日志數(shù)據(jù)進(jìn)行加工、投遞和告警等操作。
日志服務(wù)提供界面化操作控制臺(tái),操作更簡(jiǎn)單。更多信息,請(qǐng)參考日志服務(wù)快速入門。
SDK調(diào)試常見(jiàn)報(bào)錯(cuò)如何處理?
日志服務(wù)SDK提供錯(cuò)誤處理邏輯。SDK可能出現(xiàn)的異常錯(cuò)誤可以分成如下幾類:
由日志服務(wù)端返回的錯(cuò)誤。這類錯(cuò)誤由日志服務(wù)端返回并由SDK處理。關(guān)于這類錯(cuò)誤的詳細(xì)信息可以參見(jiàn)具體的API接口說(shuō)明、API錯(cuò)誤碼。關(guān)于錯(cuò)誤碼的更多信息,請(qǐng)參見(jiàn)錯(cuò)誤碼。
由SDK在向服務(wù)端發(fā)出請(qǐng)求時(shí)出現(xiàn)的網(wǎng)絡(luò)錯(cuò)誤。這類錯(cuò)誤包括網(wǎng)絡(luò)連接不通,服務(wù)端返回超時(shí)等。
由SDK自身產(chǎn)生的、與平臺(tái)及語(yǔ)言相關(guān)的錯(cuò)誤,如內(nèi)存溢出等。
更多信息,請(qǐng)參見(jiàn)錯(cuò)誤處理。
在使用日志服務(wù)SDK過(guò)程中,您可能遇到日志采集、索引、查詢和分析、加工等各類報(bào)錯(cuò),您可以參考日志服務(wù)常見(jiàn)問(wèn)題進(jìn)行處理。更多信息,請(qǐng)參見(jiàn)常見(jiàn)問(wèn)題。
使用日志服務(wù)SDK是否存在限制?
日志服務(wù)對(duì)基礎(chǔ)資源(例如Project個(gè)數(shù)、Logstore個(gè)數(shù)、Shard個(gè)數(shù)、LogItem大小)設(shè)定了合理的限制。建議您在使用前閱讀使用限制文檔,了解基礎(chǔ)資源的使用限制。更多信息,請(qǐng)參見(jiàn)基礎(chǔ)資源使用限制。
使用SDK采集日志到日志服務(wù)后,您還需要為日志配置合適的索引,之后您就可以進(jìn)行日志查詢和分析、數(shù)據(jù)加工等操作。更多信息,請(qǐng)參見(jiàn)創(chuàng)建索引和查詢和分析日志。
是否有使用SDK的代碼示例文檔?
日志服務(wù)提供典型常用操作的代碼示例文檔,請(qǐng)參考各SDK參考幫助文檔。
日志服務(wù)Java SDK:
日志服務(wù)Python SDK:
更多源碼,請(qǐng)參見(jiàn)GitHub阿里云源碼庫(kù)。
相關(guān)文檔
日志服務(wù)SDK調(diào)試平臺(tái)
阿里云OpenAPI開發(fā)者門戶提供調(diào)試、SDK、示例和配套文檔。通過(guò)OpenAPI,您無(wú)需手動(dòng)封裝請(qǐng)求和簽名操作,就可以快速對(duì)日志服務(wù)API進(jìn)行調(diào)試。更多信息,請(qǐng)參見(jiàn)OpenAPI開發(fā)者門戶。
命令行工具CLI
為滿足越來(lái)越多的自動(dòng)化日志服務(wù)配置需求,日志服務(wù)提供命令行工具CLI。更多信息,請(qǐng)參見(jiàn)命令行工具CLI。
費(fèi)用說(shuō)明
使用SDK、OpenAPI開發(fā)者門戶和日志服務(wù)CLI產(chǎn)生的費(fèi)用和使用控制臺(tái)產(chǎn)生的費(fèi)用一致。更多信息,請(qǐng)參見(jiàn)計(jì)費(fèi)概述。