Go SDK で AWS Athena クエリの実行を待機しています

王林
リリース: 2024-02-09 15:09:18
転載
1088 人が閲覧しました

在 Go SDK 中等待 AWS Athena 查询执行

php エディタ Baicao は、開発者がクエリのパフォーマンスを最適化し、アプリケーションの応答速度を向上させることを目的とした Go SDK の AWS Athena クエリ実行ガイドを待っています。 AWS Athena は、事前定義されたスキーマやデータの読み込みを行わずに、S3 バケットで直接 SQL クエリを実行できるサーバーレス クエリ サービスです。ただし、クエリの非同期実行の性質により、開発者は結果を取得する前にクエリが完了するまで待つ必要があります。このガイドでは、Go SDK の待機メカニズムを使用して、クエリの実行中に効果的に待機し、クエリの完了後に結果を取得して、ユーザー エクスペリエンスとアプリケーションのパフォーマンスを向上させる方法について説明します。

質問の内容

Athena クエリを実行し、返された error に対して getqueryresults をポーリングすることでクエリを待機する動作するコードがあります。次のコード 終了:

リーリー

問題は、クエリが失敗した場合にループを中断する方法がまったくないことです。

たとえば、Python では次のことができます:

リーリー

for ループ内で strings.contains(err.error(),"failed") のようなチェックを行うこともできますが、よりクリーンな方法を探しています。

go に相当するものを探してみましたが、成功しませんでした。 go SDKには実行ステータスを返すことができる関数はありますか? go でエラーをさらにチェックするための err != nil よりも良い方法はありますか?

解決策

sdkにはリトライ機能が用意されています。

これは、aws-sdk-go-v2 を使用した例です。

リーリー

以上がGo SDK で AWS Athena クエリの実行を待機していますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート