I'm trying to figure out if the gem supports bulk operations. I don't see any mention of it in the API docs, but GCS does look like it does support batch requests. I'm thinking maybe it's not implemented in the gem?
It is not supported yet, however there is a Feature Request. The developer team is aware and working on this issue, but there is no ETA for its release.
I recommend you to subscribe to the public issue tracker for the feature request, this way you receive an email each time there is any new update.
Also, post a comment there about why it would be helpful. Additionally, please notice the more stars the issue tracker has, the more likely it is to be implemented.
Related
Is there a batch Get messages? from the golang client library?
I dont see it
https://godoc.org/google.golang.org/api/gmail/v1
i can get a list of message ids, but have to get the message per Id, one at a time.
Answer
There is a Github issue on the Go client's repo regarding this topic, and apparently it is not likely to see support for this feature anytime soon. It may, however, be implemented in the next generation of the client.
Possible workaround
You can implement yourself the batching feature, by making HTTP calls to the www.googleapis.com/batch or www.googleapis.com/batch/api/version endpoints. The former is due to be deprecated in August 12, 2020 but you can still use the latter past this date for homogeneous requests (in your case, doing GET requests based on messageId, you should have no problem doing so). You can read more about this in the following Official Google Developers Blog post: https://developers.googleblog.com/2018/03/discontinuing-support-for-json-rpc-and.html
Currently I'm investigation different nosql solutions to use in couple microservices. And while reading DynamoDB docs and checking aws-ruby-skd, I found out that it supports DynamoDB under API version 2012-08-10. And this's kinda far far away from 2015.
So here's my question: Does outdated sdk support for dynamo cause any problems? Is there any sense to start use DynamoDB with ruby?
It would be great to hear someone who uses it in a big project under heavy load.
API version 2012-08-10 is the latest version for DynamoDB.
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DocumentHistory.html
It's more like a major version number that indicates backwards-compatibility.
The AWS Ruby SDK is also updated regularly and is kept up-to-date with the DynamoDB API (the latest DynamoDB API feature, DynamoDB Streams, was added in AWS Ruby SDK v2.1.5)
I am working on RethinkDB and Golang and completely new to these two Technologies/Database.
Note
GOLang driver - I am using this driver for connecting rethinkDB.
Problem
There is no onChange on a table functionality in this driver.
Note - OnChange functionality is available in rethinkDB.
Any suggestion of golang driver which supports rethinkDB onChange.
Thanks in advance
Sorry for the delayed reply I dont check StackOverflow as often as I should.
GoRethink actually does offer support for Changefeeds. Unfortunately the documentation is currently a bit lacking and I hope to work soon, until then I recommend having a look at the tests. Hopefully that should give you an idea on how to use them.
https://github.com/dancannon/gorethink/blob/master/query_table_test.go#L215
If you have any further questions regarding change feeds or any other issues with the driver let me know.
That Go driver is provided by a third party and as you note they do not seem to have yet added support for changefeeds. It is hosted on GitHub, so you could file an enhancement request. There is recent activity in their repository, so there is hope that they will add it.
I am working with geocoder gem and like to process more number of requests from an IP. By default Google API provides only 2500 requests per day.
Please share your thoughts on how I can do more requests than the limit?
As stated before: Using only Google API the only way around the limitation is to pay for it. Or in a more shady way make the requests form more than one IP/API-Key which i would not recommend.
But to stay on the save side i would suggest mixing the services up since there a few more Geocoding APIs out there - for free.
With the right gem mixing them is also not a big issue:
http://www.rubygeocoder.com/
Supports a couple of them with a nice interface. You would pretty much only have to add some rate-limiting counters making sure you stay within the limits of each provider.
Or go the heavy way of implementing your own geocoding. With for example your own running Openstreetmaps database. The Database can be downloaded here: http://wiki.openstreetmap.org/wiki/Planet.osm#Worldwide_data
Which is the best way depends on what your actual requirements are and what ressources you have available.
I'm currently writing an application in ruby on rails that uses AWS. I see two options for gems, aws-sdk and fog. Fog seems to support almost all of the AWS services except for sns(which I wanted to use :/) and has mock services for testing not to mention you can change out for rackspace or a different provider rather easily. Is there any big reason why I should use AWS's sdk? It supports sns, but not rds and does not come with mocking.
If I'm missing something please let me know as I am new to this.
Thanks in advance.
You may also want to checkout rightaws though unfortunately it doesn't have support for sns either. It was one of the first libraries available and provides support for most of the functionalities. However, fog is releasing new versions more often and is catching up quickly and is a bit more high level. The aws_sdk was only released recently and the main reason to go with it is that it comes from Amazon itself and will likely become the standard. This is why we included it in rubystack. We expect that people will provide higher level libraries that will build on top of it.
aws-sdk supports SNS but does not mock the services. It does hoever provide basic stubbing:
AWS.stub!
This causes all service requests to "do nothing" and return "empty responses". It is used extensively inside the specs provided with the gem. This is is not the same as mocking a service but it can be a useful testing aid.