Je essaie de me connecter à DynamoDb en local exécuté avec docker : docker run -p 8000:8000 dwmkerr/dynamodb -sharedDb
Mais je continue à obtenir l'erreur mentionnée dans le titre.
Je peux valider que le serveur DynamoDb fonctionne et est accessible.
Je peux accéder à l'URL http://localhost:8000/shell/
J'ai même essayé d'utiliser un client nodejs https://github.com/aaronshaf/dynamodb-admin et j'ai réussi à créer des tables.
Cependant, c'est seulement le code dotnet qui ne fonctionne pas !
class Program
{
static void Main(string[] args)
{
var clientConfig = new AmazonDynamoDBConfig()
{
UseHttp = true,
LogMetrics = true,
LogResponse = true,
DisableLogging = false,
ServiceURL = "http://localhost:8000"
};
var dynamoClient = new AmazonDynamoDBClient(clientConfig);
//AWSSDK
var request = new CreateTableRequest
{
TableName = "Todo",
KeySchema = new List { new KeySchemaElement("Id", KeyType.HASH), },
AttributeDefinitions = new List { new AttributeDefinition("Id", ScalarAttributeType.N), },
ProvisionedThroughput = new ProvisionedThroughput
{
ReadCapacityUnits = 10,
WriteCapacityUnits = 5,
}
};
dynamoClient.CreateTableAsync(request).Wait();
}
}
Voici la trace complète des erreurs :
Unhandled Exception: System.AggregateException: Une ou plusieurs erreurs se sont produites. (Une opération de socket a été tentée sur un réseau inaccessible) ---> System.Net.Http.HttpRequestException: Une opération de socket a été tentée sur un réseau inaccessible ---> System.Net.Sockets.SocketException: Une opération de socket a été tentée sur un réseau inaccessible
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
// ... (il s'agit d'une troncature)
Étonnamment, ça fonctionne bien sur Mac !