使用服务账号调用Google Cloud Function时遇404错误求助
调用内部Cloud Function时的404错误及提前失败问题
代码实现
我尝试调用内部Cloud Function(对应代码中的targetAudience),相关代码如下:
const { GoogleAuth } = require('google-auth-library') const auth = new GoogleAuth(); async function func1() { const client = await auth.getIdTokenClient(targetAudience); const requestOptions = { url: targetAudience, method: 'POST', headers: { 'Content-Type': 'application/json' }, data: data } console.log("calling target audience") const res = await client.request(requestOptions); return res } console.log("calling func1") func1() .then(function (response) { return resolve({res: 'done'}) }) .catch(function (error) { return resolve({res: 'fail' }) })
当前错误
收到错误提示:Unsuccessful response status code. Request failed with status code 404
控制台仅打印了"calling func1",未打印"calling target audience",说明代码在执行const res = await client.request(requestOptions);之前就已失败。
已配置的服务账号权限
当前GCP服务账号拥有以下权限:
Cloud Functions Admin Service Account OpenID Connect Identity Token Creator Service Account Token Creator Storage Admin
异常现象
发现一个反常情况:当填写错误的targetAudience字符串时,代码能正常执行到const res = await client.request(requestOptions);这一行;但使用正确的targetAudience值时,反而会更早触发失败。
疑问
请问这是缺少必要权限,还是操作流程中存在错误?
内容的提问来源于stack exchange,提问作者Renee
相关产品推荐
相关产品推荐

