我正在使用ServiceStack.Aws,我正在获得一个ResourceNotFoundException,但是我看不到它想要的资源名称。,资源名称是在异常中发送的?我怎么才能拿到呢?
我的模型类是(存在表和索引名)
[DynamoDBTable("SOME-TABLE-NAME")]
public class Company
{
[DynamoDBHashKey]
public string CompanyId { get; set; }
[DynamoDBGlobalSecondaryIndexHashKey("SOME-INDEX-NAME")]
public string ShortName { get; set; }
public string DocumentNumber { get; set; }
public string FullName { get; set; }
public string Address { get; set; }
public DateTime CreatedAt { get; set; }
}我的代码是
var awsDb = new AmazonDynamoDBClient();
var db = new PocoDynamo(awsDb);
db.RegisterTable<Company>();
try
{
db.PutItem<Company>(new Company
{
Address = "Some address #some number",
CompanyId = Guid.NewGuid().ToString(),
CreatedAt = DateTime.Now,
DocumentNumber = "11.222.333-4",
FullName = "Some company name",
ShortName = "ShortName"
});
}
catch (ResourceNotFoundException ex)
{
}
catch (Exception ex)
{
}在我的app.config中有(路径和配置文件名称存在)。地区也可以)
<aws region="us-east-1" profileName="profile-name" profilesLocation="some-path\certificados.txt">
</aws>编辑:问题是ServiceStack不使用AWS属性。所以,我将DynamoDBTable改为Alias,一切都很好。
发布于 2016-06-22 17:59:35
ServiceStack.Aws的PocoDynamo会自动在幕后重试临时异常,这样原始的AWS异常可能已经被重新尝试过了。我刚刚在此承诺中添加了一个此承诺,它将允许您检查AWS DynamoDB客户端引发的每个异常,其中包括:
var dynamo = new PocoDynamo(awsDynamoClient) {
ExceptionFilter = ex => ex.Message.Print();
};ExceptionFilter可以从v4.0.61 (即现在的可在MyGet上获得 )中获得。
另外,[DynamoDBGlobalSecondaryIndexHashKey]属性在PocoDynamo中没有任何影响,请参阅用PocoDynamo创建全局索引上的文档。
https://stackoverflow.com/questions/37974665
复制相似问题