功能描述
根據文本類型的不同,文本庫分為關鍵詞文本庫和相似文本文本庫;根據管控目的不同,文本庫分為白名單、黑名單、疑似名單。關於參數的詳細資料,請參見自訂文本庫API文檔。
您需要使用Alibaba Content Security Service的API接入地址,調用本SDK介面。關於API接入地址的資訊,請參見接入地址(Endpoint)。
建立文本庫
建立關鍵詞文本庫
using System;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Green.Model.V20170823;
namespace csharp_sdk_sample
{
class Program
{
static void Main(string[] args)
{
/**
* 常見擷取環境變數方式:
* 擷取RAM使用者AccessKey ID:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
* 擷取RAM使用者AccessKey Secret:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
DefaultProfile profile = DefaultProfile.GetProfile(
"cn-shanghai",
"建議從環境變數中擷取RAM使用者AccessKey ID",
"建議從環境變數中擷取RAM使用者AccessKey Secret");
DefaultAcsClient client = new DefaultAcsClient(profile);
CreateKeywordLibRequest createKeywordLibRequest = new CreateKeywordLibRequest();
createKeywordLibRequest.ServiceModule = "open_api";
createKeywordLibRequest.Name = "測試關鍵詞文本庫";
// 設定為文本反垃圾情境使用。
createKeywordLibRequest.ResourceType = "TEXT";
// 設定類型為關鍵詞。
createKeywordLibRequest.LibType = "textKeyword";
// 設定建立黑庫。
createKeywordLibRequest.Category = "BLACK";
try
{
CreateKeywordLibResponse describeKeywordLibResponse = client.GetAcsResponse(createKeywordLibRequest);
Console.WriteLine(System.Text.Encoding.Default.GetString(describeKeywordLibResponse.HttpResponse.Content));
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
}
}
}
}
建立相似文本庫
using System;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Green.Model.V20170823;
namespace csharp_sdk_sample
{
class Program
{
static void Main(string[] args)
{
/**
* 常見擷取環境變數方式:
* 擷取RAM使用者AccessKey ID:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
* 擷取RAM使用者AccessKey Secret:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
DefaultProfile profile = DefaultProfile.GetProfile(
"cn-shanghai",
"建議從環境變數中擷取RAM使用者AccessKey ID",
"建議從環境變數中擷取RAM使用者AccessKey Secret");
DefaultAcsClient client = new DefaultAcsClient(profile);
CreateKeywordLibRequest createKeywordLibRequest = new CreateKeywordLibRequest();
createKeywordLibRequest.ServiceModule = "open_api";
createKeywordLibRequest.Name = "測試相似文本文本庫";
// 設定為文本反垃圾情境使用。
createKeywordLibRequest.ResourceType = "TEXT";
// 設定類型為相似文本。
createKeywordLibRequest.LibType = "similarText";
// 相似文本文本庫支援建立黑名單庫、白名單、疑似名單。
createKeywordLibRequest.Category = "BLACK";
try
{
CreateKeywordLibResponse describeKeywordLibResponse = client.GetAcsResponse(createKeywordLibRequest);
Console.WriteLine(System.Text.Encoding.Default.GetString(describeKeywordLibResponse.HttpResponse.Content));
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
}
}
}
}
修改文本庫
更新文本庫庫名以及修改文本庫所適用的業務情境(BizType)。
using System;
using Newtonsoft.Json;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Green.Model.V20170823;
using System.Collections.Generic;
namespace csharp_sdk_sample
{
class Program
{
static void Main(string[] args)
{
/**
* 常見擷取環境變數方式:
* 擷取RAM使用者AccessKey ID:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
* 擷取RAM使用者AccessKey Secret:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
DefaultProfile profile = DefaultProfile.GetProfile(
"cn-shanghai",
"建議從環境變數中擷取RAM使用者AccessKey ID",
"建議從環境變數中擷取RAM使用者AccessKey Secret");
DefaultAcsClient client = new DefaultAcsClient(profile);
UpdateKeywordLibRequest updateKeywordLibRequest = new UpdateKeywordLibRequest();
// 設定要操作的文本庫ID。
updateKeywordLibRequest.Id = 文本庫ID;
// 設定新的文本庫名稱。
updateKeywordLibRequest.Name = "測試修改名稱";
// 設定新的BizType。
updateKeywordLibRequest.BizTypes = JsonConvert.SerializeObject(new List<string> { "comment", "title" });
try
{
UpdateKeywordLibResponse updateKeywordLibResponse = client.GetAcsResponse(updateKeywordLibRequest);
Console.WriteLine(System.Text.Encoding.Default.GetString(updateKeywordLibResponse.HttpResponse.Content));
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
}
}
}
}
刪除文本庫
重要
刪除文本庫也將刪除文本庫下的文本。系統迴流的文本庫不允許刪除。
using System;
using Newtonsoft.Json;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Green.Model.V20170823;
using System.Collections.Generic;
namespace csharp_sdk_sample
{
class Program
{
static void Main(string[] args)
{
/**
* 常見擷取環境變數方式:
* 擷取RAM使用者AccessKey ID:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
* 擷取RAM使用者AccessKey Secret:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
DefaultProfile profile = DefaultProfile.GetProfile(
"cn-shanghai",
"建議從環境變數中擷取RAM使用者AccessKey ID",
"建議從環境變數中擷取RAM使用者AccessKey Secret");
DefaultAcsClient client = new DefaultAcsClient(profile);
DeleteKeywordLibRequest deleteKeywordLibRequest = new DeleteKeywordLibRequest();
// 設定要刪除的文本庫ID。
deleteKeywordLibRequest.Id = 文本庫ID;
try
{
DeleteKeywordLibResponse deleteKeywordLibResponse = client.GetAcsResponse(deleteKeywordLibRequest);
Console.WriteLine(System.Text.Encoding.Default.GetString(deleteKeywordLibResponse.HttpResponse.Content));
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
}
}
}
}
尋找文本
預設分頁查詢所有文本。如果設定了Keyword欄位,將模糊尋找包含該欄位值的文本。
using System;
using Newtonsoft.Json;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Green.Model.V20170823;
using System.Collections.Generic;
namespace csharp_sdk_sample
{
class Program
{
static void Main(string[] args)
{
/**
* 常見擷取環境變數方式:
* 擷取RAM使用者AccessKey ID:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
* 擷取RAM使用者AccessKey Secret:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
DefaultProfile profile = DefaultProfile.GetProfile(
"cn-shanghai",
"建議從環境變數中擷取RAM使用者AccessKey ID",
"建議從環境變數中擷取RAM使用者AccessKey Secret");
DefaultAcsClient client = new DefaultAcsClient(profile);
DescribeKeywordRequest describeKeywordRequest = new DescribeKeywordRequest();
// 要查詢的文本庫ID。
describeKeywordRequest.KeywordLibId = 文本庫ID;
describeKeywordRequest.PageSize = 10;
describeKeywordRequest.CurrentPage = 1;
// 可選,用於模糊查。
describeKeywordRequest.Keyword = "查詢文本";
try
{
DescribeKeywordResponse describeKeywordResponse = client.GetAcsResponse(describeKeywordRequest);
Console.WriteLine(System.Text.Encoding.Default.GetString(describeKeywordResponse.HttpResponse.Content));
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
}
}
}
}
添加文本
using System;
using Newtonsoft.Json;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Green.Model.V20170823;
using System.Collections.Generic;
namespace csharp_sdk_sample
{
class Program
{
static void Main(string[] args)
{
/**
* 常見擷取環境變數方式:
* 擷取RAM使用者AccessKey ID:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
* 擷取RAM使用者AccessKey Secret:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
DefaultProfile profile = DefaultProfile.GetProfile(
"cn-shanghai",
"建議從環境變數中擷取RAM使用者AccessKey ID",
"建議從環境變數中擷取RAM使用者AccessKey Secret");
DefaultAcsClient client = new DefaultAcsClient(profile);
CreateKeywordRequest createKeywordRequest = new CreateKeywordRequest();
// 設定文本庫ID。
createKeywordRequest.KeywordLibId = 文本庫ID;
// 要添加的文本。
createKeywordRequest.Keywords = JsonConvert.SerializeObject(new List<string> { "文本_1", "文本_2" });
try
{
CreateKeywordResponse createKeywordResponse = client.GetAcsResponse(createKeywordRequest);
Console.WriteLine(System.Text.Encoding.Default.GetString(createKeywordResponse.HttpResponse.Content));
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
}
}
}
}
刪除文本
using System;
using Newtonsoft.Json;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Green.Model.V20170823;
using System.Collections.Generic;
namespace csharp_sdk_sample
{
class Program
{
static void Main(string[] args)
{
/**
* 常見擷取環境變數方式:
* 擷取RAM使用者AccessKey ID:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
* 擷取RAM使用者AccessKey Secret:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
DefaultProfile profile = DefaultProfile.GetProfile(
"cn-shanghai",
"建議從環境變數中擷取RAM使用者AccessKey ID",
"建議從環境變數中擷取RAM使用者AccessKey Secret");
DefaultAcsClient client = new DefaultAcsClient(profile);
DeleteKeywordRequest deleteKeywordRequest = new DeleteKeywordRequest();
// 設定文本庫ID。
deleteKeywordRequest.KeywordLibId = "文本庫ID";
// 要刪除的文本ID。
deleteKeywordRequest.Ids = JsonConvert.SerializeObject(new List<int> { 文本ID_1, 文本ID_2 });
try
{
DeleteKeywordResponse deleteKeywordResponse = client.GetAcsResponse(deleteKeywordRequest);
Console.WriteLine(System.Text.Encoding.Default.GetString(deleteKeywordResponse.HttpResponse.Content));
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
}
}
}
}