/// <summary> /// get object keys /// </summary> /// <param name="prefix"></param> /// <returns></returns> public async Task <IEnumerable <string> > GetObjectKeysAsync(string prefix) { var objectKeys = new List <string>(); using (var client = new AWSS3Client(_accessKeyId, _secretAccessKey, _region)) { string continuationToken = null; var isTruncated = true; while (isTruncated) { var result = await client.ListObjectsV2Async(_backetName, prefix, continuationToken); if (result.S3Objects != null && result.S3Objects.Any()) { objectKeys.AddRange(result.S3Objects.Select(s3Object => s3Object.Key).ToArray()); } isTruncated = result.IsTruncated; continuationToken = result.NextContinuationToken; } } return(objectKeys); }