IOts InterfaceAliyun Open Services SDK for .NET
表示用于访问阿里云开放结构化数据(Open Table Service,简称OTS)的公共方法。

Namespace: Aliyun.OpenServices.OpenTableService
Assembly: Aliyun.OpenServices (in Aliyun.OpenServices.dll) Version: 1.0.5290.21916
Syntax

public interface IOts

The IOts type exposes the following members.

Methods

  NameDescription
Public methodAbortTransaction
撤销一个事务(Transaction)。
Public methodBatchModifyData
把PutData和/或DeleteData的多次调用组合成一个调用。
Public methodBeginAbortTransaction
开始撤销一个事务(Transaction)的异步操作。
Public methodCode exampleBeginBatchModifyData
开始把PutData和/或DeleteData的多次调用组合成一个调用的异步操作。
Public methodBeginCommitTransaction
开始确认并提交事务(Transaction)的异步操作。
Public methodBeginCreateTable
开始创建表(Table)及其相关视图(View)的异步操作。
Public methodBeginCreateTableGroup
开始创建表组(Table Group)的异步请求。
Public methodBeginDeleteData(String, RowDeleteChange, AsyncCallback, Object)
开始删除指定行或行中的数据的异步操作。
Public methodBeginDeleteData(String, RowDeleteChange, String, AsyncCallback, Object)
开始删除指定行或行中的数据的异步操作。
Public methodBeginDeleteTable
开始删除表(Table)及与此表一起创建的视图(View)的异步操作。
Public methodBeginDeleteTableGroup
开始删除表组(Table Group)及属于该表组的相关表(Table)和视图(View)的异步操作。
Public methodBeginGetRow(SingleRowQueryCriteria, AsyncCallback, Object)
开始获取表(Table)或视图(View)中的一行数据的异步操作。
Public methodBeginGetRow(SingleRowQueryCriteria, String, AsyncCallback, Object)
开始获取表(Table)或视图(View)中的一行数据的异步操作。
Public methodBeginGetRowsByOffset(OffsetRowQueryCriteria, AsyncCallback, Object)
开始异步操作,获取表(Table)或视图(View)的指定偏移量开始的多行数据。
Public methodBeginGetRowsByOffset(OffsetRowQueryCriteria, String, AsyncCallback, Object)
Public methodBeginGetRowsByRange(RangeRowQueryCriteria, AsyncCallback, Object)
开始异步操作获取表(Table)或视图(View)中主键(Primary Key)的特定范围内的多行数据。
Public methodBeginGetRowsByRange(RangeRowQueryCriteria, String, AsyncCallback, Object)
开始异步操作获取表(Table)或视图(View)中主键(Primary Key)的特定范围内的多行数据。
Public methodBeginGetTableMeta
开始获取表(Table)的结构信息的异步操作。
Public methodBeginListTableGroups
开始获取表组(Table Group)名列表的异步操作。
Public methodBeginListTables
开始获取表(Table)名列表的异步操作。
Public methodBeginPutData(String, RowPutChange, AsyncCallback, Object)
开始插入一行或修改指定行中的数据的异步操作。
Public methodBeginPutData(String, RowPutChange, String, AsyncCallback, Object)
开始插入一行或修改指定行中的数据的异步操作。
Public methodBeginStartTransaction
开始一个异步操作:在表或表组上开始一个事务(Transaction),并得到该事务ID。
Public methodCode exampleCommitTransaction
确认并提交事务(Transaction)。
Public methodCode exampleCreateTable
创建表(Table)及其相关视图(View)。
Public methodCreateTableGroup
创建表组(Table Group)。
Public methodDeleteData(String, RowDeleteChange)
删除指定行或行中的数据。
Public methodDeleteData(String, RowDeleteChange, String)
删除指定行或行中的数据。
Public methodDeleteTable
删除表(Table)及与此表一起创建的视图(View)。
Public methodDeleteTableGroup
删除表组(Table Group)及属于该表组的相关表(Table)和视图(View)。
Public methodEndAbortTransaction
结束撤销一个事务(Transaction)的异步操作。
Public methodEndBatchModifyData
结束把PutData和/或DeleteData的多次调用组合成一个调用的异步操作。
Public methodEndCommitTransaction
结束确认并提交事务(Transaction)的异步操作。
Public methodEndCreateTable
结束创建表(Table)及其相关视图(View)的异步操作。
Public methodEndCreateTableGroup
结束创建表组(Table Group)的异步请求。
Public methodEndDeleteData
结束删除指定行或行中的数据的异步操作。
Public methodEndDeleteTable
结束删除表(Table)及与此表一起创建的视图(View)的异步操作。
Public methodEndDeleteTableGroup
结束删除表组(Table Group)及属于该表组的相关表(Table)和视图(View)的异步操作。
Public methodEndGetRow
结束获取表(Table)或视图(View)中的一行数据的异步操作。
Public methodEndGetRowsByOffset
结束异步操作,获取表(Table)或视图(View)的指定偏移量开始的多行数据。
Public methodEndGetRowsByRange
结束获取表(Table)或视图(View)中的一行数据的异步操作。
Public methodEndGetTableMeta
结束获取表(Table)的结构信息的异步操作。
Public methodEndListTableGroups
结束获取表组(Table Group)列表的异步操作。
Public methodEndListTables
结束获取表(Table)名列表的异步操作。
Public methodEndPutData
结束插入一行或修改指定行中的数据的异步操作。
Public methodEndStartTransaction
结束在表或表组上开始一个事务(Transaction),并得到该事务ID的异步操作。
Public methodCode exampleGetRow(SingleRowQueryCriteria)
获取表(Table)或视图(View)中的一行数据。
Public methodGetRow(SingleRowQueryCriteria, String)
获取表(Table)或视图(View)中的一行数据。
Public methodGetRowsByOffset(OffsetRowQueryCriteria)
获取表(Table)或视图(View)的指定偏移量开始的多行数据。
Public methodGetRowsByOffset(OffsetRowQueryCriteria, String)
获取表(Table)或视图(View)的指定偏移量开始的多行数据。
Public methodCode exampleGetRowsByRange(RangeRowQueryCriteria)
获取表(Table)或视图(View)中主键(Primary Key)的特定范围内的多行数据。
Public methodGetRowsByRange(RangeRowQueryCriteria, String)
获取表(Table)或视图(View)中主键(Primary Key)的特定范围内的多行数据。
Public methodGetTableMeta
获取表(Table)的结构信息。
Public methodListTableGroups
获取表组(Table Group)名的列表。
Public methodListTables
获取表(Table)名的列表。
Public methodCode examplePutData(String, RowPutChange)
插入一行或修改指定行中的数据。
Public methodCode examplePutData(String, RowPutChange, String)
插入一行或修改指定行中的数据。
Public methodCode exampleStartTransaction
在表或表组上开始一个事务(Transaction),并得到该事务ID。
Top
Remarks

开放结构化数据服务(Open Table Service,OTS)是构建在阿里云大规模分布式计算系统之上的海量数据存储与实时查询的服务。

Examples

下面的示例代码演示如何通过OtsClient的方法在OTS中创建一个表(Table)。
using System;
using System.Linq;
using Aliyun.OpenTableService;

namespace Aliyun.OpenServices.Samples.OpenTableService
{
    class CreateTableSample
    {
        string endpoint = "http://ots.aliyuncs.com";
        string accessId = "<your access id>";
        string accessKey = "<your access key>";

        string tableName = "contact_table";
        string viewName = "view1";

        public void CreateTable()
        {
            // 创建表结构信息。
            var tableMeta = new TableMeta(tableName);
            // 指定表的主键。
            tableMeta.PrimaryKeys.Add("uid", PrimaryKeyType.Integer);
            tableMeta.PrimaryKeys.Add("flag", PrimaryKeyType.Boolean);
            tableMeta.PrimaryKeys.Add("name", PrimaryKeyType.String);
            tableMeta.PagingKeyLength = 2;

            var viewMeta = new ViewMeta(viewName);
            viewMeta.PrimaryKeys.Add("uid", PrimaryKeyType.Integer);
            viewMeta.PrimaryKeys.Add("flag", PrimaryKeyType.Boolean);
            tableMeta.PrimaryKeys.Add("name", PrimaryKeyType.String);
            viewMeta.PrimaryKeys.Add("groupid", PrimaryKeyType.Integer);

            tableMeta.Views.Add(viewMeta);

            // 在OTS中创建一个表。
            var otsClient = new OtsClient(endpoint, accessId, accessKey);

            try
            {
                otsClient.CreateTable(tableMeta);
            }
            catch (OtsException ex)
            {
                Console.WriteLine("创建表失败。OTS异常消息:" + ex.Message);
                // RequestId和HostId可以在有问题时用于联系客服诊断异常。
                Console.WriteLine("Request ID: {0}\tHostID: {1}", ex.RequestId, ex.HostId);
            }
            catch (System.Net.WebException ex)
            {
                Console.WriteLine("创建表失败。网络异常:{0}。请检查Endpoint或网络链接。", ex.Message);
            }
        }
    }
}
Examples

下面的示例代码演示如何通过OtsClient的方法插入一条数据。
using System;
using System.Linq;
using Aliyun.OpenServices.OpenTableService;

namespace Aliyun.OpenServices.Samples.OpenTableService
{
    class PutDataSample
    {
        string endpoint = "http://ots.aliyuncs.com";
        string accessId = "<your access id>";
        string accessKey = "<your access key>";

        public void PutData(string tableName)
        {
            // 构造RowPutChange
            var rowChange = new RowPutChange();
            // 注意rowChange的主键信息必须与创建表时指定的主键个数、名称及类型均一致
            // 可以直接赋值主键为支持的类型对象,包括整型、布尔型和字符串。
            rowChange.PrimaryKeys["uid"] = 1;
            rowChange.PrimaryKeys["flag"] = true;
            rowChange.PrimaryKeys["name"] = "张三";
            //.其他属性信息放在AttributeColumns中,可以是建表时没有指定的列
            // 可以直接赋值列值为支持的类型对象,包括整型、浮点型、布尔型和字符串。
            rowChange.AttributeColumns["groupid"] = 1;
            rowChange.AttributeColumns["mobile"] = "11111111111";
            rowChange.AttributeColumns["address"] = "中国某地";
            rowChange.AttributeColumns["age"] = 20;

            // 提交数据
            var otsClient = new OtsClient(endpoint, accessId, accessKey);

            try
            {
                otsClient.PutData(tableName, rowChange);
            }
            catch (OtsException ex)
            {
                Console.WriteLine("插入数据失败。OTS异常消息: " + ex.Message);
                Console.WriteLine("Request ID: {0}\tHostID: {1}", ex.RequestId, ex.HostId);
            }
            catch (System.Net.WebException ex)
            {
                Console.WriteLine("创建表失败。网络异常:{0}。请检查Endpoint或网络链接。", ex.Message);
            }
        }
    }
}
See Also

Reference