檢視次數:

Trend Vision One 檔案安全的 Go SDK API 參考

建立新實例

創建客戶端對象的新實例,並配置基本設置,包括驗證/授權憑證(API 金鑰)和首選服務區域。
func NewClient(key string, region string) (c *AmaasClient, e error)

參數

參數
說明
金鑰 (字串)
如果未設置環境變數 TM_AM_AUTH_KEY,則必須提供有效的 API 金鑰。
區域
您獲取 API 金鑰的區域。提供的值必須是 Vision One 區域之一:
  • ap-northeast-1
  • ap-south-1
  • ap-southeast-1
  • ap-southeast-2
  • eu-central-1
  • us-east-1

返回值

參數 說明
c (*AmaasClient)
指向客戶端物件的指標。如果遇到錯誤則為 Nil
e (錯誤)
如果沒有遇到錯誤則為 Nil;否則為非 Nil。
錯誤條件
  • 驗證無效
  • 無效的區域

提交內容

提交檔案或緩衝區的內容以進行掃描。
func (ac *AmaasClient) ScanFile(filePath string, tags []string) (resp string, e error)
func (ac *AmaasClient) ScanBuffer(buffer []byte, identifier string, tags []string) (resp string, e error)

參數

參數
說明
文件路徑 (string)
要掃瞄的檔案路徑
緩衝區 ([]byte)
包含要掃瞄的資料緩衝區
識別碼 (字串)
呼叫者選擇的字串與掃瞄相關,將在 JSON 回應中作為 fileName 名稱/值的一部分返回;可以為空
標籤 ([]string)
用於掃描的標籤。您最多可以使用 8 個標籤,每個標籤的長度不能超過 63。

返回值

參數
說明
resp (字串)
描述掃瞄結果的 JSON 格式回應。
e (錯誤)
如果沒有遇到錯誤則為 Nil;否則為非 Nil。
範例 JSON 回應
{
  "scannerVersion":"1.0.0-27",
  "schemaVersion":"1.0.0",
  "scanResult": 1,
  "scanId": "25072030425f4f4d68953177d0628d0b",
  "scanTimestamp": "2022-11-02T00:55:31Z",
  "fileName": "EICAR_TEST_FILE-1.exe",
  "filePath": "AmspBvtTestSamples/BVT_RightClickScan_DS/unclean/EICAR_TEST_FILE-1.exe",
  "foundMalwares": [
    {
      "fileName": "Eicar.exe",
      "malwareName": "Eicar_test_file"
    }
  ],
  "fileSHA1":"fc7042d1d8bbe655ab950355f86a81ded9ee4903",
  "fileSHA256":"1b9f8773919a1770fec35e2988650fde3adaae81a3ac2ad77b67cafd013afcdc"
}
當在掃描對象中檢測到惡意內容時,scanResult 將顯示非零值。否則,該值將為 0。此外,當檢測到惡意程式時,foundMalwares 將包含一個或多個 fileNamemalwareName 的名稱/值對。fileName 將是檢測到的惡意程式的檔案名稱,而 malwareName 將是發現的病毒/惡意程式的名稱。
錯誤條件
  • 驗證無效
  • 指定的路徑無效
  • 請求超時(超過期限)
  • 使用了不相容的客戶端
  • 服務無法連接
  • 客戶端尚未準備好進行操作

釋放用戶端使用的內部資源

釋放用戶端使用的內部資源。應該在完成掃描且不再需要用戶端物件後才調用。
func (ac *AmaasClient) Destroy()

配置日誌級別

您可以配置 SDK 的活動日誌級別。此更改將全局應用於所有客戶端實例。默認級別為 LogLevelOff,對應於所有日誌已禁用。如果日誌已啟動,除非使用 ConfigLoggingCallback() 配置自定義日誌,否則日誌將寫入 stdout。

參數

參數
說明
級別 (LogLevel)
有效值為
  • LogLevelOff
  • LogLevelFatal
  • LogLevelError
  • LogLevelWarning
  • LogLevelInfo
  • LogLevelDebug
. 預設等級是 LogLevelOff

設定自訂記錄

您可以透過提供自訂回呼函數來設定自訂日誌記錄,該函數會在 SDK 想要記錄日誌時被調用。
func ConfigLoggingCallback(f func(level LogLevel, levelStr string, format string, a ...interface{}))

參數

參數
說明
f (函數)
具有原型的函數
func(level LogLevel, levelStr string, format string, a
    ...interface{})

執行緒安全性

ScanFile()ScanBuffer() 被設計為線程安全。您應該能夠從多個線程同時調用 ScanFile(),而無需使用互斥鎖或其他同步機制來保護 ScanFile()
Destroy() 方法不是執行緒安全的,因此應該只在所有掃瞄程序完成後才呼叫。