Updating S3 to use the async interface
This commit is contained in:
@@ -96,7 +96,7 @@ namespace Duplicati.Library.Backend
|
||||
if (!string.IsNullOrEmpty(m_locationConstraint))
|
||||
request.BucketRegionName = m_locationConstraint;
|
||||
|
||||
m_client.PutBucket(request);
|
||||
m_client.PutBucketAsync(request).GetAwaiter().GetResult();
|
||||
}
|
||||
|
||||
public virtual void GetFileStream(string bucketName, string keyName, System.IO.Stream target)
|
||||
@@ -107,7 +107,7 @@ namespace Duplicati.Library.Backend
|
||||
Key = keyName
|
||||
};
|
||||
|
||||
using (GetObjectResponse objectGetResponse = m_client.GetObject(objectGetRequest))
|
||||
using (GetObjectResponse objectGetResponse = m_client.GetObjectAsync(objectGetRequest).GetAwaiter().GetResult())
|
||||
using (System.IO.Stream s = objectGetResponse.ResponseStream)
|
||||
{
|
||||
try
|
||||
@@ -164,7 +164,7 @@ namespace Duplicati.Library.Backend
|
||||
Key = keyName
|
||||
};
|
||||
|
||||
m_client.DeleteObject(objectDeleteRequest);
|
||||
m_client.DeleteObjectAsync(objectDeleteRequest).GetAwaiter().GetResult();
|
||||
}
|
||||
|
||||
public virtual IEnumerable<IFileEntry> ListBucket(string bucketName, string prefix)
|
||||
@@ -192,7 +192,7 @@ namespace Duplicati.Library.Backend
|
||||
ListObjectsResponse listResponse;
|
||||
try
|
||||
{
|
||||
listResponse = m_client.ListObjects(listRequest);
|
||||
listResponse = m_client.ListObjectsAsync(listRequest).GetAwaiter().GetResult();
|
||||
}
|
||||
catch (AmazonS3Exception e)
|
||||
{
|
||||
@@ -230,7 +230,7 @@ namespace Duplicati.Library.Backend
|
||||
DestinationKey = target
|
||||
};
|
||||
|
||||
m_client.CopyObject(copyObjectRequest);
|
||||
m_client.CopyObjectAsync(copyObjectRequest).GetAwaiter().GetResult();
|
||||
|
||||
DeleteObject(bucketName, source);
|
||||
}
|
||||
|
||||
@@ -155,9 +155,10 @@ namespace Duplicati.Library.Backend
|
||||
ActionNames = new[] { "iam:CreateUser" }.ToList()
|
||||
};
|
||||
|
||||
return cl.SimulatePrincipalPolicy(simulatePrincipalPolicy).
|
||||
EvaluationResults.First().
|
||||
EvalDecision == PolicyEvaluationDecisionType.Allowed;
|
||||
return cl.SimulatePrincipalPolicyAsync(simulatePrincipalPolicy)
|
||||
.GetAwaiter().GetResult()
|
||||
.EvaluationResults.First()
|
||||
.EvalDecision == PolicyEvaluationDecisionType.Allowed;
|
||||
|
||||
}
|
||||
|
||||
@@ -195,7 +196,7 @@ namespace Duplicati.Library.Backend
|
||||
User user;
|
||||
try
|
||||
{
|
||||
user = cl.GetUser().User;
|
||||
user = cl.GetUserAsync().GetAwaiter().GetResult().User;
|
||||
}
|
||||
catch (Exception ex) when (ex is NoSuchEntityException || ex is ServiceFailureException)
|
||||
{
|
||||
@@ -217,13 +218,13 @@ namespace Duplicati.Library.Backend
|
||||
var policydoc = GeneratePolicyDoc(path);
|
||||
|
||||
var cl = new AmazonIdentityManagementServiceClient(awsid, awskey);
|
||||
var user = cl.CreateUser(new CreateUserRequest(username)).User;
|
||||
cl.PutUserPolicy(new PutUserPolicyRequest(
|
||||
var user = cl.CreateUserAsync(new CreateUserRequest(username)).GetAwaiter().GetResult().User;
|
||||
cl.PutUserPolicyAsync(new PutUserPolicyRequest(
|
||||
user.UserName,
|
||||
policyname,
|
||||
policydoc
|
||||
));
|
||||
var key = cl.CreateAccessKey(new CreateAccessKeyRequest { UserName = user.UserName }).AccessKey;
|
||||
)).GetAwaiter().GetResult();
|
||||
var key = cl.CreateAccessKeyAsync(new CreateAccessKeyRequest { UserName = user.UserName }).GetAwaiter().GetResult().AccessKey;
|
||||
|
||||
return new Dictionary<string, string>
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user