gpt4 book ai didi

grpc - 云任务创建 : Error: 3 INVALID_ARGUMENT: Request contains an invalid argument

转载 作者:行者123 更新时间:2023-12-04 02:32:10 25 4
gpt4 key购买 nike

我正在关注这个教程:https://cloud.google.com/tasks/docs/tutorial-gcf
创建将调用云函数的任务。
我已经做了很多尝试,但仍然出现此错误:
enter image description here
如果我将正文编码更改为其他内容,则会收到有关序列化方法的另一个错误。
这可能不是许可问题,因为我之前得到了一些并摆脱了它。
传递给 createTask() 的对象如下:

task: {
httpRequest: {
url: "https://europe-west1-project_id.cloudfunctions.net/FunctionName"
httpMethod: "POST"
oidcToken: {
serviceAccountEmail: "cf-targetFunctionSA@project_id.gserviceaccount.com"
}
body: ""
headers: {
Content-Type: "application/json"
}
}
(或带有正文:base64 编码的 json 字符串。)
我使用的代码如下:
'use strict';
const common = require('./common');
const {v2beta3} = require('@google-cloud/tasks');
const cloudTasksClient = new v2beta3.CloudTasksClient();

let projectName = common.getProjectName();
let location = "europe-west3";
let queue = "compute-stats-on-mysql";
const parent = cloudTasksClient.queuePath(projectName, location, queue);

async function createTask(url, serviceAccount, data)
{
const dataBuffer = Buffer.from(JSON.stringify(data)).toString('base64');
const task = {
httpRequest: {
httpMethod: 'POST',
url:url,
oidcToken: {
serviceAccountEmail: serviceAccount,
},
headers: {
'Content-Type': 'application/json',
},
body:dataBuffer,
},
};


try
{
// Send create task request.
common.logDebug(`Before creating task`, {parent:parent,task:task, data:data});
const [response] = await cloudTasksClient.createTask({parent, task});
common.logDebug(`Created task ${response.name}`, {parent:parent,task:task, response:response, data:data});
return response;
}
catch (error)
{
// Construct error for Stackdriver Error Reporting
console.error("error while creating tasks",error);
}
}

module.exports = {
createTask : createTask,
cloudTasksClient:cloudTasksClient
};
错误中缺乏细节让我陷入了困境......
有什么建议 ?

最佳答案

我的服务帐户缺少一部分...
它是

"cf-"+functionName+"@"+projectName+".gserviceaccount.com";
代替
"cf-"+functionName+"@"+projectName+".iam.gserviceaccount.com";
我在无数次测试中遗漏了“.iam”以使其工作。
当然,错误消息还有改进的余地。

关于grpc - 云任务创建 : Error: 3 INVALID_ARGUMENT: Request contains an invalid argument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63619631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com