Beispiel #1
0
        /// <summary>
        /// Exports the data from DynamoDB to S3
        /// </summary>
        /// <param name="tableArn"></param>
        /// <param name="bucket"></param>
        /// <returns></returns>
        private async Task <ExportTableToPointInTimeResponse> ExportDataFromDynamoDB(string tableArn, string bucket)
        {
            DescribeContinuousBackupsResponse latestBackup = await ddbClient.DescribeContinuousBackupsAsync(new DescribeContinuousBackupsRequest()
            {
                TableName = tableArn.Split('/').Last()
            });

            this._context.LogInfo($"Restoring table ${tableArn} to {bucket} at restore point {latestBackup.ContinuousBackupsDescription.PointInTimeRecoveryDescription.LatestRestorableDateTime}.");

            return(await ddbClient.ExportTableToPointInTimeAsync(new ExportTableToPointInTimeRequest()
            {
                ExportFormat = ExportFormat.ION,
                TableArn = tableArn,
                S3Bucket = bucket,
                ExportTime = latestBackup.ContinuousBackupsDescription.PointInTimeRecoveryDescription.LatestRestorableDateTime
            }));
        }
 private Amazon.DynamoDBv2.Model.DescribeContinuousBackupsResponse CallAWSServiceOperation(IAmazonDynamoDB client, Amazon.DynamoDBv2.Model.DescribeContinuousBackupsRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DynamoDB", "DescribeContinuousBackups");
     try
     {
         #if DESKTOP
         return(client.DescribeContinuousBackups(request));
         #elif CORECLR
         return(client.DescribeContinuousBackupsAsync(request).GetAwaiter().GetResult());
         #else
                 #error "Unknown build edition"
         #endif
     }
     catch (AmazonServiceException exc)
     {
         var webException = exc.InnerException as System.Net.WebException;
         if (webException != null)
         {
             throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
         }
         throw;
     }
 }