【问题标题】:Amazon Web Services - CreateDBSnapshot亚马逊网络服务 - CreateDBSnapshot
【发布时间】:2013-06-27 23:52:45
【问题描述】:

我对 Amazon Web Services 完全陌生,但是,我确实获得了一个帐户,并且能够浏览我们的服务器列表。我正在尝试使用 .NET 以编程方式创建数据库备份。我已经为 .NET 安装了 AWS,并且已经构建并运行了示例 Empty 控制台程序。

我可以看到我可以使用以下行创建 RDS 服务的实例:

AmazonRDS rds = AWSClientFactory.CreateAmazonRDSClient(RegionEndPoint.USEast1);

但是,我注意到 rds.CreateDBSnapshot(); 需要一个请求对象,但我在参考 .dll 中没有看到类似 CreateDBSnapshotRequest 的任何内容,任何人都可以提供一个工作示例吗?

【问题讨论】:

    标签: amazon-web-services


    【解决方案1】:

    就像你说的CreateDBSnapshotRequest 是你必须传递给这个函数的参数。

    CreateDBSnapshotRequest 在 AWSSDK.dll 程序集(版本 1.5.25.0)内的 Amazon.RDS.Model 命名空间中定义

    在 CreateDBSnapshotRequest 中,您必须传递您在调用 CreateDBInstance(或其相关方法之一)时定义的 数据库实例标识符(例如 mydbinstance-1)和用于您希望为此数据库实例生成的快照(例如:my-snapshot-id)。

    编辑/示例

    有几种方法可以实现这一点,这里有一个例子 - 希望它能消除你的疑虑

    
    using Amazon.RDS;
    using Amazon.RDS.Model;
    
    ...
    ...
    
    //gets the credentials from the default configuration
    AmazonRDS rdsClient = AWSClientFactory.CreateAmazonRDSClient(); 
    
    CreateDBSnapshotRequest dbSnapshotRequest = new CreateDBSnapshotRequest();
    dbSnapshotRequest.DBInstanceIdentifier = "my-oracle-instance";  
    dbSnapshotRequest.DBSnapshotIdentifier = "daily-snapshot";
    
    rdsClient.CreateDBSnapshot(dbSnapshotRequest);
    

    不要忘记数据库实例(在示例中为 my-oracle-instance)必须存在 (duh :) 并且必须处于可用状态,如下所示:

    【讨论】:

    • 你有需要传递的细节和参数的例子吗?我在任何地方都没有找到......
    • 好的,这帮了很多忙!所以我还有两个问题。有没有办法检查实例是否存在并处于可用状态?还有我可以在异步线程上运行的回调,以便我可以在备份完成时获得更新?
    • 感谢这些链接。在开始此线程之前,我已经检查了文档,并且那里的信息很少。现在我被困在回调上。我收到一个错误:无法将“Amazon.Runtime.Internal.AsyncResult”类型的对象转换为“System.Runtime.Remoting.Messaging.AsyncResult”所以我尝试更改我的代码以使用亚马逊的 AsyncResult:Amazon.Runtime.Internal .AsyncResult 结果 = (Amazon.Runtime.Internal.AsyncResult)ar;但是结果对象上没有 AsyncDelegate 属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 2017-11-29
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多