待機機能を使用して、Boto3のS3バケットにキーが存在しないかどうかを検証するにはどうすればよいですか?
問題の説明 − Pythonのboto3ライブラリを使用して、ウェイター機能を使用して、キーがバケットに存在しないかどうかを確認します。たとえば、ウェイターを使用して、キーtest1.zipがBucket_1に存在しないかどうかを確認します。
この問題を解決するためのアプローチ/アルゴリズム
ステップ1 −例外を処理するためにboto3およびbotocore例外をインポートします。
ステップ2 −bucket_nameとkeyは関数内の2つのパラメーターです。
ステップ3 −boto3ライブラリを使用してAWSセッションを作成します。
ステップ4 −S3用のAWSクライアントを作成します。
ステップ5 −get_waiter関数を使用してobject_not_existsの待機オブジェクトを作成します
ステップ6 −ここで、待機オブジェクトを使用して、キーが特定のバケットに存在しないかどうかを検証します。デフォルトでは、正常な状態に達するまで5秒ごとにチェックインします。 20回のチェックに失敗すると、エラーが返されます。ただし、ユーザーはポーリング時間と最大試行回数を定義できます。
ステップ7 −Noneを返します。
ステップ8 −バケットのチェック中に問題が発生した場合は、一般的な例外を処理します。
例
次のコードを使用して、ウェイターを使用してキーがバケットに存在するかどうかを確認します-
import boto3 from botocore.exceptions import ClientError def use_waiters_check_object_not_exists(bucket_name, key_name): session = boto3.session.Session() s3_client = session.client('s3') try: waiter = s3_client.get_waiter('object_not_exists') waiter.wait(Bucket=bucket_name, Key = key_name, WaiterConfig={ 'Delay': 2, 'MaxAttempts': 5}) print('Object does not exist: ' + bucket_name +'/'+key_name) except ClientError as e: raise Exception( "boto3 client error in use_waiters_check_object_not_exists: " + e.__str__()) except Exception as e: raise Exception( "Unexpected error in use_waiters_check_object_not_exists: " + e.__str__()) print(use_waiters_check_object_exists("Bucket_1","testfolder/test1.zip")) print(use_waiters_check_object_exists("Bucket_1","testfolder/test.zip"))
出力
Object does not exist: Bucket_1/testfolder/test1.zip None botocore.exceptions.WaiterError: Waiter ObjectNotExists failed: Max attempts exceeded "Unexpected error in use_waiters_check_object_not_exists: " + e.__str__()) Exception: Unexpected error in use_waiters_check_object_not_exists: Waiter ObjectNotExists failed: Max attempts exceed
Bucket_1 / testfolder / test1.zipの場合、出力はprintステートメントとNoneです。応答は何も返さないため、Noneと出力されます。
Bucket_1 / testfolder / test.zipの場合、このオブジェクトが存在するため、出力は例外です。
例外として、最大試行回数を超えたことが読み取れます。
-
Outlookエラー–指定されたログオンセッションが存在しません
Microsoft Outlookを使用する場合 Windows 10 PCで、サーバーメッセージを受け取ります。指定されたログオンセッションは存在しません。すでに終了している可能性があります 長期間、この投稿はあなたを助けるかもしれません。このメッセージは、OneDriveアカウントにログインしようとしているときにも表示されます。 指定されたログオンセッションがOutlookに存在しないというエラー Microsoft Outlookにエラーメッセージが表示された場合–指定されたログオンセッションが存在しません。すでに終了している可能性があります。次に、これらの提案を試してください。これは
-
キーボードにない場合に挿入キー機能を使用するにはどうすればよいですか?
Insertキーは、コンピューターのほとんどのキーボードによく見られます。これは主に、さまざまなテキストエディタで上書きモードと挿入モードを切り替えるために使用されます。挿入キーのもう1つの用途は、コピーおよび貼り付け機能です。それはまだいくつかのアプリケーションやプログラミングツールで使用されています。キーボードでInsertキーを使用できない、または正常に機能しない場合がまれにあります。この記事では、キーボードに挿入キーがない場合でも挿入キーにアクセスできる方法を紹介します。 Insertキーの主要な機能のいくつかは、以前のように機能しなくなりました。ただし、コピー(Ctrl + In