ビュー:

Trend Vision One向けGo SDKのAPIリファレンスFile Security

新しいインスタンスの作成

クライアントオブジェクトの新しいインスタンスを作成し、認証/認可認証情報(APIキー) や優先サービスリージョンなどの重要な設定をプロビジョニングします。
func NewClient(key string, region string) (c *AmaasClient, e error)

パラメータ

パラメータ
説明
キー (文字列)
環境変数がTM_AM_AUTH_KEYが設定されていません。
地域
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)
検索に使用するタグ。使用できるタグの最大数は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 。また、不正プログラムが検出された場合は、不正プログラムが見つかりましたの名前/値のペアが1つ以上含まれている空ではありません。ファイル名そしてマルウェア名ファイル名は検出された不正プログラムのファイル名です。マルウェア名は、検出されたウイルス/不正プログラムの名前です。
エラー条件
  • 認証が無効です
  • 無効なパスが指定されました
  • 要求がタイムアウトしました (期限を超えました)
  • 互換性のないクライアントが使用されました
  • サービスに到達できません
  • クライアントの操作準備ができていません

クライアントが使用する内部リソースを解放しています

クライアントが使用している内部リソースを解放します。検索が終了し、クライアントオブジェクトが不要になった後にのみ呼び出す必要があります。
func (ac *AmaasClient) Destroy()

ログレベルの設定

SDKのアクティブログレベルを設定できます。この変更はすべてのクライアントインスタンスにグローバルに適用されます。デフォルトレベルはLogLevelOffで、すべてのログが無効になります。ログが有効になっている場合、ConfigLoggingCallback ()を使用してカスタムログを設定しない限り、ログはstdoutに書き込まれます。

パラメータ

パラメータ
説明
レベル (LogLevel)
有効な値は次のとおりです。
  • LogLevelOff
  • LogLevelFatal
  • LogLevelError
  • LogLevelWarning
  • ログレベル情報
  • LogLevelDebug
。初期設定のレベルはLogLevelOff

カスタムログの設定

SDKがログを記録したい場合に呼び出されるカスタムコールバック関数を使用して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()メソッドはスレッドセーフではないため、すべての検索ルーチンの完了時にのみ呼び出す必要があります。