如何获取用于将服务器注册到AMC的Mule ARM注册令牌

时间:2017-04-20 13:03:13

标签: mule

我正在读书 https://anypoint.mulesoft.com/apiplatform/anypoint-platform/#/portals/organizations/ae639f94-da46-42bc-9d51-180ec25cf994/apis/38784/versions/127446/pages/182856

因为我想在许多服务器上自动启用Anypoint Runtime Manager。 我的计划是使用REST来获取用于将服务器注册到AMC的正确注册令牌。页面上有方向:

要注册服务器,您必须首先针对Anypoint Platform Authentication Manager进行身份验证并获取身份验证令牌,使用此令牌您需要获取用于将服务器注册到AMC的注册令牌。

我理解第一部分并且可以获得身份验证令牌,但我找不到如何获取注册令牌的参考。

我如何获得此令牌? 谢谢!

2 个答案:

答案 0 :(得分:2)

您是否在文档中看到了Obtain the Server Registration Token部分?

如果要通过调用REST API获取注册令牌,请查看here。有一个名为/servers/registrationToken

的API端点

答案 1 :(得分:1)

您还可以使用新的anypoint-cli v2.x获取注册令牌。这将为您组合几个REST API调用。命令是:

runtime-mgr server token

您可以在交互式shell中键入此内容,或将其添加到您喜欢的脚本环境的独立调用的末尾。例如,如果您使用ANYPOINT_USERNAME,ANYPOINT_PASSWORD,ANYPOINT_ORG和ANYPOINT_ENV创建了一个配置文件,则可以调用:

anypoint-cli runtime-mgr server token

您可以在此处找到文档和安装说明:docs.mulesoft.com/runtime-manager/anypoint-platform-cli#runtime-mgr-server-token。

如果您想直接使用REST API执行此操作,则必须进行多次调用:

  1. 从中发布核心服务access_token anypoint.mulesoft.com/accounts/login 使用BODY中的用户名和密码作为JSON对象。

    卷曲-X POST \   anypoint.mulesoft.com/accounts/login \   -H'内容类型:application / json'\   -d'{     “用户名”:“yourUserName”     “密码”:“你的密码” }“

  2. 将响应存储为变量(我们称之为{{access_token}}。

    1. 在每个其他API调用的标头中复制此access_token:密钥:授权,值:bearer {{access_token}}

    2. 获取或存储要注册服务器的组织ID。有几种方法可以做到这一点。该值可通过GET请求

      获得

      anypoint.mulesoft.com/accounts/api/me

      卷曲-X GET \   anypoint.mulesoft.com/accounts/api/me \   -H'授权:持票人aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'

    3. 您可能希望使用JQ库来解析此JSON响应中的organizationID。

      1. 获取要在GET请求中注册Mule运行时(服务器)的环境的环境ID:

        anypoint.mulesoft.com/accounts/api/organizations / {{organizationId}} /环境

        卷曲-X GET \   https://anypoint.mulesoft.com/accounts/api/organizations/bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb/environments \   -H'授权:持票人aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'   -H'content-type:application / json'

      2. 向GET发出请求 anypoint.mulesoft.com/hybrid/api/v1/servers/registrationToken

      3. 设置标题X-ANYPNT-ORG-ID和X-ANYPNT-ENV-ID设置:

        curl -X GET \
          anypoint.mulesoft.com/hybrid/api/v1/servers/registrationToken \
          -H 'authorization: bearer aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa' \
          -H 'x-anypnt-env-id: cccccccc-cccc-cccc-cccc-cccccccccccc' \
          -H 'x-anypnt-org-id: bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb'
        

        这将返回注册令牌。

        然后将此注册令牌与amc_setup -H命令一起使用

        amc_setup -H {{registration_token}} 服务器名称