Skip to main content

Server UI 概览

重要

如果您还不熟悉 API,请访问 API 使用入门 帮助页面。

重要

从22.1版本开始,我们摒弃了传统的公共OAuth1 API端点,因为它们需要不符合FIPS标准的SHA1哈希。摒弃内容包括传统的 WCF(Windows 通信框架)端点、用于这些传统端点的 Swagger 以及 OAuth1 中间件。要替换 OAuth1 端点,您可以使用 21.4 版发布且符合 FIPS 标准的旧版 API 的 OAuth2 版本。使用 OAuth2 API 时,功能体验与 OAuth1 API 相同。

OAuth2 将继续支持订阅、V1 和 V2 端点。

要详细了解转换及其影响,请访问 从 OAuth1 转换为 OAuth2 的说明 帮助页面或 转换说明 从 OAuth1 转换为 OAuth2 的说明

Server API 由 6 个 API 组成:

  • Subscription API :供用户与订阅、工作流和计划(作业)交互的端点。

  • User V2 API :供用户与凭证、输入文件和计划(作业)交互的端点。

  • Admin V1 API :供管理员从管理员界面获取资源的端点。

  • Admin V2 API :供管理员从管理员界面获取资源的端点版本 2。

  • Admin V3 API :端点版本 3。此版本使用 OAuth 2。

  • Admin V3 API :端点版本 3。此版本使用 OAuth 2。

注意

除了为 V3 API 端点 添加新功能之外,我们还将 V1、订阅和 V2 端点提供 OAuth 2 使用。您过去使用的相同端点现在可作为一个 OAuth 2 的新基址。Server API V3 对象

用 OAuth 2 的情况下,Web API Address 只能为 V1、V2 和 V3 设置 。OAuth 1 的 V1 和 V2 API 文档地址为 http://{ServerHostname}/gallery/api-docs/

The Web API address can be set up in System Settings.

访问 Server API 参考文档

Swagger 中提供了所有 Server API 端点的完整参考文档。

Server UI 中有两个位置可以访问 Server API 参考文档。

  1. 选择顶部工具条中的问号图标,然后选择 API 文档

    Thumbnail
  2. 选择您的用户名并选择 我的配置文件  >  密钥 。您可以在 API 验证序号旁边找到指向 API 文档的链接。

您还可以使用以下 URL 访问 Server API 的参考文档: http(s)://serverhostname.domain/webapi/swagger 。Serverhostname 是您的 Server 实例的 URL。

向 Server API 参考文档进行身份验证

Server API 文档是交互式的,允许您填充参数并查看响应。要使用交互功能,您必须进行身份验证。为此,请执行以下步骤:

  1. 在 Server UI 中,选择您的用户名并选择 我的配置  >  密钥 。复制要向其进行身份验证的 API 的 API 验证序号,并将它们粘贴到 API 验证序号 共享密钥 字段中。这些密钥将显示为 已保存

  2. 选择要运行的调用,填充参数,然后选择 试用

API 验证序号和 API 访问权限

用户访问 API 应由 Server 管理员授权。如需了解详情,请访问 允许用户访问 Server API 。在您授予用户对 API 的访问权限后,用户可以在 我的配置 页面的 密钥 选项卡上找到他们的 API 验证序号。要访问您的 API 密钥,请选择您的用户名并选择 我的配置 > 密钥 允许用户访问 Server API

API keys are located under My Profile Keys.

拥有Curator角色的用户可以使用 API访问 密钥来访问所有API。

所有非管理员用户都可以使用 API 验证 序号访问 Subscription API 和 User V2 API。

构建 API 端点

要构建 API 端点,请使用以下架构: {serverBaseAddress}/api/{endpoint} 。例如,如果系统设置的基址是 https://my.server.tld/gallery ,则必须在API文档中的每个端点前加上 https://my.server.tld/gallery/api

身份验证

如需了解详情,请参阅 Server API 配置和授权 一文。Server API 配置和授权

对于使用OAuth 1.0a标准进行身份验证的Server API,Server API只要求生成签名,有时称为 单脚流 ,而不是完整的三脚OAuth 1.0a流。 有关信息,请参见OAuth 1.0a规范的签名过程部分。

使用使用OAuth 1.0a标准的第三方签名生成代码来生成每个API调用所需的这些令牌。以OAuth_开头的任何其他参数都将被忽略。

  • Oauth_consumer_key="{consumer key}"

  • oauth_signature_method="HMAC-SHA1

  • Oauth_signature=""{signature}

  • Oauth_timestamp=""{timestamp}

  • Oauth_nonce=""{nonce}

  • (可选) OAuth_version="1.0"

为了增强安全性,我们建议您将OAuth参数作为标头发送。下面是一个签名的curl请求示例,其中所有生成的令牌都在授权标头中传递。

curl --location --request POST 'http:{yourhostname}/api/user/v2/workflows' \
--header 'Authorization: OAuth oauth_consumer_key="{consumer key}",
                         oauth_signature_method="HMAC-SHA1",
                         oauth_signature="{signature}",
                         oauth_timestamp="{timestamp}",
                         oauth_nonce="{nonce}"' \

您可以在 C# JavaScript中引用一个全功能的服务器客户端示例

API 端点和参数

在本节中,您将找到以下端点的相关详情:

Server 会跟踪对以下系统实体所做的更改:

  • AppInfo(工作流)

  • 集合

  • 凭证

  • 订阅

  • 用户

  • UserGroup

通过 Server API 获取所记录的事件

这些实体每次更新都会生成一条事件审计记录。您可以通过公共的管理 API 端点返回这些记录。

审计日志由以下类型的操作(事件)触发:更新,插入和删除。

端点

AuditEvents 的端点是 GET /admin/v1/auditlog/

它要求三个查询参数

  • entity :(字符串)要查询的审计日志实体。

  • page :(int) 要返回的页面。

  • pageSize :(int) 每页要返回的记录数。

得到的反馈将是一组事件审计记录:

[
  {
    "id": "",
    "entity": "",
    "entityId": "",
    "userId": "",
    "timestamp": "Date",
    "event": "",
    "oldValues": "",
    "newValues": ""
  }
]

返回的属性定义如下:

  • id :审计事件 ID。

  • entity :实体的名称。

  • entityId :实体的实体 ID。

  • userId :修改实体的用户的 ID。

  • timestamp :创建审计事件记录的日期和时间。

  • event :发生的事件(插入、更新、删除)。

  • oldValues :在更新之前的更新属性值。

  • newValues :在更新之后的更新属性值。

要通过 API 运行使用 文件浏览工具 的工作流,请使用 /user/v2/inputfiles 端点上传文件。File Browse Tool Icon 文件浏览工具

  1. 首先向 /user/v2/inputfiles 端点发出 multipart/form-data POST 请求以发布临时文件。所需 form-data 部分的名称是 inputFile

    curl --location --request POST 'http:{yourhostname}/api/user/v2/inputfiles/' \
    --form 'inputFile=@/file/path/filename.csv' 
  2. 接下来,对 /user/v2/workflows/{appId}/jobs/ 端点执行 POST。

    1. 然后在问号对象中加入文件浏览工具的 名称 。如果您不确定文件浏览工具的名称,请使用 /v1/workflows/{appId}/questions 端点获取文件浏览工具的名称。

    2. value 是您的输入文件调用在响应中返回的参考 ID。

    curl --location --request POST 'http:{yourhostname}/api/user/v2/workflows/{appId}/jobs' \
    --header 'Content-Type: text/plain' \
    --header 'Authorization: OAuth oauth_consumer_key="{consumer key}",
                             oauth_signature_method="HMAC-SHA1",
                             oauth_timestamp="{timestamp}",
                             oauth_nonce="{nonce}",
                             oauth_signature="{signature}"' \
    --data-raw '{
        "questions": [
            {
                "name": "File Browse",
                "value": "{reference ID}"
            }
        ]
        "priority": "Low"
    }'
    

使用 migratable 端点跨 Server 环境迁移工作流。您可以使用它来管理开发和测试阶段的工作流部署。

首先,必须 启用迁移工作流 。将工作流标记为进行迁移后,请按照以下步骤将它们从源环境发布到目标环境的相应订阅(工作室)中。启用工作流迁移

第 1 步:获取准备迁移的工作流列表

接下来,使用以下端点获取准备迁移的工作流列表:

  • Environment:

  • 方法: GET

  • 端点: api/admin/v1/workflows/migratable/?subscriptionIds={subscriptionIds}/

包括逗号分隔的 subscriptionIds  列表作为查询参数。订阅 ID 用于标识特定的工作室。

返回的结果是在指定订阅(工作室)下标记为准备迁移的工作流数组。如果不提供 subscriptionsIds ,返回的结果将包括所有标记为准备迁移的工作流。返回结果包括 3 个属性: appId 、当前发布的 revisionId 和工作流所属的 subscriptionID

第 2 步:从源环境下载工作流

以下端点将工作流下载为 YXZP 文件。

  • Environment:

  • 方法: GET

  • 端点: api/admin/v1/{appID}/package/

包括 appID 作为路径参数。返回结果是一个下载包形式的完整工作流。

第 3 步:在目标环境中发布工作流

以下端点将下载的工作流发布到目标环境。

  • 环境: 目标

  • 方法: POST

  • 端点: api/admin/v1/workflows/

参数

参数

描述

类型

必填

file

新工作流的文件名。

字符串

True

name

新工作流名称。

字符串

True

owner

已迁移工作流的所有者。电子邮件地址必须存在于目标环境中。

字符串

True

validate

此标记用于在迁移到目标环境时验证工作流。

布尔值

True

isPublic

此标记用于将工作流设置为公开,以在目标环境中的“我的公司的 Gallery”中显示。

布尔值

True

sourceId

这是要迁移的工作流的源环境 appId。如果存在具有相同 sourceId 的工作流,则会在目标环境中替换该工作流。否则,将生成新的工作流。

(如果不希望指定 appID,请发送空字符串。)

字符串

True

workerTag

将工作程序标签添加到工作流,来让特定工作程序运行工作流。

(如果不希望指定工作程序,请发送空字符串。)

字符串

True

canDownload

此标记用于将工作流设置为可供目标环境中的其他用户下载。

布尔值

True

(可选)第 4 步:在源环境中重置迁移设置工作流

如果需要,您可以在目标环境中迁移工作流后,使用 migratable 端点将源环境中工作流的 此工作流已为迁移准备就绪 设置切换回

  • Environment:

  • 方法: PUT

  • 端点: api/admin/v1/workflows/migratable/{appID}/

如需详细了解所有 Server API 端点,请参阅 Server API 。

如需详细了解 Server API V3 端点和参数,请访问 Alteryx Server API V3 帮助页面。Alteryx Server API V3

Server API

在下表中查找所有已发布的 Server API 列表。如果 API 可供用户使用,那么管理员也可以使用。

所属部分

API 端点

版本

管理员发布版本

用户发布版本

描述

1

审计日志

GET /admin/v1/auditlog

v1

9.1

检索给定实体类型的审计日志条目

2

集合

GET /v3/collections

v3

2021.4

检索所有可访问的集合记录

3

集合

POST /v3/collections

v3

2021.4

创建新的集合。

4

集合

DELETE /v3/collections/{collectionId}

v3

2021.4

删除集合

5

集合

GET /v3/collections/{collectionId}

v3

2021.4

检索一条集合记录

6

集合

PUT /v3/collections/{collectionId}

v3

2021.4

更新现有集合以更改名称或所有者

7

集合

PUT /v3/collections/{collectionId}/users//permissions

权限

v3

2021.4

更新集合用户权限。

8

集合

PUT /v3/collections/{collectionId}/userGroups//permissions

权限

v3

2021.4

更新集合的用户组权限

9

集合

POST /v3/collections/{collectionId}/users

v3

2021.4

将用户添加到集合

10

集合

POST /v3/collections/{collectionId}/insights

v3

2021.4

将洞察添加到集合

11

集合

POST /v3/collections/{collectionId}/schedules

v3

2021.4

将计划添加到集合

12

集合

POST /v3/collections/{collectionId}/workflows

v3

2021.4

将工作流添加到集合

13

集合

POST /v3/collections/{collectionId}/userGroups

v3

2021.4

将用户组添加到集合

14

集合

DELETE /v3/collections/{collectionId}/users/{userId}

v3

2021.4

从集合中移除用户

15

集合

DELETE /v3/collections/{collectionId}/workflows/{appId}

v3

2021.4

从集合中移除工作流

16

集合

DELETE /v3/collections/{collectionId}/insights/{insightId}

v3

2021.4

从集合中移除洞察

17

集合

DELETE /v3/collections/{collectionId}

计划

v3

2021.4

从现有集合中移除计划

18

集合

DELETE /v3/collections/{collectionId}

userGroups

v3

2021.4

从集合中移除用户组

19

集合

GET /admin/v1/collections

v1

9.1

在 Gallery 中查找集合

20

凭证

GET /v3/credentials/{credentialId}

v3

2021.4

2022.3

检索一条凭证记录

21

凭证

GET /v3/credentials

v3

2021.4

2022.3

检索凭证记录。

22

凭证

DELETE /v3/credentials/{credentialId}

v3

2021.4

删除凭证

23

凭证

POST /v3/credentials/{credentialId}/users

v3

2021.4

与用户共享凭证

24

凭证

POST /v3/credentials/{credentialId}/userGroups

v3

2021.4

与用户组共享凭证

25

凭证

DELETE /v3/credentials/{credentialId}/users/{userId}

v3

2021.4

从凭证中移除用户

26

凭证

DELETE /v3/credentials/{credentialId}

userGroups

v3

2021.4

从凭证中移除用户组

27

凭证

GET /user/v2/credentials

v2

11.3

找到直接与用户共享或通过订阅共享的凭证

28

DCME 连接

GET /v3/DCMEConnections/{connectionId}

v3

2022.1

检索 DCME 连接

29

洞察

GET /admin/v2/insights

v2

11.3

在 Gallery 中查找洞察

30

洞察

GET /admin/v1/insights

v1

9.1

在 Gallery 中查找洞察

31

作业

GET /v3/jobs/

v3

2022.3

2022.3

检索作业及其当前状态

32

作业

POST /user/v2/workflows/{appId}/jobs

v2

11.3

11.3

创建新作业并将其添加至作业执行队列

33

作业

GET /v1/jobs/{id}/output/{outputId}

v1

9.1

9.1

获取给定作业的输出

34

作业

GET /v1/jobs/{id}

v1

9.1

9.1

检索作业及其当前状态

35

作业

GET /v1/workflows/{appId}/jobs

v1

9.1

9.1

返回给定 Alteryx Analytics 应用程序的作业

36

作业

POST /v1/workflows/{appId}/jobs

v1

9.1

9.1

使用提供的答案为指定工作流的作业执行排队

37

作业

GET /admin/v1/workflows/jobs

v1

9.1

返回上次运行的作业及其工作流的当前状态

38

计划

DELETE /v3/schedules/{id}

v3

2021.4

删除计划

39

计划

GET /v3/schedules/{id}

v3

2021.4

获取特定计划的信息

40

计划

PUT /v3/schedules/{id}

v3

2021.4

更新现有计划

41

计划

GET /v3/schedules

v3

2021.4

获取所有计划

42

计划

POST /v3/schedules

v3

2021.4

创建新计划

43

计划

GET /admin/v2/schedule/forecast

v2

11.3

预测给定时间段内所有将来的运行作业

44

计划

GET /admin/v1/schedules

v1

9.1

在 Gallery 中查找计划

45

Server 连接

GET /v3/serverDataConnections

v3

2021.4

检索所有 Server 数据连接记录

46

Server 连接

DELETE /v3/serverDataConnections/{dataConnectionId}

v3

2021.4

删除 Server 数据连接

47

Server 连接

GET /v3/serverDataConnections/

{dataConnectionId}

v3

2021.4

检索一条 Server 数据连接记录

48

Server 连接

PUT /v3/serverDataConnections/

{dataConnectionId}

v3

2021.4

更新现有 Server 数据连接以更改连接名称

49

Server 连接

POST /v3/serverDataConnections//users

users

v3

2021.4

向现有 Server 数据连接添加用户

50

Server 连接

POST /v3/serverDataConnections//users

userGroups

v3

2021.4

向现有 Server 数据连接添加用户组

51

Server 连接

DELETE /v3/serverDataConnections/

安装。

v3

2021.4

从现有 Server 数据连接中移除用户

52

Server 连接

DELETE /v3/serverDataConnections/

userGroups

v3

2021.4

从现有Server 数据连接中移除用户组

53

Server 连接

GET /admin/v1/serverdataconnections

v1

9.1

返回私有 Gallery 中创建的数据连接

54

订阅

GET /admin/v2/subscriptions

v2

11.3

在 Gallery 中查找订阅

55

订阅

GET /admin/v1/subscriptions

v1

9.1

在 Gallery 中查找订阅

56

系统别名

GET /admin/v1/systemdataconnections

v1

9.1

返回在安装了 Alteryx Server 的服务器上创建的系统数据连接

57

用户组

GET /v3/usergroups

v3

2021.4

获取所有客户用户组

58

用户组

POST /v3/usergroups

v3

2021.4

创建新的自定义用户组

59

用户组

DELETE /v3/usergroups/{id}

v3

2021.4

从系统中删除自定义组

60

用户组

GET /v3/usergroups/{id}

v3

2021.4

检索自定义用户组

61

用户组

PUT /v3/usergroups/{id}

v3

2021.4

更新用户组的名称和角色

62

用户组

POST /v3/usergroups/{id}/users

v3

2021.4

向用户组添加一个或多个用户

63

用户组

POST /v3/usergroups/{id}/activedirectorygroups

v3

2023.1

向 Server 自定义组添加 Active Directory 组作为成员。

64

用户组

DELETE /v3/usergroups/{userGroupId}/users/{userId}

v3

2021.4

向 Server 自定义组添加 Active Directory 组作为成员。

65

用户组

DELETE /v3/usergroups/{userGroupID}

activedirectorygroups/{adGroupSid}

v3

2023.1

从 Server 自定义组成员中移除 Active Directory 组。

66

用户

DELETE /v3/users/{id}

v3

2021.4

从系统中删除用户

67

用户

GET /v3/users/{id}

v3

2021.4

检索一条用户记录

68

用户

GET /v3/users/{id}/assets

v3

2021.4

检索用户拥有的资产的完整列表

69

用户

GET /v3/users

v3

2021.4

搜索用户记录

70

用户

POST /v3/users

v3

2021.4

创建新的用户记录

71

用户

POST /v3/users/{id}/deactivate

v3

2021.4

在系统中停用用户

72

用户

POST /v3/users/{id}/passwordReset

v3

2021.4

向给定用户发送密码重置电子邮件。

73

用户

PUT /v3/users/{id}

v3

2021.4

更新现有用户

74

用户

GET /admin/v2/users

v2

11.3

在 Gallery 中查找用户

75

用户

GET /admin/v1/users

v1

9.1

在 Gallery 中查找用户

76

工作流

GET /v3/workflows/{workflowId}

v3

2021.4

2022.3

检索一条工作流记录

77

工作流

GET /v3/workflows/{workflowId}/package

v3

2022.3

2022.3

下载工作流包

78

工作流

GET /v3/workflows/{workflowId}/questions

v3

2022.3

2022.3

检索工作流的问题信息

79

工作流

GET /v3/workflows/{workflowId}/jobs

v3

2022.3

2022.3

检索现有工作流的作业列表。

80

工作流

GET /v3/workflows

v3

2021.4

2022.3

检索所有工作流记录

81

工作流

POST /v3/workflows

v3

2021.4

2022.3

上传新工作流

82

工作流

DELETE /v3/workflows/{workflowId}

v3

2021.4

删除特定工作流

83

工作流

PUT /v3/workflows/{workflowId}

v3

2021.4

更新现有工作流

84

工作流

POST /user/v2/inputfiles

v2

2020.3

2020.3

发布要在后续工作流执行中使用的临时文件

85

工作流

GET /admin/v2/workflows/all

v2

11.3

返回所有工作流,可以选择按日期筛选

86

工作流

GET /v1/workflows/{appId}/package

v1

9.1

9.1

返回请求的应用程序

87

工作流

GET /v1/workflows/{appId}/questions

v1

9.1

9.1

获取给定 Alteryx Analytics 应用程序的问题

88

工作流

GET /v1/workflows/subscription

v1

9.1

9.1

在订阅中查找工作流

89

工作流

GET /admin/v1/{appId}/package

v1

9.1

返回请求的应用程序

90

工作流

GET /admin/v1/workflows/migratable

v1

9.1

在 Gallery 中找到标记为已准备好迁移的工作流

91

工作流

GET /admin/v1/workflows/all

v1

9.1

返回所有工作流,可以选择按日期筛选

92

工作流

GET /admin/v1/workflows

v1

9.1

在 Gallery 中查找工作流

93

工作流

POST /admin/v1/workflows

v1

9.1

将 YXZP 文件发布到系统

94

工作流

PUT /admin/v1/workflows/migratable/{appId}

v1

9.1

更新应用程序的迁移就绪标记

95

工作流

POST /v3/workflows/{workflowId}/versions

v3

2023.1

2023.1

将新版本上传到现有工作流