Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de tablas de DynamoDB en .NET
Puede utilizar AWS SDK for .NET para crear, actualizar y eliminar tablas, enumerar todas las tablas de la cuenta u obtener información sobre una tabla concreta.
A continuación se indican los pasos comunes para las operaciones con tablas de Amazon DynamoDB mediante AWS SDK for .NET.
-
Cree una instancia de la clase
AmazonDynamoDBClient
(el cliente). -
Cree los objetos de solicitud correspondientes para proporcionar los parámetros obligatorios y opcionales de la operación.
Por ejemplo, cree un objeto
CreateTableRequest
para crear una tabla y un objetoUpdateTableRequest
para actualizar una tabla existente. -
Ejecute el método apropiado proporcionado por el cliente que ha creado en el paso anterior.
nota
Los ejemplos que aparecen en esta sección no funcionan con .NET Core, ya que no es compatible con los métodos síncronos. Para obtener más información, consulte API asincrónicas de AWS para .NET.
Temas
Creación de una tabla
Para crear una tabla, debe proporcionar el nombre de la tabla, su clave principal y los valores de rendimiento aprovisionado.
Para crear una tabla utilizando la API de bajo nivel del AWS SDK for .NET
-
Cree una instancia de la clase
AmazonDynamoDBClient
. -
Cree una instancia de la clase
CreateTableRequest
para proporcionar la información de solicitud.Debe proporcionar el nombre de la tabla, su clave principal y los valores de rendimiento aprovisionado.
-
Ejecute el método
AmazonDynamoDBClient.CreateTable
proporcionando el objeto de solicitud como parámetro.
En el siguiente ejemplo de C# se ponen en práctica los pasos anteriores. En el ejemplo se crea una tabla (ProductCatalog
) que utiliza el Id
como clave principal y un conjunto de valores de rendimiento aprovisionado. Según los requisitos de aplicación, puede actualizar los valores de rendimiento aprovisionado mediante la API UpdateTable
.
AmazonDynamoDBClient client = new AmazonDynamoDBClient(); string tableName = "ProductCatalog"; var request = new CreateTableRequest { TableName = tableName, AttributeDefinitions = new List<AttributeDefinition>() { new AttributeDefinition { AttributeName = "Id", AttributeType = "N" } }, KeySchema = new List<KeySchemaElement>() { new KeySchemaElement { AttributeName = "Id", KeyType = "HASH" //Partition key } }, ProvisionedThroughput = new ProvisionedThroughput { ReadCapacityUnits = 10, WriteCapacityUnits = 5 } }; var response = client.CreateTable(request);
Debe esperar hasta que DynamoDB cree la tabla y establezca el estado de esta última en .ACTIVE
La respuesta de CreateTable
incluye la propiedad TableDescription
que proporciona la información necesaria sobre la tabla.
ejemplo
var result = response.CreateTableResult; var tableDescription = result.TableDescription; Console.WriteLine("{1}: {0} \t ReadCapacityUnits: {2} \t WriteCapacityUnits: {3}", tableDescription.TableStatus, tableDescription.TableName, tableDescription.ProvisionedThroughput.ReadCapacityUnits, tableDescription.ProvisionedThroughput.WriteCapacityUnits); string status = tableDescription.TableStatus; Console.WriteLine(tableName + " - " + status);
También puede llamar al método DescribeTable
del cliente para obtener información sobre la tabla en cualquier momento.
ejemplo
var res = client.DescribeTable(new DescribeTableRequest{TableName = "ProductCatalog"});
Actualización de una tabla
Solamente se pueden actualizar los valores de rendimiento aprovisionado de una tabla existente. Según los requisitos de su aplicación, es posible que tenga que actualizar estos valores.
nota
Puede aumentar la capacidad de rendimiento con la frecuencia que desee y reducirla con ciertas restricciones. Para obtener más información sobre las reducciones y los incrementos de rendimiento diarios, consulte Cuotas de tabla, servicio y cuenta en Amazon DynamoDB.
Para actualizar una tabla utilizando la API de bajo nivel del AWS SDK for .NET
-
Cree una instancia de la clase
AmazonDynamoDBClient
. -
Cree una instancia de la clase
UpdateTableRequest
para proporcionar la información de solicitud.Debe proporcionar el nombre de la tabla y los nuevos valores de rendimiento aprovisionado.
-
Ejecute el método
AmazonDynamoDBClient.UpdateTable
proporcionando el objeto de solicitud como parámetro.
En el siguiente ejemplo de C# se ponen en práctica los pasos anteriores.
ejemplo
AmazonDynamoDBClient client = new AmazonDynamoDBClient(); string tableName = "ExampleTable"; var request = new UpdateTableRequest() { TableName = tableName, ProvisionedThroughput = new ProvisionedThroughput() { // Provide new values. ReadCapacityUnits = 20, WriteCapacityUnits = 10 } }; var response = client.UpdateTable(request);
Eliminación de una tabla
Siga estos pasos para eliminar una tabla mediante la API de bajo nivel de .NET.
Para eliminar una tabla utilizando la API de bajo nivel del AWS SDK for .NET
-
Cree una instancia de la clase
AmazonDynamoDBClient
. -
Cree una instancia de la clase
DeleteTableRequest
y proporcione el nombre de la tabla que desea eliminar. -
Ejecute el método
AmazonDynamoDBClient.DeleteTable
proporcionando el objeto de solicitud como parámetro.
En el siguiente ejemplo de código C# se ponen en práctica los pasos anteriores.
ejemplo
AmazonDynamoDBClient client = new AmazonDynamoDBClient(); string tableName = "ExampleTable"; var request = new DeleteTableRequest{ TableName = tableName }; var response = client.DeleteTable(request);
Enumeración de tablas
Para enumerar las tablas de la cuenta mediante la API de bajo nivel del AWS SDK for .NET, cree una instancia de AmazonDynamoDBClient
y ejecute el método ListTables
.
La operación ListTables no requiere parámetros. Sin embargo, puede especificar parámetros opcionales. Por ejemplo, puede establecer el parámetro Limit
si desea usar la paginación para limitar el número de nombres de tablas por página. Para ello, debe crear un objeto ListTablesRequest
y proporcionar parámetros opcionales, como se muestra en el siguiente ejemplo de C#. Además del tamaño de página, la solicitud establece el parámetro ExclusiveStartTableName
. Inicialmente, el valor de ExclusiveStartTableName
es null. Sin embargo, para recuperar la siguiente página de resultados después de obtener la primera de ellas, deberá establecer el valor de este parámetro en la propiedad LastEvaluatedTableName
del resultado actual.
ejemplo
AmazonDynamoDBClient client = new AmazonDynamoDBClient(); // Initial value for the first page of table names. string lastEvaluatedTableName = null; do { // Create a request object to specify optional parameters. var request = new ListTablesRequest { Limit = 10, // Page size. ExclusiveStartTableName = lastEvaluatedTableName }; var response = client.ListTables(request); ListTablesResult result = response.ListTablesResult; foreach (string name in result.TableNames) Console.WriteLine(name); lastEvaluatedTableName = result.LastEvaluatedTableName; } while (lastEvaluatedTableName != null);