public override DTSExecResult Execute(Connections connections, VariableDispenser variableDispenser, IDTSComponentEvents componentEvents, IDTSLogging log, object transaction) { _componentEvents = componentEvents; _variableDispenser = variableDispenser; _connections = connections; _azureBlobConnectionInfo = (AzureBlobConnectionInfo)_connections[_connection].AcquireConnection(null); Uri uri = (Uri)null; if (this.InputSource != SourceType.BlobPath) { //If a blob name is specified we create one if (string.IsNullOrEmpty(_blobName)) { _blobName = string.Format(AZURE_ML_BLOB_NAME_FORMAT, DateTime.Now.ToString("yyyyMMdd"), Guid.NewGuid()); } uri = UploadFile(); if (uri == null) return DTSExecResult.Failure; } else { uri = new Uri(_source); } var task = ProcessBatch(uri); task.Wait(); if (task.Result != BatchScoreStatusCode.Finished) { return DTSExecResult.Failure; } return DTSExecResult.Success; }
public override object AcquireConnection(object txn) { UpdateConnectionString(UseDevelopmentStorage); _blobStorageInfo = new AzureBlobConnectionInfo() { StorageAccount = CloudStorageAccount.Parse(_connectionString), ConnectionString = _connectionString, Path = this.Path, Separator = this.Delimiter, HasHeaders = this.HasHeaders, FilePattern = this.FilePattern, FileSize = this.FileSize, IncludeHeaders = this.IncludeHeaders }; return _blobStorageInfo; }