[PHP + AWS SDKでAthena] getQueryResultsの結果が扱いづらいので扱いやすくする。2018-08-14
概要
長くなるので割愛しますが、PHP + AWS SDKでAthenaの実行結果(結果例)をgetQueryResultsで取得すると少し扱いづらいです
扱いやすい形式に変換してみます
install
% composer require abetomo/convert-athena-query-results-to-array
コード例
% composer require abetomo/convert-athena-query-results-to-array
こちらのコード例 から変更したところを抜粋して記載します
example.php
<?php
// ... これより上は省略
// 3. 結果の取得
$getQueryResultsResponse = $athenaClient->getQueryResults([
'QueryExecutionId' => $queryExecutionId
]);
use Abetomo\ConvertAthenaQueryResultstoArray\ConvertAthenaQueryResultstoArray;
// getQueryResultsの結果を
// ConvertAthenaQueryResultstoArray::convert()
// で変換します
print_r(ConvertAthenaQueryResultstoArray::convert($getQueryResultsResponse->get('ResultSet')));
実行結果
string(36) "QueryExecutionId-XXXXX"
[waitForSucceeded] State=RUNNING
[waitForSucceeded] State=RUNNING
[waitForSucceeded] State=SUCCEEDED
Array
(
[0] => Array
(
[account_id] => id1
)
[1] => Array
(
[account_id] => id2
)
[2] => Array
(
[account_id] => id3
)
)
string(36) "QueryExecutionId-XXXXX"
[waitForSucceeded] State=RUNNING
[waitForSucceeded] State=RUNNING
[waitForSucceeded] State=SUCCEEDED
Array
(
[0] => Array
(
[account_id] => id1
)
[1] => Array
(
[account_id] => id2
)
[2] => Array
(
[account_id] => id3
)
)
こちらの結果 と比較するとシンプルな配列になりました
まとめ
PHP + AWS SDKでAthenaの実行結果をシンプルな配列に変換して扱いやすくしました
Author And Source
この問題について([PHP + AWS SDKでAthena] getQueryResultsの結果が扱いづらいので扱いやすくする。2018-08-14), 我々は、より多くの情報をここで見つけました https://qiita.com/abetomo/items/45a452c69f95c5f93c51著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .