public void BucketAnalyticsConfigurationsAndFilterTest()
{
Tag tag = new Tag()
{
Key = "tagK",
Value = "tagV"
};
List<AnalyticsFilterPredicate> list = new List<AnalyticsFilterPredicate>();
list.Add(new AnalyticsPrefixPredicate("string"));
list.Add(new AnalyticsTagPredicate(tag));
PutBucketAnalyticsConfigurationRequest putBucketAnalyticsConfigurationRequest = new PutBucketAnalyticsConfigurationRequest()
{
BucketName = bucketName,
AnalyticsId = "configId",
AnalyticsConfiguration = new AnalyticsConfiguration()
{
AnalyticsFilter = new AnalyticsFilter()
{
AnalyticsFilterPredicate = new AnalyticsAndOperator(list)
},
AnalyticsId = "configId",
StorageClassAnalysis = new StorageClassAnalysis()
{
DataExport = new StorageClassAnalysisDataExport()
{
OutputSchemaVersion = StorageClassAnalysisSchemaVersion.V_1,
Destination = new AnalyticsExportDestination()
{
S3BucketDestination = new AnalyticsS3BucketDestination()
{
Format = AnalyticsS3ExportFileFormat.CSV,
BucketAccountId = "599169622985",
Prefix = "string",
BucketName = "arn:aws:s3:::" + bucketName
}
}
}
}
}
};
var putBucketAnalyticsConfigurationResponse = Client.PutBucketAnalyticsConfiguration(putBucketAnalyticsConfigurationRequest);
GetBucketAnalyticsConfigurationRequest getBucketAnalyticsConfigurationRequest = new GetBucketAnalyticsConfigurationRequest()
{
BucketName = bucketName,
AnalyticsId = "configId"
};
var getBucketAnalyticsConfigurationResponse = Client.GetBucketAnalyticsConfiguration(getBucketAnalyticsConfigurationRequest);
var getAnalyticsConfiguration = getBucketAnalyticsConfigurationResponse.AnalyticsConfiguration;
var putAnalyticsConfiguration = putBucketAnalyticsConfigurationRequest.AnalyticsConfiguration;
foreach (var predicate in ((AnalyticsNAryOperator)getAnalyticsConfiguration.AnalyticsFilter.AnalyticsFilterPredicate).Operands)
{
if (predicate is AnalyticsPrefixPredicate)
{
Assert.AreEqual(((AnalyticsPrefixPredicate)predicate).Prefix, "string");
}
else
{
Assert.AreEqual(((AnalyticsTagPredicate)predicate).Tag.Key, "tagK");
Assert.AreEqual(((AnalyticsTagPredicate)predicate).Tag.Value, "tagV");
}
}
GetBucketAnalyticsValidation(getAnalyticsConfiguration, putAnalyticsConfiguration);
ListBucketAnalytics();
DeleteAnalyticsBucketAndValidate();
}