2016-10-24 10 views
0

Google AppからCloud SQL APIを使用してCloud SQLデータベースにCSVファイルをインポートしようとしましたが、 thisそれをしない方法:GAE - Google Cloud SQL APIにエラーは表示されませんが、テーブルは作成されません。

def upload_file(cls): 
    credentials = GoogleCredentials.get_application_default() 

    service = discovery. 

build('sqladmin', 'v1beta4', credentials=credentials) 

# * Project ID of the project that contains the instance. 
project = 'apptest' 

# * Cloud SQL instance ID. This does not include the project ID. 
instance = 'test' 

instances_import_request_body = { 
    "importContext": { 
     "kind": "sql#importContext", 
     "fileType": "csv", 
     "uri": "gs://mybucket/test1.csv", 
     "database": "test", 
     "csvImportOptions": { 
      "table": "lote_1", 
      "columns": [ 
       "id", 
       "numbers" 
      ] 
     } 
    } 
} 

request = service.instances().import_(project=project, instance=instance, body=instances_import_request_body) 
response = request.execute() 

print response 

応答:

{ 
{u'user': u'[email protected]', u'selfLink': u'https://www.googleapis.com/sql/v1beta4/projects/apptest/operations/d64dc88e-2395-4833-933f-2e004b5f961a', u'operationType': u'IMPORT', u'targetLink': u'https://www.googleapis.com/sql/v1beta4/projects/apptest/instances/test', u'status': u'PENDING', u'importContext': {u'database': u'test', u'csvImportOptions': {u'columns': [u'id', u'numbers'], u'table': u'lote_1'}, u'uri': u'gs://extraaniversario2016/test1.csv', u'kind': u'sql#importContext'}, u'insertTime': u'2016-10-24T20:59:17.853Z', u'kind': u'sql#operation', u'targetProject': u'apptest', u'name': u'd64dc88e-2395-4833-933f-2e004b5f961a', u'targetId': u'test'} 
} 

私のCSVファイル:

id;numbers 
1;5 
12345654;10 
43543543543;2 
343546464;8 

私はそれが "保留中"なので結果を取り出すことができるかどうかわからないので、私は立ち往生しています、私はグーグルで試して何時間も何か試しましたが、何が間違っているのか分かりません。

ありがとうございました!

答えて

0

インポート操作を開始すると、応答に操作IDが含まれます。操作が完了すると確認するには、操作IDでoperations.get APIに電話する必要があります。操作が完了すると、ステータスは成功したかどうか、およびインポート中に発生したエラーが示されます。

CSVインポートの場合、インポートAPIを呼び出す前に、デスティネーションテーブルが存在する必要があります。

関連する問題