コード例 #1
0
        public async Task <Stream> ConvertAsync(DataLakeStoreAttribute input, CancellationToken cancellationToken)
        {
            // Create ADLS client object
            var adlsClient = _adlsClient ?? (_adlsClient = await DataLakeAdlsService.CreateAdlsClientAsync(input.TenantID, input.ClientSecret, input.ApplicationId, input.AccountFQDN));

            return(await adlsClient.GetReadStreamAsync(input.FileName));
        }
コード例 #2
0
        public Task FlushAsync(CancellationToken cancellationToken = default(CancellationToken))
        {
            // Create ADLS client object
            var adlsClient = _adlsClient ?? (_adlsClient = DataLakeAdlsService.CreateAdlsClient(_attribute.TenantID, _attribute.ClientSecret, _attribute.ApplicationId, _attribute.AccountFQDN));

            foreach (var item in _items)
            {
                // Create a file - automatically creates any parent directories that don't exist
                string fileName = item.filename;

                using (var stream = adlsClient.CreateFile(fileName, IfExists.Overwrite))
                {
                    item.stream.CopyTo(stream);
                }
            }

            return(Task.CompletedTask);
        }
        public async Task StartAsync(CancellationToken cancellationToken)
        {
            try
            {
                _listenerStoppingTokenSource = new CancellationTokenSource();
                string ClientId     = Environment.GetEnvironmentVariable("ClientId");
                string TenantId     = Environment.GetEnvironmentVariable("TenantId");
                string AppKey       = Environment.GetEnvironmentVariable("AppKey");
                string DataLakeName = Environment.GetEnvironmentVariable("DataLakeName");

                //Create AdlsClientObject
                AdlsClient adlsClient = await DataLakeAdlsService.CreateAdlsClientAsync(TenantId, AppKey, ClientId, DataLakeName);

                if (adlsClient != null)
                {
                    while (!_listenerStoppingTokenSource.IsCancellationRequested)
                    {
                        EnumerateFile(adlsClient, adlsWatcherTriggerAttribute.FolderName, this.lastScanDateTime, DateTime.UtcNow,

                                      async(fileName, fileFullName, modifiedName) =>
                        {
                            var data = new AdlsFileChangeEvent
                            {
                                FileName     = fileName,
                                FileFullPath = fileFullName,
                                FileStram    = await adlsClient.GetReadStreamAsync(fileFullName)
                            };

                            var triggerData = new TriggeredFunctionData
                            {
                                TriggerValue = data
                            };

                            await Executor.TryExecuteAsync(triggerData, CancellationToken.None);
                        }
                                      );
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public async Task AddAsync(DataLakeStoreOutput item, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }

            if (item.FileName == null)
            {
                throw new InvalidOperationException("You must specify a filename.");
            }

            // Create ADLS Client
            var adlsClient = _adlsClient ?? (_adlsClient = await DataLakeAdlsService.CreateAdlsClientAsync(
                                                 _attribute.TenantID, _attribute.ClientSecret, _attribute.ApplicationId, _attribute.AccountFQDN
                                                 ));

            // Write the file
            using (var stream = await adlsClient.CreateFileAsync(item.FileName, IfExists.Overwrite))
            {
                await item.FileStream.CopyToAsync(stream);
            }
        }