Skip to main content

testPermissions()

EXPERIMENTAL

Cloud Run 处于 Alpha 阶段,这意味着 API 可能会在任何版本中更改,文档尚未完成。请查看 更改日志 以了解最新的重大更改。

调用 GCP 中 Resource Manager API 的 Test Iam Permissions 方法,该方法返回服务帐号在 GCP 项目上拥有的权限列表。然后将其与 Remotion 版本所需的权限列表进行验证。

CLI 等效命令为 npx remotion cloudrun permissions

如果缺少权限,则该函数不会拒绝错误,而是在返回值中指示缺少的权限。

示例

ts
import { testPermissions } from "@remotion/cloudrun";
 
const { results } = await testPermissions();
 
for (const result of results) {
console.log(result.decision); // "allowed"
console.log(result.permissionName); // "iam.serviceAccounts.actAs"
}
ts
import { testPermissions } from "@remotion/cloudrun";
 
const { results } = await testPermissions();
 
for (const result of results) {
console.log(result.decision); // "allowed"
console.log(result.permissionName); // "iam.serviceAccounts.actAs"
}

参数

具有以下属性的对象:

onTest?

可选

每次执行新测试时调用的回调函数。这使您可以更快地对新的测试结果做出反应,而不必等待函数的返回值。示例:

ts
import { testPermissions } from "@remotion/cloudrun";
 
const { results } = await testPermissions({
onTest: (result) => {
console.log(result.decision); // "allowed"
console.log(result.permissionName); // "iam.serviceAccounts.actAs"
},
});
ts
import { testPermissions } from "@remotion/cloudrun";
 
const { results } = await testPermissions({
onTest: (result) => {
console.log(result.decision); // "allowed"
console.log(result.permissionName); // "iam.serviceAccounts.actAs"
},
});

返回值

包含每个必要权限的模拟结果的对象数组。对象包含以下键:

decision

truefalse

permissionName

所需权限的标识符。请查看 权限页面 查看所需权限列表。

另请参阅