Как автоматически перенести данные из базы данных Cosmos в базу данных SQL Azure? - PullRequest
0 голосов
/ 16 ноября 2018

Я хотел бы получать соответствующие данные из документов Cosmos DB каждый раз, когда Cosmos DB получает новый документ, и автоматически отправлять его в базу данных SQL Azure.Задача состоит в том, чтобы создать живой отчет Power BI, который будет обновляться с использованием новейших данных, поступающих в Cosmos DB, но, поскольку мне не нужно показывать все, я создал базу данных SQL в Azure, и мне не хватает только того, каксоздать функцию Azure, которая запускается, когда Cosmos DB получает новый документ.Кроме того, функция должна получить соответствующие данные и отправить их в Azure SQL.Есть ли стандартный способ сделать это?Нужно ли создавать приложение-функцию Azure?Я очень новичок в программировании и в Azure, поэтому я ценю, если кто-то может помочь в использовании языка для начинающих.Тем не менее, любая помощь приветствуется.

1 Ответ

0 голосов
/ 16 ноября 2018

Это легко сделать с помощью функции Azure, которая использует триггер CosmosDB.

Триггер будет, в общем-то, срабатывать всякий раз, когда есть одно или несколько изменений или дополнений в коллекции CosmosDB, на которую вы нацелены. Затем просто добавьте свой собственный код для вставки SQL.

namespace CosmosDBSamplesV2
{
    public static class CosmosTrigger
    {
        [FunctionName("CosmosTrigger")]
        public static void Run([CosmosDBTrigger(
            databaseName: "CosmosDBName",
            collectionName: "CosmosColName",
            ConnectionStringSetting = "CosmosDBConnection",
            LeaseCollectionName = "leases",
            CreateLeaseCollectionIfNotExists = true)]IReadOnlyList<Document> documents, 
            ILogger log)
        {
            if (documents != null && documents.Count > 0)
            {
                //do SQL insert with your code here
            }
        }
    }
}

Вы можете прочитать, как вы можете подключиться к базе данных SQL из функции Azure здесь: https://docs.microsoft.com/en-us/azure/azure-functions/functions-scenario-database-table-cleanup

Подробнее о функциях Azure, связанных с CosmosDB, можно прочитать здесь: https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb-v2

...