Hey Yu, The guidance on that page should generally apply for Go as well, though we are missing an example transform; I filed https://github.com/apache/beam/issues/22194 to fix this, but a couple examples are our textio implementation <https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/io/textio/textio.go> and this native streaming example <https://github.com/apache/beam/blob/master/sdks/go/examples/native_wordcap/nativepubsubio/native.go> (non-productionized, but it shows a lot of good concepts for handling streaming sources).
Another option would be to use Java's elasticsearch implementation <https://github.com/apache/beam/blob/master/sdks/java/io/elasticsearch/src/main/java/org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.java> with a cross language transform. If you're thinking of contributing this back to the main beam code base, I'd probably recommend that approach. In general, we're currently investing most heavily in cross language transforms because it's a much lower burden to build/support since it reuses the main components of the original transform. There are several examples of wrapped cross-language transforms in https://github.com/apache/beam/tree/master/sdks/go/pkg/beam/io/xlang. If you have specific questions about authoring IOs that aren't answered in the docs/by example, feel free to drop them in this thread as well! Thanks, Danny On Fri, Jul 8, 2022 at 3:51 AM Yu Watanabe <[email protected]> wrote: > Hello . > > Is there any guideline for building a go sdk connector ? > I was reviewing the document but I could not find one for golang. > > https://beam.apache.org/documentation/io/developing-io-overview/ > > I was thinking of building one for elasticsearch. > > Thanks, > Yu Watanabe > > -- > Yu Watanabe > > linkedin: www.linkedin.com/in/yuwatanabe1/ > twitter: twitter.com/yuwtennis > >
