通过Java API创建Google Cloud Function:前提条件检查失败

时间:2019-07-05 15:38:04

标签: java google-cloud-platform google-cloud-functions

我正在尝试使用Java Client API创建一个Google Cloud Function,但是代码400和消息“前提条件检查失败”始终出现错误。

我知道这是由于我的输入参数之一格式错误,但没有任何指示。

呼叫代码

CloudFunction function = new CloudFunction();
function.setName("mytest1");
function.setAvailableMemoryMb(128);
function.setSourceArchiveUrl("gs://my-bucket/path/to/source.zip"); 
function.setRuntime("python37");
function.setEntryPoint("my_function_name");
function.setTimeout("450s");

String location = "projects/my-project-id/locations/us-east4";
cloudFunctions.projects().locations().functions().create(location, function).execute(); // exception thrown here

我还尝试将功能的serviceAccountEmail设置为我正在使用的服务帐户密钥的功能,并且还设置了HttpsTrigger

此API的JavaDoc表示仅需要运行时,但是仅使用此设置运行它也不起作用。

错误

{
  "code" : 400,
  "errors" : [ {
    "domain" : "global",
    "message" : "Precondition check failed.",
    "reason" : "failedPrecondition"
  } ],
  "message" : "Precondition check failed.",
  "status" : "FAILED_PRECONDITION"
}

1 个答案:

答案 0 :(得分:0)

函数名称错误。

function.setName("mytest1");

应该像

function.setName("projects/{project-id}/locations/{location}/functions/{your-function-name}")

函数名称必须是全局唯一的,并且匹配模式项目/ / locations / / functions / *

请参阅此link