Cette rubrique explique comment créer une table de données dans Tablestore à l'aide du SDK .NET.
Remarques d'utilisation
Après la création d'une table de données, attendez son chargement avant d'effectuer des opérations sur les données, faute de quoi elles échoueront. Ce processus prend généralement quelques secondes.
Prérequis
Un client est initialisé. Pour plus d'informations, reportez-vous à la section Initialiser un client Tablestore.
Description de la méthode
public CreateTableResponse CreateTable(CreateTableRequest request)
Méthode asynchrone :
public Task<CreateTableResponse> CreateTableAsync(CreateTableRequest request)
Exemple de code
L'exemple de code suivant crée une table nommée test_table contenant une colonne de clé primaire de type String.
try
{
// At least one primary key column is required to create a data table.
PrimaryKeySchema primaryKeySchema = new PrimaryKeySchema
{
{ "id", ColumnValueType.String }
};
// Construct the schema information of the data table.
TableMeta tableMeta = new TableMeta("test_table", primaryKeySchema);
// You must set the reserved read and write throughput when you create a data table (you can set this parameter to a non-zero value and the setting takes effect only for data tables in high-performance instances in CU mode).
CapacityUnit reservedThroughput = new CapacityUnit(0, 0);
// Construct the request and send it.
CreateTableRequest request = new CreateTableRequest(tableMeta, reservedThroughput);
client.CreateTable(request);
Console.WriteLine("Create table succeeded.");
}
catch (Exception ex)
{
Console.WriteLine($"Create table failed, exception:{ex.Message}");
}
Reportez-vous également à l'exemple de code suivant pour configurer des paramètres supplémentaires lors de la création d'une table de données.
-
Ajouter des colonnes prédéfinies
DefinedColumnSchema definedColumnSchema = new DefinedColumnSchema { { "name" , DefinedColumnType.STRING } }; tableMeta.DefinedColumnSchema = definedColumnSchema; -
Spécifier le décalage maximal de version
TableOptions tableOptions = new TableOptions(); tableOptions.DeviationCellVersionInSec = 86400; request.TableOptions = tableOptions; -
Spécifier si les mises à jour sont autorisées
TableOptions tableOptions = new TableOptions(); tableOptions.AllowUpdate = false; request.TableOptions = tableOptions; -
Ajouter un index secondaire
// Construct a list of secondary indexes. List<IndexMeta> indexMetas = new List<IndexMeta>(); // Construct a secondary index. IndexMeta indexMeta = new IndexMeta("test_table_index"); // Specify the primary key of the index. indexMeta.PrimaryKey = new List<string>() { "id", "name" }; // Specify the index type. indexMeta.IndexType = IndexType.IT_GLOBAL_INDEX; // Specify the index update mode. indexMeta.IndexUpdateModel = IndexUpdateMode.IUM_ASYNC_INDEX; // Add the secondary index. indexMetas.Add(indexMeta); // Construct the request. CreateTableRequest request = new CreateTableRequest(tableMeta, reservedThroughput, indexMetas); -
Spécifier les informations Stream
StreamSpecification streamSpecification = new StreamSpecification(true); streamSpecification.ExpirationTime = 168; request.StreamSpecification = streamSpecification;