全部產品
Search
文件中心

Object Storage Service:設定訪問日誌

更新時間:Aug 30, 2018

您可以開啟儲存空間的訪問日誌記錄功能,開啟後對於此儲存空間的訪問會被記錄成記錄檔,保存在指定的儲存空間中。記錄檔的格式為:

<TargetPrefix><SourceBucket>-YYYY-mm-DD-HH-MM-SS-UniqueString

更多關於訪問日誌的介紹,請參見開發指南中的設定訪問日誌記錄。訪問日誌的完整代碼請參見GitHub

開啟訪問日誌記錄

以下代碼用於開啟儲存空間的訪問日誌記錄:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  14. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  15. $option = array();
  16. // 設定存放記錄檔的儲存空間。
  17. $targetBucket = "<yourBucketName>";
  18. $targetPrefix = "access.log";
  19. try {
  20. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  21. // 開啟訪問日誌記錄。
  22. $ossClient->putBucketLogging($bucket, $targetBucket, $targetPrefix, $option);
  23. } catch (OssException $e) {
  24. printf(__FUNCTION__ . ": FAILED\n");
  25. printf($e->getMessage() . "\n");
  26. return;
  27. }
  28. print(__FUNCTION__ . ": OK" . "\n");

查看訪問日誌設定

以下代碼用於查看儲存空間的訪問日誌設定:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  14. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  15. $bucket= "<yourBucketName>";
  16. $loggingConfig = null;
  17. $options = array();
  18. try {
  19. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  20. // 查看訪問日誌設定。
  21. $loggingConfig = $ossClient->getBucketLogging($bucket, $options);
  22. } catch (OssException $e) {
  23. printf(__FUNCTION__ . ": FAILED\n");
  24. printf($e->getMessage() . "\n");
  25. return;
  26. }
  27. print(__FUNCTION__ . ": OK" . "\n");
  28. print($loggingConfig->serializeToXml() . "\n");

關閉訪問日誌記錄

以下代碼用於關閉儲存空間的訪問日誌記錄:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  14. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  15. $bucket= "<yourBucketName>";
  16. try {
  17. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  18. // 關閉訪問日誌記錄。
  19. $ossClient->deleteBucketLogging($bucket);
  20. } catch (OssException $e) {
  21. printf(__FUNCTION__ . ": FAILED\n");
  22. printf($e->getMessage() . "\n");
  23. return;
  24. }
  25. print(__FUNCTION__ . ": OK" . "\n");