wget azure REST 时授权失败 API
Authorization failed while wget azure REST API
我正在尝试使用 REST api 收集 azure 指标。我有一个免费订阅的 azure 帐户。
我正在使用以下 wget 获取 json 消息。
wget https://management.azure.com/subscriptions/XXXXXXX/resourceGroups/RG_SOUTH_INDIA/providers/Microsoft.Compute/virtualMachineScaleSets/linuxscal/metrics?api-version=2014-04-01
XXXXXXX- 是我的订阅 ID。
我收到以下错误消息。
Resolving management.azure.com... 13.67.231.219
Connecting to management.azure.com|13.67.231.219|:443... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Authorization failed.
我的 subscription/Authorization 怎么了?!!
在此先感谢您的帮助!我卡住了!!
通过指定选项 --user
和 --ask-password
wget 将要求提供凭据。下面是一个例子。根据您的需要更改用户名和 link
wget --user=username --ask-password https://YOUR_URL
您需要在调用中包含 Authorization
header 和 Bearer
令牌:
GET /subscriptions?api-version=2015-01-01 HTTP/1.1
Host: management.azure.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
看看 armclient,因为你 really don't want to do all this 是手动的(或 curl):
https://www.npmjs.com/package/armclient
// ES6
import ArmClient, { clientCredentials } from 'armclient';
const client = ArmClient({
subscriptionId: '111111-2222-3333333',
auth: clientCredentials({
tenantId: '444444-555555-666666666',
clientId: '777777-888888-999999999',
clientSecret: 'aaaabbbbbccccc' // or servicePrincipalPassword
})
});
您的 /metrics
调用变为:
client.get('/resourceGroups/RG_SOUTH_INDIA/providers/Microsoft.Compute/virtualMachineScaleSets/linuxscal/metrics', { 'api-version': '2014-04-01' })
.then((res) => {
console.log(res.body);
console.log(res.headers);
})
.catch((err) => {
console.log(err);
});
我正在尝试使用 REST api 收集 azure 指标。我有一个免费订阅的 azure 帐户。
我正在使用以下 wget 获取 json 消息。
wget https://management.azure.com/subscriptions/XXXXXXX/resourceGroups/RG_SOUTH_INDIA/providers/Microsoft.Compute/virtualMachineScaleSets/linuxscal/metrics?api-version=2014-04-01
XXXXXXX- 是我的订阅 ID。
我收到以下错误消息。
Resolving management.azure.com... 13.67.231.219
Connecting to management.azure.com|13.67.231.219|:443... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Authorization failed.
我的 subscription/Authorization 怎么了?!!
在此先感谢您的帮助!我卡住了!!
通过指定选项 --user
和 --ask-password
wget 将要求提供凭据。下面是一个例子。根据您的需要更改用户名和 link
wget --user=username --ask-password https://YOUR_URL
您需要在调用中包含 Authorization
header 和 Bearer
令牌:
GET /subscriptions?api-version=2015-01-01 HTTP/1.1
Host: management.azure.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
看看 armclient,因为你 really don't want to do all this 是手动的(或 curl): https://www.npmjs.com/package/armclient
// ES6
import ArmClient, { clientCredentials } from 'armclient';
const client = ArmClient({
subscriptionId: '111111-2222-3333333',
auth: clientCredentials({
tenantId: '444444-555555-666666666',
clientId: '777777-888888-999999999',
clientSecret: 'aaaabbbbbccccc' // or servicePrincipalPassword
})
});
您的 /metrics
调用变为:
client.get('/resourceGroups/RG_SOUTH_INDIA/providers/Microsoft.Compute/virtualMachineScaleSets/linuxscal/metrics', { 'api-version': '2014-04-01' })
.then((res) => {
console.log(res.body);
console.log(res.headers);
})
.catch((err) => {
console.log(err);
});