51CTO 博客地址: https://blog.51cto.com/14669127
Azure培训视频地址: https://space.bilibili.com/2000820534
Azure CLI是一个命令行工具,可以调用Azure REST API以执行每个Azure CLI命令支持的操作。今天给大家分享一下从命令行调用Azure REST API的两种方法:
• Az rest
• Curl
az rest命令允许对Azure rest API进行自定义请求,如果没有向az rest命令传递身份验证参数,则它将自动使用您已使用az login命令登录的Azure帐户,这将很容易地使用相同的Azure CLI工作流来验证和使用Azure资源。
调用az rest命令时使用以下参数:
• url或--uri–用于指定要调用的Azure REST API的请求url。
• method–用于指定用于进行Azure REST API调用的HTTP方法。
• body–用于指定随请求一起发送的HTTP body。
az-rest命令将假定--url或--uri参数是一个Azure资源ID,然后它将自动将其前缀设置为当前Azure云的Azure ARM端点。默认情况下,这是Azure公共云,可以通过运行az cloud show命令来查看。
以下是使用az-rest调用Azure rest API的几个示例:
使用curl或其他类似的命令行工具是进行Azure REST API调用时更理想的工具,使用az登录到Azure帐户,登录后,az-account-get-access token命令可用于检索访问令牌,然后可与Azure REST API调用上的Authorization:bearer HTTP Header一起使用,以在发出请求时验证curl或其他工具。
以下是与上述类似的示例,但这次使用curl调用Azure REST API以检索当前Azure订阅中的Azure资源组列表:
请注意,以下HTTP headers被传递到Azure REST API,以正确验证并指定API的返回响应:
• authorization:bearer{access token}–authorization标头用于将先前从Azure CLI检索到的承载令牌传递给Azure REST API,以验证HTTP请求
• content-type:application/json–content-type header告诉Azure REST API返回json格式的结果。
使用curl调用Azure REST API的相同方法也可以用于从任何命令行或其他工具进行Azure REST API调用,这些工具能够进行HTTP调用并随请求传递自定义HTTP header。