Azure storage tableから1000件以上のデータを取得する方法

queryEntitiesは最大1000件までしか取得できない。 continuationTokeを使うことで1000件以上のデータを取得することができる

exports.getDataFromStorageServiceAsync = async function getAllFromTable(key) {
    let account = "";
    let access_key = "";
    var tableService = azure.createTableService(account, access_key);
    var query = new azure.TableQuery()
        .where('PartitionKey eq ?', key);
    var continuationToken = null;
    var entities = [];
    do {
        var results = await queryEntitiesSegmented(process.env["TABLE_NAME"], tableService, query, continuationToken);
        continuationToken = results.continuationToken;
        entities.push.apply(entities, results.entries);
    }
    while (continuationToken != null);
    return entities;
}

const queryEntitiesSegmented = async (table, tableService, tableQuery, continuationToken) => {
    return new Promise((resolve, reject) => {
        tableService.queryEntities(table, tableQuery, continuationToken, (error, results) => {
            if (error) { reject(error); }
            else { resolve(results); }
        });
    });
}