You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Use GAX generated libraries for Datastore and Bigtable #2128
BTW, we won't be able to do much more than wrap these calls in our Pythonic surface. My understanding is that we can't do much of our value-add stuff like page streaming with custom methods, and both of these services are full of custom methods (e.g. URLs ending in :<custom_something>).
@bjwatson From our perspective, dropping the generated code is a pure win, even if we don't gain the other benefits. Even just having the grpc-google-datastore-v1 and grpc-google-bigtable-v2 releases available (no GAX wrappers at all) would be great.
No rush at all, just wanted to create a formal issue so we don't forget. Good to know :<custom_something> means custom!
Of the 28 methods in datastore/bigtable, 14 are custom, but the true number is 12/12 since the other 16 Bigtable admin methods will have many orders of magnitude fewer requests.
@dhermes I'm now in a position in which I can deliver GAPIC for these APIs, but I want to make sure that you can use them in the near future.
I can now deliver Datastore without much effort, but Bigtable is prone to change in the coming weeks since we're still nailing down our LRO and streaming designs. Nevertheless, I can deliver both if you're planning to layer your code on ours soon after I deliver it (and then give you an update for Bigtable in a few weeks).
I mean will you use them sometime in the next week if I spend time on generating them now?
I'm trying not to spend more time on generating APIs than necessary right now, and instead focus on doing things to finalize our surfaces and improve our efficiency at generating APIs. I will do this if you have the bandwidth to consume it.
This is still on the "would be nice" list, as I just saw the _generated directory in BigTable, but I do not think keeping this issue open is worthwhile tracking at this point.
Activity
bjwatson commentedon Aug 19, 2016
@dhermes You sure can. Do you mind if I complete this after #2117 (comment)?
BTW, we won't be able to do much more than wrap these calls in our Pythonic surface. My understanding is that we can't do much of our value-add stuff like page streaming with custom methods, and both of these services are full of custom methods (e.g. URLs ending in
:<custom_something>).tseaver commentedon Aug 19, 2016
@bjwatson From our perspective, dropping the generated code is a pure win, even if we don't gain the other benefits. Even just having the
grpc-google-datastore-v1andgrpc-google-bigtable-v2releases available (no GAX wrappers at all) would be great.dhermes commentedon Aug 19, 2016
No rush at all, just wanted to create a formal issue so we don't forget. Good to know
:<custom_something>means custom!Of the 28 methods in datastore/bigtable, 14 are custom, but the true number is 12/12 since the other 16 Bigtable admin methods will have many orders of magnitude fewer requests.
BigtableTableAdmin (2/6 custom)
CreateTable->"v2/{parent=projects/*/instances/*}/tables"ListTables->"v2/{parent=projects/*/instances/*}/tables"GetTable->"v2/{name=projects/*/instances/*/tables/*}"DeleteTable->"v2/{name=projects/*/instances/*/tables/*}"ModifyColumnFamilies->"v2/{name=projects/*/instances/*/tables/*}:modifyColumnFamilies"DropRowRange->"v2/{name=projects/*/instances/*/tables/*}:dropRowRange"Bigtable (6/6 custom)
ReadRows->"v2/{table_name=projects/*/instances/*/tables/*}:readRows"SampleRowKeys->"v2/{table_name=projects/*/instances/*/tables/*}:sampleRowKeys"MutateRow->"v2/{table_name=projects/*/instances/*/tables/*}:mutateRow"MutateRows->"v2/{table_name=projects/*/instances/*/tables/*}:mutateRows"CheckAndMutateRow->"v2/{table_name=projects/*/instances/*/tables/*}:checkAndMutateRow"ReadModifyWriteRow->"v2/{table_name=projects/*/instances/*/tables/*}:readModifyWriteRow"BigtableInstanceAdmin (0/10 custom)
CreateInstance->"v2/{parent=projects/*}/instances"GetInstance->"v2/{name=projects/*/instances/*}"ListInstances->"v2/{parent=projects/*}/instances"UpdateInstance->"v2/{name=projects/*/instances/*}"DeleteInstance->"v2/{name=projects/*/instances/*}"CreateCluster->"v2/{parent=projects/*/instances/*}/clusters"GetCluster->"v2/{name=projects/*/instances/*/clusters/*}"ListClusters->"v2/{parent=projects/*/instances/*}/clusters"UpdateCluster->"v2/{name=projects/*/instances/*/clusters/*}"DeleteCluster->"v2/{name=projects/*/instances/*/clusters/*}"Datastore (6/6 custom)
Lookup->"v1/projects/{project_id}:lookup"RunQuery->"v1/projects/{project_id}:runQuery"BeginTransaction->"v1/projects/{project_id}:beginTransaction"Commit->"v1/projects/{project_id}:commit"Rollback->"v1/projects/{project_id}:rollback"AllocateIds->"v1/projects/{project_id}:allocateIds"bjwatson commentedon Aug 19, 2016
Good analysis! At least we can provide extra help with methods like
ListTablesandListClusters, even if they are low QPS.dhermes commentedon Aug 19, 2016
Exactly this! That was the point of #1384
bjwatson commentedon Oct 25, 2016
@dhermes I'm now in a position in which I can deliver GAPIC for these APIs, but I want to make sure that you can use them in the near future.
I can now deliver Datastore without much effort, but Bigtable is prone to change in the coming weeks since we're still nailing down our LRO and streaming designs. Nevertheless, I can deliver both if you're planning to layer your code on ours soon after I deliver it (and then give you an update for Bigtable in a few weeks).
Please let me know.
dhermes commentedon Oct 25, 2016
How do you mean "can use them"? Like we block you somehow from generating them?
bjwatson commentedon Oct 25, 2016
I mean will you use them sometime in the next week if I spend time on generating them now?
I'm trying not to spend more time on generating APIs than necessary right now, and instead focus on doing things to finalize our surfaces and improve our efficiency at generating APIs. I will do this if you have the bandwidth to consume it.
lukesneeringer commentedon Aug 11, 2017
This is still on the "would be nice" list, as I just saw the
_generateddirectory in BigTable, but I do not think keeping this issue open is worthwhile tracking at this point.dhermes commentedon Aug 11, 2017
@lukesneeringer It's also a bit moot since you want the generated source in our source tree
Update requirements.txt [(#2128)](GoogleCloudPlatform/python-docs-sam…
feat: add ai.generate() to bigframes.bigquery module (#2128)