日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

創(chuàng)建通道

如果需要實(shí)時(shí)消費(fèi)表中數(shù)據(jù),您需要調(diào)用CreateTunnel接口為數(shù)據(jù)表創(chuàng)建一個(gè)通道,一張數(shù)據(jù)表上可以創(chuàng)建多個(gè)通道。在創(chuàng)建通道時(shí)需要指定數(shù)據(jù)表名稱、通道名稱和通道類型。

前提條件

參數(shù)

請(qǐng)求參數(shù)

參數(shù)

說明

TableName

數(shù)據(jù)表名稱。

TunnelName

通道的名稱。

TunnelType

通道的類型。取值范圍如下:

  • BaseData:全量類型。只能消費(fèi)處理全量數(shù)據(jù)。

  • Stream:增量類型。只能消費(fèi)處理增量數(shù)據(jù)。

  • BaseAndStream:全量加增量類型。全量數(shù)據(jù)消費(fèi)處理完成后,再消費(fèi)處理增量數(shù)據(jù)。

創(chuàng)建增量或者全量加增量類型的通道時(shí),系統(tǒng)默認(rèn)創(chuàng)建通道后寫入的數(shù)據(jù)為增量數(shù)據(jù)。如果要消費(fèi)指定時(shí)間點(diǎn)后的增量數(shù)據(jù),請(qǐng)配置增量數(shù)據(jù)的起始時(shí)間戳(startTime)。

  • 起始時(shí)間戳的取值范圍為[當(dāng)前系統(tǒng)時(shí)間-Stream過期時(shí)間+5分鐘 , 當(dāng)前系統(tǒng)時(shí)間],單位為毫秒

    說明

    Stream過期時(shí)間為增量日志過期時(shí)長的毫秒單位時(shí)間戳,最大值為7天。您可以在為數(shù)據(jù)表開啟Stream功能時(shí)設(shè)置,過期時(shí)長一經(jīng)設(shè)置不能修改。

  • 您也可以配置增量數(shù)據(jù)的結(jié)束時(shí)間戳(endTime),結(jié)束時(shí)間戳的取值必須大于起始時(shí)間戳。

響應(yīng)參數(shù)

參數(shù)

說明

TunnelId

通道的ID。

ResponseInfo

返回的一些其它字段。

RequestId

當(dāng)次請(qǐng)求的Request ID。

示例

創(chuàng)建全量類型的通道

以下示例用于為數(shù)據(jù)表創(chuàng)建一個(gè)全量類型的通道。

//支持創(chuàng)建三種類型的通道TunnelType.BaseData(全量)、TunnelType.Stream(增量)和TunnelType.BaseAndStream(全量加增量)。
//本示例為創(chuàng)建全量類型的通道,如果需要?jiǎng)?chuàng)建其它類型的通道,則將CreateTunnelRequest中的TunnelType設(shè)置為相應(yīng)的類型。
private static void createTunnel(TunnelClient client, String tableName, String tunnelName) {
    CreateTunnelRequest request = new CreateTunnelRequest(tableName, tunnelName, TunnelType.BaseData);
    CreateTunnelResponse resp = client.createTunnel(request);
    System.out.println("RequestId: " + resp.getRequestId());
    System.out.println("TunnelId: " + resp.getTunnelId());
}

創(chuàng)建增量或者全量加增量類型的通道

以下示例用于為數(shù)據(jù)表創(chuàng)建增量或全量加增量類型的通道,并指定讀取的增量數(shù)據(jù)時(shí)間范圍。

//創(chuàng)建增量或者全量加增量類型的通道,指定起始時(shí)間戳或結(jié)束時(shí)間戳,表示讀取的增量數(shù)據(jù)時(shí)間范圍。對(duì)于全量類型的通道,StreamTunnelConfig的配置不生效。
private static void createStreamTunnelByOffset(TunnelClient client,String tableName,String tunnelName, long startTime, long endTime){
    CreateTunnelRequest createTunnelRequest = new CreateTunnelRequest(tableName,tunnelName, TunnelType.Stream);//創(chuàng)建增量類型通道。
    //CreateTunnelRequest createTunnelRequest = new CreateTunnelRequest(tableName,tunnelName, TunnelType.BaseAndStream);//創(chuàng)建全量加增量類型通道。
    StreamTunnelConfig streamTunnelConfig = new StreamTunnelConfig();  
    /*
        指定增量數(shù)據(jù)的起始時(shí)間戳(startTime)和結(jié)束時(shí)間戳(endTime)。單位為毫秒,取值范圍為[CurrentSystemTime - StreamExpiration + 5 minute, CurrentSystemTime)。
        其中CurrentSystemTime為當(dāng)前系統(tǒng)時(shí)間的毫秒單位時(shí)間戳;StreamExpiration為增量日志過期時(shí)間的毫秒單位時(shí)間戳,最大值為7天。您可以在為數(shù)據(jù)表開啟Stream功能時(shí)設(shè)置。
        結(jié)束時(shí)間戳的取值必須大于起始時(shí)間戳。
     */
    streamTunnelConfig.setStartOffset(startTime);
    streamTunnelConfig.setEndOffset(endTime);
    createTunnelRequest.setStreamTunnelConfig(streamTunnelConfig);
    CreateTunnelResponse resp = client.createTunnel(createTunnelRequest);
    System.out.println("RequestId: " + resp.getRequestId());
    System.out.println("TunnelId: " + resp.getTunnelId());
}

常見問題

使用通道服務(wù)消費(fèi)數(shù)據(jù)時(shí)報(bào)錯(cuò)OTSTrimmedDataAccess Requested stream data is already trimmed or does not exist

相關(guān)文檔