使用SDK與日志服務的服務器端進行交互時需要指定一些基本配置,本文介紹SDK的基本配置信息。
目前,所有語言的SDK都定義了一個Client類作為入口類,這些基本配置信息需在該入口類構造時指定。
具體包括如下幾項:
服務入口(Endpoint):確認Client需要訪問的服務入口。
阿里云訪問密鑰(AccessKey ID和AccessKey Secret):指定Client訪問日志服務時使用的訪問密鑰。
下面詳細說明這兩個配置的使用方式。
服務入口(Endpoint)
當使用SDK時,首先需要明確訪問的日志服務Project所在地域,例如華東1(杭州)、華北1(青島)等,然后選擇與其匹配的日志服務入口初始化Client。該服務入口與API中的服務入口定義一致,具體請參見服務入口。
當選擇Client的Endpoint時,必須要保證您需要訪問的Project的地域和Endpoint對應的地域一致,否則SDK將無法訪問您指定的Project。
由于Client實例只能在構造時指定該服務入口,如果需要訪問不同地域里的Project,則需要用不同的Endpoint構建不同的Client實例。
目前,所有API的服務入口均支持HTTPS協議和HTTP協議。
如果在阿里云ECS虛擬機內使用SDK,您還可以使用內網Endpoint來避免公網帶寬開銷。內網Endpoint請參見服務入口。
訪問密鑰(AccessKey)
所有和日志服務端交互的請求都必須經過安全驗證,而訪問密鑰就是用來對請求進行安全驗證的關鍵因子,且以AccessKey ID和AccessKey Secret方式成對出現。在構造Client時需要指定兩個參數:訪問密鑰對(AccessKey ID和AccessKey Secret)。所以在使用SDK前,請在阿里云控制臺密鑰管理頁面獲取(或者創建)合適的密鑰對并配置環境變量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。具體操作,請參見在Linux、macOS和Windows系統配置環境變量。
您的賬號下可以擁有多組訪問密鑰對,但在構造Client時指定的AccessKey ID和AccessKey Secret必須成對,否則無法通過服務端的安全驗證。
指定的訪問密鑰對必須處于啟用狀態,否則會被服務端拒絕請求。同樣,您也可以到阿里云控制臺查看訪問密鑰的狀態。
阿里云賬號的AccessKey擁有所有API的訪問權限,建議您使用RAM用戶的AccessKey進行API訪問或日常運維。
強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
示例
則可以使用如下實例化對應的Client:
Java
//在實際使用中,請按照您實際的服務入口進行替換。 String endpoint = "地域id.example.com"; // 本示例從環境變量中獲取AccessKey ID和AccessKey Secret。 String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"); String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"); Client client = new Client(endpoint, accessKeyId, accessKeySecret); //use client to operate log service project......
更多信息,請參見Java SDK快速入門。
.NET(C#)
// 在實際使用中,請按照您實際的服務入口進行替換。 String endpoint = "地域id.example.com"; // 本示例從環境變量中獲取AccessKey ID和AccessKey Secret。 String accessKeyId = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"); String accessKeySecret = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"); SLSClient client = new SLSClient(endpoint, accessKeyId, accessKeySecret); //use client to operate sls project......
更多信息,請參見.NET SDK快速入門。
PHP
//在實際使用中,請按照您實際的服務入口進行替換。 $endpoint = '地域id.example.com'; // 本示例從環境變量中獲取AccessKey ID和AccessKey Secret。 $accessKeyId = getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'); $accessKey = getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'); $client = new Aliyun_Sls_Client($endpoint, $accessKeyId, $accessKey); //use client to operate sls project......
更多信息,請參見PHP SDK快速入門。
Python
# 在實際使用中,請按照您實際的服務入口進行替換。 endpoint = '地域id.example.com' # 本示例從環境變量中獲取AccessKey ID和AccessKey Secret。 accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '') accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '') client = LogClient(endpoint, accessKeyId, accessKey) #use client to operate log project......
更多信息,請參見Python SDK快速入門。