如何 return AWS IAM 用户作为 string/json 使用 STS GetCallerIdentity Caller JS/TS
How to return AWS IAM user as a string/json using STS GetCallerIdentity Caller JS/TS
我正在尝试使用亚马逊提供的 STS GetCallerIdentity API 获取 AWS IAM Arn 用户。下面的代码基本上在控制台中记录了正确的数据。但是,我想 return 数据作为 string/json 但我似乎无法 return 值,因为它在参数中。
如何在 data
回调中 return 我需要的信息?
任何 tips/advice 将不胜感激!!
export function GetIamUser() {
const sts = new AWS.STS();
sts.getCallerIdentity({}, function (err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
}
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#getCallerIdentity-property
这是我运行上述方法
时的输出
data = {
Account: "123456789012",
Arn: "arn:aws:iam::123456789012:user/user",
UserId: "AKIAI44QH8DHBEXAMPLE"
}
更新: 我已经尝试 return 通过下面的方法调用函数回调,但是值保持 returning undefined
export function GetArnUser() {
var user;
sts.getCallerIdentity({}, function (err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
user = data.Arn;
});
return user;
}
这是一个异步问题。你正在使用回调,这意味着你需要将回调函数传递给GetArnUser()
,类似于下面的
export function GetArnUser(cb) {
var user;
sts.getCallerIdentity({}, function (err, data) {
if (err) console.log(err, err.stack);
else {
console.log(data);
user = data.Arn;
cb(user)
}
});
}
我正在尝试使用亚马逊提供的 STS GetCallerIdentity API 获取 AWS IAM Arn 用户。下面的代码基本上在控制台中记录了正确的数据。但是,我想 return 数据作为 string/json 但我似乎无法 return 值,因为它在参数中。
如何在 data
回调中 return 我需要的信息?
任何 tips/advice 将不胜感激!!
export function GetIamUser() {
const sts = new AWS.STS();
sts.getCallerIdentity({}, function (err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
}
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#getCallerIdentity-property
这是我运行上述方法
时的输出 data = {
Account: "123456789012",
Arn: "arn:aws:iam::123456789012:user/user",
UserId: "AKIAI44QH8DHBEXAMPLE"
}
更新: 我已经尝试 return 通过下面的方法调用函数回调,但是值保持 returning undefined
export function GetArnUser() {
var user;
sts.getCallerIdentity({}, function (err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
user = data.Arn;
});
return user;
}
这是一个异步问题。你正在使用回调,这意味着你需要将回调函数传递给GetArnUser()
,类似于下面的
export function GetArnUser(cb) {
var user;
sts.getCallerIdentity({}, function (err, data) {
if (err) console.log(err, err.stack);
else {
console.log(data);
user = data.Arn;
cb(user)
}
});
}