Я пытаюсь перенести данные из одной коллекции в другую, используя azure функции запуска Космос. Я установил StartFromBeginning = True. У меня есть несколько коллекций для миграции, поэтому я использую одну функцию для каждой коллекции, поэтому передача происходит быстро.
Когда я развертываю функцию, она показывает, что статус имеет Выполнение, но фактически не запускает передачу, пока я не остановлюсь и не начну. Или, если я go в разделе монитора и go в реальном времени метрики, то это начнется. Есть ли способ начать передачу, как только она будет развернута. Я испортил настройку?
Например, вчера вечером я развернул функцию, а сегодня утром, когда посмотрел на количество записей в коллекции, ее не было. Когда я перешел к разделу «Монитор» в функциях Azure, а затем к метрикам приложения Live, только я вижу, как он инициализируется, а затем начинает выполняться.
Космический триггер
public async Task Run([CosmosDBTrigger(
databaseName: "%SourceDatabaseName%",
collectionName: "%ContainerName%",
ConnectionStringSetting = "connectionString",
StartFromBeginning =true,
LeaseCollectionName ="%ContainerLeaseName%",
CreateLeaseCollectionIfNotExists = true)]IReadOnlyList<Document> source,
[CosmosDB(databaseName:"%TargetDatabaseName%",
collectionName:"%TargetContainerName%",
ConnectionStringSetting = "connectionString")]IAsyncCollector<Document> destination,
ILogger log)
Развернуть сценарий
az functionapp create `
-n $functionAppName `
--storage-account $storageAccountName `
--consumption-plan-location $location `
--app-insights $appInsightsName `
--runtime dotnet `
-g $resourceGroup
az functionapp deployment source config-zip `
-g $resourceGroup -n $functionAppName --src $publishZip
az functionapp config appsettings set -n $functionAppName -g $resourceGroup `
--settings "connectionString=$cosmosConnectionString" "ContainerName=$cosmosContainer" "ContainerLeaseName=$($cosmosContainer)Lease" "SourceDatabaseName=$sourceCosmosDb" "TargetDatabaseName=$destCosmosDb" "TargetContainerName=$cosmosContainer" "JobType=$jobType"