Don't use the RestClusterClient; you can generate one from the openapi
spec (see the docs).
On 16/11/2023 20:36, Adrian Alexandru Vasiliu wrote:
Hello,
For a programmatic use in Java of the Flink REST API, which of these
options would be the best choice?
1. Direct use via a REST client
2. The RestClusterClient
<https://nightlies.apache.org/flink/flink-docs-stable/api/java/index.html?org/apache/flink/client/program/rest/RestClusterClient.html>
API
RestClusterClient is appealing, because it embeds a bunch of code that
we wouldn't need to write and maintain.
But I also see reasons to stay away from it:
1. Its javadoc
<https://javadoc.io/doc/org.apache.flink/flink-clients/latest/index.html>
can
be found by searching the web (versioned per version of Flink /
flink-clients), but I didn't find a user documentation.
https://nightlies.apache.org/flink/flink-docs-stable/
<https://nightlies.apache.org/flink/flink-docs-stable/> doesn't
seem to mention RestClusterClient.
2. Its API isn't marked @Public nor @PublicEvolving.
3.
In 2019, Till Rohrmann (Flink PMC member) wrote: "Flink's cluster
REST API has been designed to work with any REST client. The
RestClusterClient which comes with the flink-clients module is
intended for internal usage."
https://stackoverflow.com/a/56127387/1723384
<https://stackoverflow.com/a/56127387/1723384>
4.
If at a later time we would bring authentication to the Flink REST
API, say via nginx proxy side-car, RestClusterClient wouldn't know
how to deal with it.
Do I miss something?
Would the community nowadays recommend using RestClusterClient, at
least in situations without authentication?
Thanks,
Adrian
Unless otherwise stated above:
Compagnie IBM France
Siège Social : 17, avenue de l'Europe, 92275 Bois-Colombes Cedex
RCS Nanterre 552 118 465
Forme Sociale : S.A.S.
Capital Social : 664 069 390,60 €
SIRET : 552 118 465 03644 - Code NAF 6203Z