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
-
Pythonの「seaborn」ライブラリを使用してデータを視覚的に表現するにはどうすればよいですか?
機械学習では、データからモデルを作成し、これまでに見たことのないデータを一般化します。入力として機械学習モデルに提供されるデータは、システムがデータを適切に理解して結果を生成できるようにする必要があります。 Seabornは、データの視覚化に役立つライブラリです。カスタマイズされたテーマと高レベルのインターフェースが付属しています。このインターフェースは、データの種類と、特定のフィルターが適用されたときのデータの動作をカスタマイズおよび制御するのに役立ちます。 Seabornライブラリには、さまざまなスタイルでの作業に役立つ「set_Style()」と呼ばれるインターフェースが含まれていま
-
Pythonのscikit-learnライブラリを使用してデータをスケーリングするにはどうすればよいですか?
特徴のスケーリングは、機械学習アルゴリズムを構築する際のデータ前処理段階の重要なステップです。特定の範囲内に収まるようにデータを正規化するのに役立ちます。 場合によっては、マシンによって計算が実行される速度を上げるのにも役立ちます。 なぜそれが必要なのですか? 入力として学習アルゴリズムに供給されるデータは、一貫性があり、構造化されている必要があります。値を効果的に予測するには、入力データのすべての機能を単一のスケールにする必要があります。しかし、現実の世界では、データは構造化されておらず、ほとんどの場合、同じ規模ではありません。 これは、正規化が思い浮かぶときです。これは、最も重要なデ