Я понимаю, что в Афине мы запрашиваем в S3 с помощью формы пакета com.simba.athena.jdbc.Driver AWS. Для этого нам понадобится athenaURL, имя пользователя, пароль и каталог s3. Ниже приведен фрагмент сценария, который я использовал для успешного получения данных из S3.
String athenaUrl = "jdbc:awsathena://athena.us-east-
1.amazonaws.com:443/";
Connection conn = null;
Statement statement = null;
try {
Class.forName("com.simba.athena.jdbc.Driver");
Properties info = new Properties();
info.put("user", "*************");
info.put("password", "4k********************XV***l");
info.put("s3_staging_dir", "s3://aws-athena-query-results-562520210347-us-east-1/");
conn = DriverManager.getConnection(athenaUrl, info);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
statement = conn.createStatement();
String query = "select * from beijingdata.data limit 10";
ResultSet rs = statement.executeQuery(query);
} catch (Exception ex) {
ex.printStackTrace();
}
Это прекрасно возвращает все результаты, которые я хочу от набора результатов. Но так как моя компания внедрила OKTA для управления доступом к AWS, я хочу знать способ повторного использования приведенного выше фрагмента кода или иметь некоторую интеграцию с Okta, с помощью которой я мог бы выполнять любые запросы, как указано выше.
Есть ли способ достичь этого?