Я пытаюсь выполнить LoadAsync для DynamoDB.
var clientConfig = new AmazonDynamoDBConfig
{
RegionEndpoint = RegionEndpoint.USEast1
};
var client = new AmazonDynamoDBClient(clientConfig);
var context = new DynamoDBContext(client);
return await context.LoadAsync<MyObject>(MyObjectIDString);
Когда я публикую в Beanstalk и вызываю конечную точку, я получаю InvalidOperationException:
"Должен быть определен один хеш-ключдля таблицы MyObject "
Таблица существует и имеет значения, все отлично работает, когда выполняется локально из Visual Studio.Я вижу таблицу в консоли AWS и получаю соответствующие объекты при локальном выполнении.
Stacktrace:
at Amazon.DynamoDBv2.DataModel.DynamoDBContext.MakeKey(Object hashKey, Object rangeKey, ItemStorageConfig storageConfig, DynamoDBFlatConfig flatConfig)\\r\\n
at Amazon.DynamoDBv2.DataModel.DynamoDBContext.LoadHelper[T](Object hashKey, Object rangeKey, DynamoDBOperationConfig operationConfig, Boolean isAsync)\\r\\n
at Amazon.DynamoDBv2.DataModel.DynamoDBContext.<>c__DisplayClass99_0`1.<LoadAsync>b__0()\\r\\n
at Amazon.Runtime.Internal.AsyncRunner.<>c__DisplayClass1_2`1.<Run>b__1()\\r\\n--- End of stack trace from previous location where exception was thrown ---\\r\\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\\r\\n
at Amazon.Runtime.Internal.AsyncRunner.<>c__DisplayClass1_0`1.<<Run>b__0>d.MoveNext()\\r\\n--- End of stack trace from previous location where exception was thrown ---\\r\\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\\r\\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\\r\\n
at Eprate.Common.DynamoLayer.DynamoLayer.<GetShow>d__1.MoveNext() in C:\\\\Users\\\\flarp\\\\Source\\\\Repos\\\\EprateGit\\\\Common\\\\DynamoLayer\\\\DynamoLayer.cs:line 38\\r\\n--- End of stack trace from previous location where exception was thrown ---\\r\\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\\r\\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\\r\\n
at Eprate.API.Controllers.ShowController.<GetShow>d__0.MoveNext() in C:\\\\Users\\\\flarp\\\\Source\\\\Repos\\\\EprateGit\\\\API\\\\Controllers\\\\ShowController.cs:line 24",
Есть ли у вас какие-либо указания относительно того, как это исследовать?Нужно ли делать что-то другое при развертывании на AWS?Что-то о полномочиях или роли IAM?