forked from geffzhang/storage
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIAwsS3BlobStorage.cs
More file actions
32 lines (28 loc) · 1.03 KB
/
IAwsS3BlobStorage.cs
File metadata and controls
32 lines (28 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System.Threading.Tasks;
using Amazon.S3;
using Storage.Net.Blobs;
namespace Storage.Net.Amazon.Aws.Blobs
{
/// <summary>
/// Provides access to native operations
/// </summary>
public interface IAwsS3BlobStorage : IBlobStorage
{
/// <summary>
/// Returns reference to the native AWS S3 blob client.
/// </summary>
IAmazonS3 NativeBlobClient { get; }
/// <summary>
/// Get presigned url for upload object to Blob Storage.
/// </summary>
Task<string> GetUploadUrlAsync(string fullPath, string mimeType, int expiresInSeconds = 86000);
/// <summary>
/// Get presigned url for download object from Blob Storage.
/// </summary>
Task<string> GetDownloadUrlAsync(string fullPath, string mimeType, int expiresInSeconds = 86000);
/// <summary>
/// Get presigned url for requested operation with Blob Storage.
/// </summary>
Task<string> GetPresignedUrlAsync(string fullPath, string mimeType, int expiresInSeconds, HttpVerb verb);
}
}