Ejemplo n.º 1
0
        private static CloudTask WithOutputFile(
            this CloudTask task,
            string pattern,
            string containerUrl,
            Func <string> pathFunc,
            OutputFileUploadCondition uploadCondition)
        {
            if (task.OutputFiles == null)
            {
                task.OutputFiles = new List <OutputFile>();
            }

            string path = pathFunc();

            task.OutputFiles.Add(
                new OutputFile(
                    filePattern: pattern,
                    destination: new OutputFileDestination(new OutputFileBlobContainerDestination(
                                                               containerUrl: containerUrl,
                                                               path: path)),
                    uploadOptions: new OutputFileUploadOptions(
                        uploadCondition: uploadCondition)));

            return(task);
        }
Ejemplo n.º 2
0
        internal static OutputFileUploadOptions DeserializeOutputFileUploadOptions(JsonElement element)
        {
            OutputFileUploadCondition uploadCondition = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("uploadCondition"))
                {
                    uploadCondition = property.Value.GetString().ToOutputFileUploadCondition();
                    continue;
                }
            }
            return(new OutputFileUploadOptions(uploadCondition));
        }
Ejemplo n.º 3
0
        internal static string ToSerializedValue(this OutputFileUploadCondition value)
        {
            switch (value)
            {
            case OutputFileUploadCondition.TaskSuccess:
                return("tasksuccess");

            case OutputFileUploadCondition.TaskFailure:
                return("taskfailure");

            case OutputFileUploadCondition.TaskCompletion:
                return("taskcompletion");
            }
            return(null);
        }
Ejemplo n.º 4
0
        public static CloudTask WithOutputFile(
            this CloudTask task,
            string pattern,
            string containerUrl,
            TaskOutputKind outputKind,
            OutputFileUploadCondition uploadCondition)
        {
            var  outputBase = task.GetOutputStoragePath(outputKind);
            bool patternContainsWildcard = pattern.Contains("*");
            var  path = patternContainsWildcard ? outputBase : $"{outputBase}/{pattern}";

            return(task.WithOutputFile(
                       pattern,
                       containerUrl,
                       path,
                       uploadCondition));
        }
Ejemplo n.º 5
0
        public static CloudTask WithOutputFile(
            this CloudTask task,
            string pattern,
            string containerUrl,
            TaskOutputKind outputKind,
            OutputFileUploadCondition uploadCondition)
        {
            Func <string> pathFunc = () =>
            {
                bool patternContainsWildcard = pattern.Contains("*");

                return(patternContainsWildcard ? $"{task.Id}\\${outputKind}" : $"{task.Id}\\${outputKind}\\{pattern}");
            };

            return(task.WithOutputFile(
                       pattern,
                       containerUrl,
                       pathFunc,
                       uploadCondition));
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Initializes a new instance of the OutputFileUploadOptions class.
 /// </summary>
 /// <param name="uploadCondition">The conditions under which the task
 /// output file or set of files should be uploaded.</param>
 public OutputFileUploadOptions(OutputFileUploadCondition uploadCondition)
 {
     UploadCondition = uploadCondition;
     CustomInit();
 }
 public static string ToSerialString(this OutputFileUploadCondition value) => value switch
 {
 internal OutputFileUploadOptions(OutputFileUploadCondition uploadCondition)
 {
     UploadCondition = uploadCondition;
 }