ホームページ  >  記事  >  バックエンド開発  >  Go SDK で AWS Athena クエリの実行を待機しています

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

王林
王林転載
2024-02-09 15:09:181037ブラウズ

在 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 までご連絡ください。