使用Dataproc API创建一个简单的html

时间:2017-07-13 22:46:12

标签: javascript api google-cloud-dataproc

我是Google API的新手,我正在尝试连接我的网站,该网站位于另一台谷歌云服务器上,在Django上运行到我的Google DataProc群集。到目前为止所有的错误。这是我的代码:

   <script src="https://apis.google.com/js/api.js"></script>
   <script>
   var parameters={
   "projectId": "product-994",
   "job": {
   "placement": {
   "clusterName": "cluster-s1"
    },
    "reference": {
    "jobId": "7d77a545-b523-4694-b971-3d17dc0ae4f1"
     },
    "pysparkJob": {
    "mainPythonFileUri": "gs://my-directory/list-tables.py"
     }}};
     function start() {
     gapi.client.init({
     'apiKey': 'my_api_key',
     'clientId':'myIDohmemne7hanb2d8.apps.googleusercontent.com',
     'scope':['https://www.googleapis.com/auth/cloud-platform'],
      }).then(function() {
      return gapi.client.request({
      'path':'https://dataproc.googleapis.com/v1beta2/projects/produc-994/regions/global/jobs:submit/',
      'method':'POST',
      'body':parameters,
    })
  }).then(function(response) {
    console.log(response.result);
    alert(response.result);
  }, function(reason) {
    console.log('Error: ' + reason.result.error.message);
  });
  };
  gapi.load('client', start);
  </script>

但是我收到了这个错误:

   Uncaught TypeError: a.split is not a function
at pZ (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.es.v_tOK2w_1HY.O/m…1/ed=1/am=AQ/rs=AGLTcCM1W2y9cMgCwSVCS8oWU4_pdItscw/cb=gapi.loaded_1:87:396)    

到目前为止,我已经使用过:https://developers.google.com/api-client-library/javascript/reference/referencedocs; https://cloud.google.com/dataproc/docs/quickstarts/quickstart-explorer-submit; https://developers.google.com/api-client-library/javascript/start/start-js; https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/web-js?hl=fr。但是,这不起作用

1 个答案:

答案 0 :(得分:0)

我建议您首先通过Google云控制台验证您的基本流程,使用官方用户界面向您的群集提交作业。在“作业提交”页面上,左下角附近有一个“等效REST”链接;如果单击它,它将弹出您需要发布的低级HTTP路径,方法和正文,以确保您具有正确的语法。

在尝试从javascript提交作业之前,您还应该逐步开始获取更简单的内容,例如“list”调用。

此外,您似乎发布到“v1beta2”,您应该发布到“/ v1 /”;我很好奇你在哪里找到了“v1beta2”的引用(如果有的话),因为那个版本很可能会被打破,并且不应该真的被广告用于非测试用途。

您的示例代码中也有一个拼写错误/projects/produc-994而不是product-994,但这可能只是翻译成SO问题的错字。