日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue部署到服务器 接口调用不了_Python 调用 Azure API 实现服务器自动部署

發布時間:2024/9/15 vue 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue部署到服务器 接口调用不了_Python 调用 Azure API 实现服务器自动部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于在一個應用中需要通過 API 管理 Azure 的服務器,所以研究了一下 Azure API 的調用方法,中間遇到過很多坑,最后摸索出這一套可行的方法。原理就不多說了,想了解 Azure API 授權原理的可以看這篇文章。

OAuth authorization code flow - Microsoft identity platform?docs.microsoft.com

第一步:創建一個 App 并授權

首先,進入 Azure 面板后,選擇 Azure Active Directory,然后選擇 App Regestreations

然后點擊,New registration,創建一個新的 App

來到創建 App 的界面,填寫應用名,其余默認即可,然后點擊 Register

完成后打開我們剛剛創建的 App,記下 Application(client) ID 以及 Directoty(tenant) ID 備用,然后點擊 View API Permissions

點擊 Add a permission 為我們想調用的 API 授權,如果這里不授權的話,之后是無法調用 API 的。默認有 sign in and read user profile 授權,由于我這里需要調用 API 對 Azure 上部署的服務器進行管理,所以增加了 Azure Service Management 的授權

授權完畢后,點擊下方的 grant admin consent for

然后創建一個密匙用于 API 的登陸,點擊左側菜單欄的 Certificates & secrets,創建調用 API 的登陸密匙,密匙創建后復制保存備用。

完成后,回到主頁,在側邊欄找到 Subscription 并打開,如果找不到的話,可以在搜索欄搜索。

進入 Subscription 界面后,選擇你之后想調用的資源所在的 Subscription(你想通過 API 管理的資源在哪個 subscription 就選擇哪個)

進去之后在側邊欄選擇 Access Control

點擊 Add,在彈出的選擇框中選擇 Add role assignment

彈出添加 role assignment 窗口,Role 選擇 Contributor,Assign access to 選擇 Azure AD user, group, or service principal,Select就是選擇之前我們創建的 App 即可。完成后點擊 Save。

這一步完成后,我們就完成了對 API 調用的授權,接下來就可以開始調用 API 了。

要調用 API,先需要獲取一個 token 來證明我們的身份,獲取 token 的方法有很多種,我這里使用的是一個 Python 的 sdk。

AzureAD/azure-activedirectory-library-for-python?github.com

調用 API

安裝依賴庫

pip install adal==0.4.7 pip install azure-mgmt-datalake-analytics==0.2.0

導入必要的模塊

## AADTokenCredentials for multi-factor authentication from msrestazure.azure_active_directory import AADTokenCredentials## Required for Azure Data Lake Analytics job management from azure.mgmt.datalake.analytics.job import DataLakeAnalyticsJobManagementClient from azure.mgmt.datalake.analytics.job.models import JobInformation, JobState, USqlJobProperties## Other required imports import adal, uuid, time

獲取 token,TENANT 就是之前的 Directoty(tenant) ID,CLIENT_ID 就是之前的 Application(client) ID,CLIENT_SECRET 就是之前創建的 Secret 密匙。

def authenticate_client_key():“””Authenticate using service principal w/ key.“””authority_host_uri = ‘https://login.microsoftonline.com’tenant = ‘<TENANT>’authority_uri = authority_host_uri + ‘/‘ + tenantresource_uri = ‘https://management.core.windows.net/‘client_id = ‘<CLIENT_ID>’client_secret = ‘<CLIENT_SECRET>’context = adal.AuthenticationContext(authority_uri, api_version=None)mgmt_token = context.acquire_token_with_client_credentials(resource_uri, client_id, client_secret)credentials = AADTokenCredentials(mgmt_token, client_id)return credentials

獲取 token 之后,就可以用獲取的 token 去調用 API 了,具體的操作在這里就不說了,可以去看 Azure 官方的接口文檔,這里展示一個調用 API 啟動虛擬主機的例子

def basic_url():subscriptions_id = “Your subscription id”resource_group = “Your resource group”url = “https://management.azure.com/subscriptions/{subscriptions_id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{{vmName}}/{{action}}?api-version=2019-03-01”.format(subscriptions_id=subscriptions_id,resourceGroupName=resource_group)return urldef start(vm_name):url = basic_url()url = url.format(vmName=vm_name,action=“start”)token = authenticate_client_key()bearer_token = “Bearer {bearer_token}”.format(bearer_token=token)headres = {“Authorization”: bearer_token, “Content-type”:”application/json”}r = requests.post(url,headers=headres)

總結

以上是生活随笔為你收集整理的vue部署到服务器 接口调用不了_Python 调用 Azure API 实现服务器自动部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。