我有一个应用程序只想访问该应用程序的机密。无论如何访问多个秘密而不是每次访问单个秘密?
答案 0 :(得分:0)
每个秘密都必须通过单独的 API 调用单独访问。您可以使用标签对机密进行逻辑分组,然后“列出 + 访问”based on a label。
目前,这只能通过使用查询字符串 filter
参数的 API 获得。在接下来的两周内,SDK 将更新,您可以执行以下操作:
const [secrets] = await client.listSecrets({
parent: "projects/my-project",
filter: "labels.app=my-app",
});
const versions = secrets.map((secret) => async {
return await client.accessSecretVersion({
name: `${secret.name}/versions/latest`,
});
});
同时,您可以在客户端执行此过滤。除非你有成千上万的秘密,否则性能将可以忽略不计:
const [secrets] = await client.listSecrets({
parent: "projects/my-project",
});
const versions = await secrets
.filter((secret) => {
return secret.labels.app === "my-app";
})
.map((secret) => async {
return await client.accessSecretVersion({
name: `${secret.name}/versions/latest`,
});
});