編集: 修正済み - Ruby では、API が指定するように「insertAll」の代わりに「insert_all」を使用します。ruby の api を更新する必要があります。
v 0.6.4 の google-api-client gem を使用してストリーミング挿入を作成しようとしていますが、次のエラーが引き続き発生します。
google_bigquery.rb:233:in undefined method `insertAll' for #<Google::APIClient::Resource:0xcbc974 NAME:tabledata> (NoMethodError)
私のコードは次のとおりです。
def streaming_insert_data_in_table(table, dataset=DATASET)
body = {"rows"=>[
{"json"=> {"person_id"=>1, "name"=>"john"}},
{"json"=> {"person_id"=>2, "name"=>"doe"}},
]}
result = @client.execute(
:api_method=> @bigquery.tabledata.insert_all,
:parameters=> {
:projectId=> @project_id.to_s,
:datasetId=> dataset,
:tableId=>table},
:body_object=>body,
)
puts result.body
end
insetAll が google-api-client gem 用に作成されているかどうか誰か教えてもらえますか? テーブル、データセットなどが使用するものであるため、「挿入」を試みましたが、同じエラーが発生します..しかし、tabledata.listを完全に正常に実行できます..宝石のソースコードを掘り下げてみましたが、取得できませんでしたそれとどこでも。
作成した body オブジェクトは正しいですか、それとも変更する必要がありますか?
どんな助けでも大歓迎です。
前もって感謝し、素晴らしい一日を。