studio
2024.10
true
UiPath logo, featuring letters U and I in white
Studio 用户指南
Last updated 2024年11月4日

使用编码工作流和 Orchestrator API 生成队列

本教程演示如何使用可从 Swagger 访问的 Orchestrator API 构建生成随机队列的自动化。自动化将创建一个新队列,使用随机数据生成队列项目,并将其添加到队列中。

先决条件:
  • 对于此示例,您需要使用测试自动化。但是,您可以将编码工作流用于任何类型的 RPA 流程。
  • System.Activities 23.10
  • Testing.Activities 23.10
  • 在 Studio 项目的“服务”部分中添加新服务 (Orchestrator)。
    • 在“文件”或“链接”下添加要使用的实例的 Orchestrator API Swagger 定义,然后单击“加载”。要获取 Swagger 定义链接,请访问 API 参考
    • 取消选择除队列定义以外的所有端点,然后单击“保存”。
  1. 通过选择“新建”,然后从“文件”组中选择“编码工作流”,创建一个编码工作流。
  2. 在“执行”方法中,通过调用 BuildClient(String, Boolean) 方法创建 HttpClient 对象的实例。此方法用于构建具有指定作用域的 HTTP 客户端。
    该方法采用两个参数,这两个参数具有以下默认值:
    1. scope "Orchestrator" - 要为其获取访问令牌的 OAuth 2.0 作用域。
    2. force True - 生成新的访问令牌。
    var client = BuildClient();var client = BuildClient();
  3. 创建 QueueDefinitionsClient 的实例,将客户端实例作为参数传递,并将其分配给名为“queueClient”的变量。此客户端变量用于与 Orchestrator 的队列定义 API 进行交互。
    var queueClient = new QueueDefinitionsClient(client);var queueClient = new QueueDefinitionsClient(client);


  4. 生成队列名称并创建新队列。
    var queueName = "SampleQueue" + Guid.NewGuid().ToString("N");
    var queue = queueClient.PostAsync(new QueueDefinitionDto() { Name = queueName }, null).Result;var queueName = "SampleQueue" + Guid.NewGuid().ToString("N");
    var queue = queueClient.PostAsync(new QueueDefinitionDto() { Name = queueName }, null).Result;
    


  5. 创建一个并行遍历循环,以遍历 0 到 100 之间的数字范围。使用字典存储“地址”、“名字”和“姓氏”的值。使用“Address”“GivenName”“LastName”API 为这些项目生成随机值。
    在这种情况下,将使用并行遍历循环而不是简单的遍历,目的是提高自动化的性能。
    Parallel.ForEach(Enumerable.Range(0, 100), i =>
          {
            var data = new Dictionary<string, object>()
            {
              { "Address", testing.Address("Romania", "Bucharest")["City"].ToString() },
              { "FirstName", testing.GivenName() },
              { "LastName", testing.LastName() }
            };Parallel.ForEach(Enumerable.Range(0, 100), i =>
          {
            var data = new Dictionary<string, object>()
            {
              { "Address", testing.Address("Romania", "Bucharest")["City"].ToString() },
              { "FirstName", testing.GivenName() },
              { "LastName", testing.LastName() }
            };
    


  6. 使用“AddQueueItem”API 将随机数据添加到队列中。
    system.AddQueueItem(queueName, null, DateTime.UtcNow, data, DateTime.UtcNow, QueueItemPriority.Normal, i.ToString(), 100);system.AddQueueItem(queueName, null, DateTime.UtcNow, data, DateTime.UtcNow, QueueItemPriority.Normal, i.ToString(), 100);

示例项目

要按照这些步骤操作,请下载以下示例项目:使用编码工作流和 Orchestrator API 生成队列

  • 示例项目

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。