public static async Task <DisposingDirectory> CreateAsync(DisposingShare test, ShareDirectoryClient directory) { await directory.CreateIfNotExistsAsync(); return(new DisposingDirectory(test, directory)); }
private DisposingDirectory(DisposingShare test, ShareDirectoryClient directory) { _test = test; Directory = directory; }
public ServiceStorageFiles(String keys) { ShareClient client = new ShareClient(keys, "ejemplo"); this.root = client.GetRootDirectoryClient(); }
public FileShareDirectoryScope(ShareClient shareClient, ShareDirectoryClient directoryClient, string shareName, string directoryName) : base(shareClient, shareName) { DirectoryClient = directoryClient; DirectoryName = directoryName; }
public override void ExecuteCmdlet() { CloudFileDirectory baseDirectory; switch (this.ParameterSetName) { case Constants.DirectoryParameterSetName: baseDirectory = this.Directory; break; case Constants.ShareNameParameterSetName: baseDirectory = this.BuildFileShareObjectFromName(this.ShareName).GetRootDirectoryReference(); break; case Constants.ShareParameterSetName: baseDirectory = this.Share.GetRootDirectoryReference(); break; default: throw new PSArgumentException(string.Format(CultureInfo.InvariantCulture, "Invalid parameter set name: {0}", this.ParameterSetName)); } // when only track1 object input, will miss storage context, so need to build storage context for prepare the output object. if (this.Context == null) { this.Context = GetStorageContextFromTrack1FileServiceClient(baseDirectory.ServiceClient, DefaultContext); } ShareDirectoryClient baseDirClient = AzureStorageFileDirectory.GetTrack2FileDirClient(baseDirectory, ClientOptions); if (string.IsNullOrEmpty(this.Path)) { ShareDirectoryGetFilesAndDirectoriesOptions listFileOptions = new ShareDirectoryGetFilesAndDirectoriesOptions(); if (!this.ExcludeExtendedInfo.IsPresent) { listFileOptions.Traits = ShareFileTraits.All; listFileOptions.IncludeExtendedInfo = true; } Pageable <ShareFileItem> fileItems = baseDirClient.GetFilesAndDirectories(listFileOptions, this.CmdletCancellationToken); IEnumerable <Page <ShareFileItem> > fileitempages = fileItems.AsPages(); foreach (var page in fileitempages) { foreach (var file in page.Values) { if (!file.IsDirectory) // is file { ShareFileClient shareFileClient = baseDirClient.GetFileClient(file.Name); WriteObject(new AzureStorageFile(shareFileClient, (AzureStorageContext)this.Context, file, ClientOptions)); } else // Dir { ShareDirectoryClient shareDirClient = baseDirClient.GetSubdirectoryClient(file.Name); WriteObject(new AzureStorageFileDirectory(shareDirClient, (AzureStorageContext)this.Context, file, ClientOptions)); } } } } else { if (ExcludeExtendedInfo.IsPresent) { WriteWarning("'-ExcludeExtendedInfo' will be omit, it only works when list file and directory without '-Path'."); } bool foundAFolder = true; ShareDirectoryClient targetDir = baseDirClient.GetSubdirectoryClient(this.Path); ShareDirectoryProperties dirProperties = null; try { dirProperties = targetDir.GetProperties(this.CmdletCancellationToken).Value; } catch (global::Azure.RequestFailedException e) when(e.Status == 404) { foundAFolder = false; } if (foundAFolder) { WriteObject(new AzureStorageFileDirectory(targetDir, (AzureStorageContext)this.Context, dirProperties)); return; } ShareFileClient targetFile = baseDirClient.GetFileClient(this.Path); ShareFileProperties fileProperties = targetFile.GetProperties(this.CmdletCancellationToken).Value; WriteObject(new AzureStorageFile(targetFile, (AzureStorageContext)this.Context, fileProperties, ClientOptions)); } }