Beispiel #1
0
        private static JobProgressUpdater GetInMemoryJobProgressUpdater(Job job, IAzureBlobContainerClient containerClient)
        {
            var jobConfiguration = new JobConfiguration
            {
                ContainerName = "jobprogressupdater",
                StartTime     = DateTimeOffset.MinValue,
                EndTime       = DateTimeOffset.MaxValue,
            };

            var storeConfiguration = new DataLakeStoreConfiguration
            {
                StorageUrl = "http://test.blob.core.windows.net",
            };

            var mockFactory = Substitute.For <IAzureBlobContainerClientFactory>();

            mockFactory.Create(Arg.Any <string>(), Arg.Any <string>()).ReturnsForAnyArgs(containerClient);
            var jobStore = new AzureBlobJobStore(
                mockFactory,
                Options.Create(jobConfiguration),
                Options.Create(storeConfiguration),
                new NullLogger <AzureBlobJobStore>());

            return(new JobProgressUpdater(jobStore, job, new NullLogger <JobProgressUpdater>()));
        }
Beispiel #2
0
        public AzureBlobDataWriter(
            IAzureBlobContainerClientFactory containerClientFactory,
            IDataSink dataSink,
            ILogger <AzureBlobDataWriter> logger)
        {
            EnsureArg.IsNotNull(containerClientFactory, nameof(containerClientFactory));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _containerClient = containerClientFactory.Create(dataSink.StorageUrl, dataSink.Location);
            _logger          = logger;
        }
        public AzureBlobJobStore(
            IAzureBlobContainerClientFactory blobContainerFactory,
            IOptions <JobConfiguration> jobConfiguration,
            IOptions <DataLakeStoreConfiguration> storeConfiguration,
            ILogger <AzureBlobJobStore> logger)
        {
            EnsureArg.IsNotNull(blobContainerFactory, nameof(blobContainerFactory));
            EnsureArg.IsNotNull(jobConfiguration, nameof(jobConfiguration));
            EnsureArg.IsNotNull(storeConfiguration, nameof(storeConfiguration));

            _blobContainerClient = blobContainerFactory.Create(storeConfiguration.Value.StorageUrl, jobConfiguration.Value.ContainerName);
            _logger = EnsureArg.IsNotNull(logger, nameof(logger));

            _renewLockTimer          = new Timer(TimeSpan.FromSeconds(AzureBlobJobConstants.JobLeaseRefreshIntervalInSeconds).TotalMilliseconds);
            _renewLockTimer.Elapsed += async(sender, e) => await RenewJobLockLeaseAsync();
        }