将 Azure API 管理操作移动到新 API
Move Azure API Management Operation to New API
有没有办法将 Azure APIM 中定义的 operation 移动到不同于最初定义的 API?我想将一些操作重新组织到新的 APIs w/o 中,必须在所需位置手动重新创建操作。 (请注意,APIs 尚未发布到生产环境,因此这不会是重大更改。)我看不出有什么方法可以通过 APIM UI 并没有找到一种编程方式来做到这一点。
例如使用下图,我将如何从 客户管理 API 移动 POST 添加客户地址 操作] 给 潜在客户 API?
虽然不是完美的解决方案,但 Azure RM API Management PowerShell library 帮助我构建了一个 PowerShell 脚本,它可以满足我的大部分需求,但仍然需要一些手工劳动。
在 PowerShell 中,我创建了 array
个我想要移动的操作 ID,然后在 for-each
循环中使用了以下函数的组合以 'move' operations
到所需的 API:
- Get-AzureRmApiManagementOperation - 用于读取现有操作。
- New-AzureRmApiManagementOperation - 用于基于通过将 Get 函数的结果映射到此新函数而创建的现有操作来创建新操作。 请注意,描述字段有 1000 个字符的限制。
- Remove-AzureRmApiManagementOperation - 用于从旧的 API 位置删除操作。 我不推荐使用这个,除非你非常确定前面的步骤完全按照你想要的方式工作。因为我 运行 遇到了操作描述字段只能是 1000 的问题字符或更少,我很高兴我没有从旧位置删除操作,因为我必须手动 copy/paste 将描述放入新位置。
虽然上述函数有助于复制 operations
,但不会复制每个 operation
中的 policies
。因此,可以使用以下函数来确保 policies
也被复制:
- Get-AzureRmApiManagementPolicy - 用于从字符串形式的操作中获取 XML 策略。
- Set-AzureRmApiManagementPolicy - 使用从上一个函数调用中获得的策略字符串在新创建的操作上设置策略字符串。
有没有办法将 Azure APIM 中定义的 operation 移动到不同于最初定义的 API?我想将一些操作重新组织到新的 APIs w/o 中,必须在所需位置手动重新创建操作。 (请注意,APIs 尚未发布到生产环境,因此这不会是重大更改。)我看不出有什么方法可以通过 APIM UI 并没有找到一种编程方式来做到这一点。
例如使用下图,我将如何从 客户管理 API 移动 POST 添加客户地址 操作] 给 潜在客户 API?
虽然不是完美的解决方案,但 Azure RM API Management PowerShell library 帮助我构建了一个 PowerShell 脚本,它可以满足我的大部分需求,但仍然需要一些手工劳动。
在 PowerShell 中,我创建了 array
个我想要移动的操作 ID,然后在 for-each
循环中使用了以下函数的组合以 'move' operations
到所需的 API:
- Get-AzureRmApiManagementOperation - 用于读取现有操作。
- New-AzureRmApiManagementOperation - 用于基于通过将 Get 函数的结果映射到此新函数而创建的现有操作来创建新操作。 请注意,描述字段有 1000 个字符的限制。
- Remove-AzureRmApiManagementOperation - 用于从旧的 API 位置删除操作。 我不推荐使用这个,除非你非常确定前面的步骤完全按照你想要的方式工作。因为我 运行 遇到了操作描述字段只能是 1000 的问题字符或更少,我很高兴我没有从旧位置删除操作,因为我必须手动 copy/paste 将描述放入新位置。
虽然上述函数有助于复制 operations
,但不会复制每个 operation
中的 policies
。因此,可以使用以下函数来确保 policies
也被复制:
- Get-AzureRmApiManagementPolicy - 用于从字符串形式的操作中获取 XML 策略。
- Set-AzureRmApiManagementPolicy - 使用从上一个函数调用中获得的策略字符串在新创建的操作上设置策略字符串。