2014-06-24 2 views
0

내가 (성공적으로) 컬있는 테이블을 만드는 오전 : 다음나머지 API가있는 테이블을 만들 때 사용할 수있는 기간은 얼마입니까?

$ curl https://www.googleapis.com/bigquery/v2/projects/s2g-bd1-001/datasets/integration_tests/tables?key=$BQKEY -H 'Authorization: Bearer '$BQAUTH -H 'Content-Type: application/json' -d '{"kind": "bigquery#table", "tableReference": {"projectId": "s2g-bd1-001", "datasetId": "integration_tests", "tableId": "0479414158500731"}, "friendlyName": "afriendlyname", "description": "afriendlydescription", "schema": {"fields": [{"name": "field1", "type": "STRING"} ] } }' 
{ 
"kind": "bigquery#table", 
"etag": "\"p8M0C9D2VWWNeiiBOvzKozM5ryM/W3ReJVrhvIimKGxRGXUdDJZI93w\"", 
"id": "s2g-bd1-001:integration_tests.0479414158500731", 
"selfLink": "https://www.googleapis.com/bigquery/v2/projects/s2g-bd1-001/datasets/integration_tests/tables/0479414158500731", 
"tableReference": { 
    "projectId": "s2g-bd1-001", 
    "datasetId": "integration_tests", 
    "tableId": "0479414158500731" 
}, 
"friendlyName": "afriendlyname", 
"description": "afriendlydescription", 
"schema": { 
    "fields": [ 
    { 
    "name": "field1", 
    "type": "STRING" 
    } 
    ] 
}, 
"creationTime": "1403588096488", 
"lastModifiedTime": "1403588096488" 
} 

하지만 404이 다시 얻으려고 노력 얻을 ...

$ curl https://www.googleapis.com/bigquery/v2/projects/s2g-bd1-001/datasets/integration_tests/tables/0479414158500731?key=$BQKEY -H 'Authorization: Bearer '$BQAUTH 
{ 
    "error": { 
    "errors": [ { 
     "domain": "global", 
     "reason": "notFound", 
     "message": "Not Found: Table s2g-bd1-001:integration_tests.0479414158500731"  
    } ], 
    "code": 404, 
    "message": "Not Found: Table s2g-bd1-001:integration_tests.0479414158500731" 
    } 
} 

가 확인하려면 테이블이 생성되었습니다 다른 통화를 게시 할 수 있기 때문에 반환하는 409 :

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "duplicate", 
"message": "Already Exists: Table s2g-bd1-001:integration_tests.0479414158500731" 
    } 
    ], 
    "code": 409, 
    "message": "Already Exists: Table s2g-bd1-001:integration_tests.0479414158500731" 
} 
} 

나는 다음과 같은 몇 가지를 작성하고 그들을 볼 수 있지만, 갑자기 테이블이 바로 실현되지 않았다 할 수 있었다 더 이상, 게시물이 성공하더라도. 웹 콘솔을 통해 테이블을 성공적으로 만들 수 있다고 덧붙여 야합니다.

무슨 일 이니?!

답변

0

테이블 생성에 대한 응답을 받으면이 테이블은 동기식으로 생성됩니다. 즉, 일단 응답을 받으면 즉시 응답 할 수 있어야합니다. 응답에서 creationTime 필드를 볼 수 있습니다.

get 메소드에 404가 수신되는 이유가 확실하지 않습니다. 어쩌면 몇 가지 try 논리를 추가하고 두 번째 또는 두 번째 사이에 기다릴 수 있습니다. 응답은 테이블 리소스이기 때문에 다시 검색하는 대신이를 사용할 수도 있습니다.

추신 : 게시 할 때 말린 상태로 POST를 생략 했습니까?

관련 문제