PowerShell でau Wowma Data データをCSV に落としてみた

標準PowerShell cmdlets を使ってau Wowma テーブルにアクセス。

CData Cmdlets Module for au Wowma は、直感的なau Wowma データ連携を提供する標準cmdlet です。 本記事では、Wowma Cmdlets を使ったサンプルを提供します。

Creating a Connection to Your au Wowma Data

au Wowma! に接続するには、ShopId およびApiKey が必要です。

au Wowma! へのアクセスの設定

ShopId およびApiKey を取得するには、以下の手順に従ってください。

  • Wow! manager サイトにログインして、[各種お申し込み]メニューの[API利用申請]に移動します。
  • API利用規約に同意します。
  • [APIキーの発行はこちら]をクリックします。
  • [発行]ボタンをクリックして、API キーを生成します。
  • [接続元IPアドレスを登録]に、対象とするIP アドレスを入力します。
  • [登録]ボタンをクリックして、設定を保存します。

au Wowma! アカウントの認証

次の接続プロパティを設定して接続します。

  • ShopId:接続先のau Wowma! Shop ID を設定。
  • ApiKey:API キーを設定。au Wowma! ストアアカウントから取得したAPI キーです。
  • UseSandbox:Sandbox 環境に接続する場合はTrue を設定。

$conn = Connect-Wowma  -ApiKey "$ApiKey" -ShopId "$ShopId"

Selecting Data

Follow the steps below to retrieve data from the Items table and pipe the result into to a CSV file:

Select-Wowma -Connection $conn -Table Items | Select -Property * -ExcludeProperty Connection,Table,Columns | Export-Csv -Path c:\myItemsData.csv -NoTypeInformation

You will notice that we piped the results from Select-Wowma into a Select-Object cmdlet and excluded some properties before piping them into an Export-Csv cmdlet. We do this because the CData Cmdlets append Connection, Table, and Columns information onto each "row" in the result set, and we do not necessarily want that information in our CSV file.

The Connection, Table, and Columns are appended to the results in order to facilitate piping results from one of the CData Cmdlets directly into another one.

Deleting Data

The following line deletes any records that match the criteria:

Select-Wowma -Connection $conn -Table Items -Where "ItemCode = 99a87c0x3" | Remove-Wowma

Inserting and Updating Data

The cmdlets make data transformation easy as well as data cleansing. The following example loads data from a CSV file into au Wowma, checking first whether a record already exists and needs to be updated instead of inserted.

Import-Csv -Path C:\MyItemsUpdates.csv | %{
  $record = Select-Wowma -Connection $Wowma -Table Items -Where ("Id = `'"+$_.Id+"`'")
  if($record){
    Update-Wowma -Connection $wowma -Table Items -Columns ("ItemCode","Price") -Values ($_.ItemCode, $_.Price) -Where ("Id = `'"+$_.Id+"`'")
  }else{
    Add-Wowma -Connection $wowma -Table Items -Columns ("ItemCode","Price") -Values ($_.ItemCode, $_.Price)
  }
}

As always, our goal is to simplify the way you connect to data. With cmdlets users can install a data module, set the connection properties, and start building. Download Cmdlets and start working with your data in PowerShell today!

 
 
ダウンロード