コード例 #1
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;
        }
コード例 #2
0
        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();
        }