Powershell からの Amazon S3 データ連携タスクを自動化

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Amazon S3 ADO.NET Provider

Amazon S3 ファイルストレージデータに連携する.NET アプリケーションを素早く、簡単に開発できる便利なドライバー。



PowerShell から Amazon S3 に簡単に接続する方法をお探しですか? CData ADO.NET Provider for Amazon S3 は、PowerShell スクリプトの優位性を使い、シンプルで簡単に使えるADO.NET インターフェース を提供します。PowerShell スクリプトで、ADO.NET オブジェクトを使って簡単にAmazon S3 に接続して、同期、自動化、ダウンロードなどが可能!



CData ADO.NET Provider for Amazon S3 は、ADO.NET 標準インターフェースへ統合し、PowerShell のような. NET アプリケーションからAmazon S3 API へのデータ連携を可能にします。このプロバイダーは、Amazon S3 の認証および相互作用を簡単にします。このチュートリアルでは、PowerShell から直接SQL クエリを実行するための、いくつかの一般的なADO.NET オブジェクトの使い方を説明します。

CRUD コマンドの実行

次の3つのステップに従って SELECT クエリ PowerShell からリアルタイムAmazon S3 に実行:

  1. プロバイダーのアセンブリをロード:

    [Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for Amazon S3\lib\System.Data.CData.AmazonS3.dll")
  2. Amazon S3 に接続:

    Amazon S3 リクエストを認可するには、管理者アカウントまたはカスタム権限を持つIAM ユーザーの認証情報を入力します。AccessKey をアクセスキーID に設定します。SecretKey をシークレットアクセスキーに設定します。

    Note: AWS アカウント管理者として接続できますが、AWS サービスにアクセスするにはIAM ユーザー認証情報を使用することをお勧めします。

    尚、本製品はAmazon S3 のファイルの一覧表示やユーザー管理情報の取得用です。S3 に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、Excel DriverCSV DriverJSON Driver をご利用ください。

    アクセスキーの取得

    IAM ユーザーの資格情報を取得するには:

    1. IAM コンソールにサインインします。
    2. ナビゲーションペインで「ユーザー」を選択します。
    3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから「セキュリティ認証情報」タブを選択します。

    AWS ルートアカウントの資格情報を取得するには:

    1. ルートアカウントの資格情報を使用してAWS 管理コンソールにサインインします。
    2. アカウント名または番号を選択し、表示されたメニューで「My Security Credentials」を選択します。
    3. 「Continue to Security Credentials」をクリックし、「Access Keys」セクションを展開して、ルートアカウントのアクセスキーを管理または作成します。

    AWS ロールとして認証

    多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。RoleARN を指定することでAWS ロールを代わりに使用できます。これにより、本製品は指定されたロールの資格情報を取得しようと試みます。

    (すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、ロールを引き受けるIAM ユーザーのAccessKey とSecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey および SecretKey を指定する場合、ロールは使用できません。

    SSO 認証

    SSO 認証を必要とするユーザーおよびロールには、RoleARN およびPrincipalArn 接続プロパティを指定してください。各Identity Provider に固有のSSOProperties を指定し、AccessKey とSecretKey を空のままにする必要があります。これにより、本製品は一時的な認証資格情報を取得するために、リクエストでSSO 認証情報を送信します。

    $constr = "AccessKey=a123;SecretKey=s123;" $conn= New-Object System.Data.CData.AmazonS3.AmazonS3Connection($constr) $conn.Open()
  3. AmazonS3DataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:

    $sql="SELECT Name, OwnerId from ObjectsACL" $da= New-Object System.Data.CData.AmazonS3.AmazonS3DataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.name $_.ownerid }