你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

IFileStagingArtifact 接口

定义

包含有关文件暂存过程的信息。 通常为 CloudTask (请参阅 FilesToStage) 执行文件暂存。

public interface IFileStagingArtifact
type IFileStagingArtifact = interface
Public Interface IFileStagingArtifact
派生

注解

IFileStagingArtifact 允许应用程序自定义和获取有关将文件上传到云的过程的信息,例如作为与任务相关的操作(如 JobOperations.AddTaskAsyncCloudJob.AddTaskAsync)的一部分。 例如,应用程序可以使用此信息来了解在上传过程中在 Azure 存储中创建的容器。

调用 JobOperations.AddTaskAsync 时,Batch 客户端会将任务发送到集合中的 Batch 服务。 处理每个集合时,Batch 客户端将对该集合执行文件暂存:它会检查任务以查看其中是否有任何指定了任何 FilesToStage,如果是,则为 FilesToStage 集合中的每种类型的 IFileStagingProvider 创建字典条目。 字典条目的键是 Type IFileStagingProvider 的 ,值是 IFileStagingArtifact 的相应实现的实例。 例如,如果 FilesToStage 包含从 Microsoft.Azure.Batch.FileStaging 库) (的一个或多个 FileToStage 对象,则字典包含一个项,其键类型为 (fileToStage) ,其值为 SequentialFileStagingArtifact 的实例。

当“添加任务”操作完成时,或者在“添加任务”操作期间,如果应用程序是多线程的,则可以检查字典并将每个 IFileStagingArtifact 转换为适当的类型以检索特定于类型的信息。 例如,如果“添加任务”操作指定了一个或多个 FileToStage 对象,则可以找到按 typeof (FileToStage) 键的字典条目,将该值强制转换为 SequentialFileStagingArtifact,并检查 SequentialFileStagingArtifact.BlobContainerCreated 属性以确定上传过程是否在 Azure 存储中创建 Blob 容器,如果是,则确定该容器的名称。 此示例可用于清理自动创建的容器。

(单任务添加任务操作的工作方式类似,不同之处在于,在多任务添加任务操作中,每个任务集合都有一个字典,字典收集在 中 ConcurrentBag<T>,而在单任务添加任务操作中,只有一个字典。)

在单任务“添加任务”操作中,还可以使用 字典通过预填充相应的条目来自定义文件暂存过程。 例如,假设你想要控制 NamingFragment 一组 FileToStage 对象的 。 然后,可以使用 初始化字典 { typeof(FileToStage), new SequentialFileStagingArtifact { NamingFragment = "myname" } } ,然后再将其传递给 AddTaskAsync。 然后,IFileStagingProvider 的 FileToStage 实现将使用 SequentialFileStagingArtifact,而不是创建自己的。 (此功能在多任务添加任务操作中不可用。)

如果要开发自定义 IFileStagingProvider,则还可能会遇到 IFileStagingArtifact。 在这种情况下,通常会创建 IFileStagingArtifact 的自定义实现,以报告有关文件暂存过程的实现特定信息。

属性

NamingFragment

获取或设置构造默认名称时可以使用的名称片段。

适用于