Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのBoto3ライブラリを使用してさまざまなAWSサービスを接続するにはどうすればよいですか?


この記事では、PythonでBoto3ライブラリを使用してさまざまなAWSサービスに接続する方法を説明します。

  • AWSS3に接続します。

  • AWSGlueJobに接続する

  • AWSSQSなどと接続します。

この問題を解決するためのアプローチ/アルゴリズム

ステップ1 −Boto3ライブラリを使用してAWSセッションを作成します。

ステップ2 −クライアントにAWSサービス名を渡して、低レベルのサービスアクセスを取得します。

または、AWSサービス名をリソースに渡して、高レベルのオブジェクト指向サービスアクセス/高レベルのインターフェースを取得します。

次のコードは、さまざまなAWSサービスに接続します-

import boto3
# To get AWS Client
def getconnection_AWSClient(service_name):
   session = boto3.session.Session()
   # User can pass customized access key, secret_key and token as well
   s3_client = session.client(service_name)
   return s3_client
print(getconnection_AWSClient('s3')) # for s3 connection
print(getconnection_AWSClient('glue')) # for glue connection
print(getconnection_AWSClient('sqs')) # for sqs connection and other services

# To get AWS Resource
def getconnection_AWSResource(service_name):
   session = boto3.session.Session()
   # User can pass customized access key, secret_key and token as well
   s3_resource = session.resource(service_name)
   return s3_resource

print(getconnection_AWSResource('s3')) # for s3 connection
print(getconnection_AWSResource('sqs')) # for sqs connection and other services

出力

<botocore.client.S3 object at 0x00000216C4CB89B0>
<botocore.client.Glue object at 0x00000216C5129358>
<botocore.client.SQS object at 0x00000216C4E03E10>
s3.ServiceResource()
sqs.ServiceResource()

リソースが接続するすべてのサービスをサポートしているわけではないことに注意してください。たとえば、ユーザーがリソースを使用してglueサービスに接続しようとした場合 、次にAWSは次の例外をスローします-

boto3.exceptions.ResourceNotExistsError:「接着剤」リソースが存在しません。

'glue'のリソースの代わりにboto3.client('glue')を使用することを検討してください

以下のサービスはリソースによってサポートされています-

  • 雲の形成

  • cloudwatch

  • dynamodb

  • ec2

  • 氷河

  • iam

  • opsworks

  • s3

  • sns

  • sqs


  1. Pythonの「seaborn」ライブラリを使用してデータを視覚的に表現するにはどうすればよいですか?

    機械学習では、データからモデルを作成し、これまでに見たことのないデータを一般化します。入力として機械学習モデルに提供されるデータは、システムがデータを適切に理解して結果を生成できるようにする必要があります。 Seabornは、データの視覚化に役立つライブラリです。カスタマイズされたテーマと高レベルのインターフェースが付属しています。このインターフェースは、データの種類と、特定のフィルターが適用されたときのデータの動作をカスタマイズおよび制御するのに役立ちます。 Seabornライブラリには、さまざまなスタイルでの作業に役立つ「set_Style()」と呼ばれるインターフェースが含まれていま

  2. Pythonのscikit-learnライブラリを使用してデータをスケーリングするにはどうすればよいですか?

    特徴のスケーリングは、機械学習アルゴリズムを構築する際のデータ前処理段階の重要なステップです。特定の範囲内に収まるようにデータを正規化するのに役立ちます。 場合によっては、マシンによって計算が実行される速度を上げるのにも役立ちます。 なぜそれが必要なのですか? 入力として学習アルゴリズムに供給されるデータは、一貫性があり、構造化されている必要があります。値を効果的に予測するには、入力データのすべての機能を単一のスケールにする必要があります。しかし、現実の世界では、データは構造化されておらず、ほとんどの場合、同じ規模ではありません。 これは、正規化が思い浮かぶときです。これは、最も重要なデ