您可以开启存储空间的访问日志记录功能。开启后对于此存储空间的访问会被记录成日志文件,保存在指定的存储空间中。
日志文件的格式为:
<TargetPrefix><SourceBucket>YYYY-mm-DD-HH-MM-SS-UniqueString
更多关于访问日志的介绍,请参见开发指南中的设置访问日志记录。访问日志的完整代码请参见GitHub。
开启访问日志记录
以下代码用于开启存储空间的访问日志记录:
using Aliyun.OSS; using Aliyun.OSS.Common; var endpoint = "<yourEndpoint>"; var accessKeyId = "<yourAccessKeyId>"; var accessKeySecret = "<yourAccessKeySecret>"; var bucketName = "<yourBucketName>"; var targetBucketName = "<yourTargetBucketName>"; // 创建OssClient实例。 var client = new OssClient(endpoint, accessKeyId, accessKeySecret); try { // targetBucketName为存放日志文件的存储空间,logging-为被保存的访问日志文件前缀。bucketName和targetBucketName可以是同一存储空间。 var request = new SetBucketLoggingRequest(bucketName, targetBucketName, "logging-"); // 开启访问日志记录。 client.SetBucketLogging(request); Console.WriteLine("Set bucket:{0} Logging succeeded ", bucketName); } catch (OssException ex) { Console.WriteLine("Failed with error info: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}", ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId); } catch (Exception ex) { Console.WriteLine("Failed with error info: {0}", ex.Message); }
查看访问日志设置
查看访问日志设置完整代码请参见GitHub。
以下代码用于查看存储空间的访问日志设置:
using Aliyun.OSS; using Aliyun.OSS.Common; var endpoint = "<yourEndpoint>"; var accessKeyId = "<yourAccessKeyId>"; var accessKeySecret = "<yourAccessKeySecret>"; var bucketName = "<yourBucketName>"; // 创建OssClient实例。 var client = new OssClient(endpoint, accessKeyId, accessKeySecret); try { // 查看存储空间的访问日志设置。 var result = client.GetBucketLogging(bucketName); Console.WriteLine("Get bucket:{0} Logging succeeded, prefix:{1}", bucketName, result.TargetPrefix); } catch (OssException ex) { Console.WriteLine("Failed with error info: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}", ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId); } catch (Exception ex) { Console.WriteLine("Failed with error info: {0}", ex.Message); }
关闭访问日志记录
关闭访问日志记录完整代码请参见GitHub。
以下代码用于关闭存储空间的访问日志记录:
using Aliyun.OSS; using Aliyun.OSS.Common; var endpoint = "<yourEndpoint>"; var accessKeyId = "<yourAccessKeyId>"; var accessKeySecret = "<yourAccessKeySecret>"; var bucketName = "<yourBucketName>"; // 创建OssClient实例。 var client = new OssClient(endpoint, accessKeyId, accessKeySecret); try { // 关闭访问日志记录,已经存在的日志不受影响。 client.DeleteBucketLogging(bucketName); Console.WriteLine("Delete bucket:{0} Logging succeeded ", bucketName); } catch (OssException ex) { Console.WriteLine("Failed with error info: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}", ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId); } catch (Exception ex) { Console.WriteLine("Failed with error info: {0}", ex.Message); }