本文介紹如何創建外部存儲,建立日志服務與OSS的關聯。
前提條件
功能優勢
與OSS進行關聯查詢分析,具有如下優勢:
節省費用:將更新頻率低的數據保存在OSS上,只需要支付少量的存儲費用,并且可以通過內網讀數據,免去流量費用。
降低運維工作:在輕量級的聯合分析平臺中,不需要搬遷數據到同一個存儲系統中。
節省時間:使用SQL分析數據,分析結果秒級可見,并可以將常用的分析結果定義為報表,打開即可看到結果。
操作步驟
登錄日志服務控制臺。
在Project列表區域,單擊目標Project。
在控制臺左側,單擊日志存儲,在日志庫列表中單擊目標Logstore。
輸入查詢與分析語句,單擊查詢/分析。
通過SQL定義虛擬外部表,映射到OSS文件。
* | create table <External storage> (<Schema>) with (endpoint='oss-cn-${your_region_name}-internal.aliyuncs.com',accessid='<your accessid>',accesskey ='<your accesskey>',bucket='<your bucket name>',objects=ARRAY['*.csv'],type='oss')
在查詢分析語句中定義外部存儲名稱External storage、表的Schema等信息,并通過WITH語法指定OSS訪問信息及文件信息,詳細信息如下表所示。
配置項
說明
示例
外部存儲名稱External storage
外部存儲名稱,即虛擬表的名稱。
user_meta1
表的Schema
定義表的屬性,包括表的列名及格式。
(userid bigint, nick varchar, gender varchar, province varchar, age bigint)
endpoint
OSS內網訪問域名。更多信息,請參見訪問域名和數據中心。
oss-cn-hangzhou-internal.aliyuncs.com
accessid
阿里云賬號AccessKey ID和AccessKey Secret。建議您使用具備日志服務Project寫入權限的RAM用戶的AccessKey。授予RAM用戶向指定Project寫入數據權限的具體操作,請參見RAM自定義授權場景。如何獲取AccessKey的具體操作,請參見訪問密鑰。
LT****7V
accesskey
Y4****ZR
bucket
CSV文件所在的OSS Bucket名稱。
examplebucket
objects
CSV文件路徑。
說明objects為array類型,可以包含多個OSS文件。
user.csv
type
固定為oss,表示外部存儲類型為OSS。
oss
示例命令如下所示:
* | create table user_meta1 ( userid bigint, nick varchar, gender varchar, province varchar, age bigint) with ( endpoint='oss-cn-hangzhou.aliyuncs.com',accessid='LTAI5t8y9c113M7V****',accesskey='Y45H7bqvvgapWZR****',bucket='examplebucket',objects=ARRAY['user.csv'],type='oss')
如果執行結果中的result為true,表示執行成功。
驗證是否已成功定義外部存儲。
執行如下語句,其中,External storage為步驟4中定義的外部存儲名稱。返回結果為您之前定義的表內容,則表示已成功定義外部存儲。
* | select * from <External storage>
通過JOIN語法完成日志服務和OSS的聯合查詢。
例如,執行如下查詢分析語句關聯日志服務中日志的ID和OSS文件中的userid,補全日志信息。
說明采集的日志中需要包含參數userid。
* | select * from <logstore> l join <External storage> u on l.userid = u.userid
配置項
說明
示例
Logstore
需要查詢的Logstore的名稱。
test_logstore
External storage
步驟4中定義的外部存儲名稱。
user_meta1
關聯OSS數據源的最佳實踐請參見關聯Logstore與OSS外表進行查詢和分析。
相關文檔
本文介紹了創建外部數據源OSS Bucket的步驟,如果需要修改、刪除外部數據源,請調用UpdateOssExternalStore - 更新OSS外部存儲和DeleteExternalStore - 刪除外部存儲配置。