CData PowerShell Cmdlets for NetSuite はじめに:インストールから接続まで
このガイドでは、NetSuite PowerShell Cmdlets の使い方を詳しく解説します。Cmdlet のインストール、初回接続の設定、クエリの実行、そして PowerShell で NetSuite のデータ を操作するための次のステップをご紹介します。
NetSuite データ連携について
CData は、Oracle NetSuite のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- Standard、CRM、OneWorld を含む、すべてのエディションの NetSuite にアクセスできます。
- SuiteTalk API(SOAP ベース)のすべてのバージョンと、SQL のように機能し、より簡単なデータクエリと操作を可能にする SuiteQL に接続できます。
- Saved Searches のサポートにより、事前定義されたレポートとカスタムレポートにアクセスできます。
- トークンベースおよび OAuth 2.0 で安全に認証でき、あらゆるユースケースで互換性とセキュリティを確保します。
- SQL ストアドプロシージャを使用して、ファイルのアップロード・ダウンロード、レコードや関連付けのアタッチ・デタッチ、ロールの取得、追加のテーブルやカラム情報の取得、ジョブ結果の取得などの機能的なアクションを実行できます。
お客様は、Power BI や Excel などのお気に入りの分析ツールからライブ NetSuite データにアクセスするために CData ソリューションを使用しています。また、CData Sync を直接使用するか、Azure Data Factory などの他のアプリケーションとの CData の互換性を活用して、NetSuite データを包括的なデータベースやデータウェアハウスに統合しています。CData は、Oracle NetSuite のお客様が NetSuite からデータを取得し、NetSuite にデータをプッシュするアプリを簡単に作成できるよう支援し、他のソースからのデータを NetSuite と統合することを可能にしています。
当社の Oracle NetSuite ソリューションの詳細については、ブログをご覧ください:Drivers in Focus Part 2: Replicating and Consolidating ... NetSuite Accounting Data
はじめに
インストールとライセンス認証
システム要件
CData PowerShell Cmdlets は、PowerShell が動作するあらゆる環境で実行できます。
Windows
- Windows 10/11
- Windows Server 2016 以降
- PowerShell 5.1 または PowerShell 7 以降
macOS / Linux
- PowerShell 7 以降
- 追加のシステムライブラリは不要
- アーキテクチャ固有のインストーラーは不要
Cmdlet のインストール
CData Cmdlets は PowerShell Gallery から配布されており、プラットフォーム間で簡単かつ一貫したインストールプロセスを実現しています。
インストール手順
- 管理者モードで PowerShell を開きます
- 以下のコマンドを実行して Cmdlet モジュールをインストールします:
Install-Module NetSuiteCmdlets -Repository PSGallery -Force
このコマンドは:
- 公式の PowerShell Gallery からモジュールをダウンロードします
- PowerShell 環境にインストールします
- すべての Cmdlet をすぐに使用できるように登録します
モジュールの確認
インストールを確認するには:
Get-Module -ListAvailable "*NetSuite*"
ライセンス認証
Cmdlets は試用版と正規ライセンスの両方の認証に対応しています。
試用版ライセンス
試用版の認証は自動的に行われ、キーは不要です。インストール後すぐに Cmdlet を使用できます。
正規ライセンスの認証
正規ライセンスを購入された場合、CData Orders チームからプロダクトキーを受け取ります。
ライセンスの認証
以下のコマンドを実行します:
Set-ModuleLicense ""
認証が成功すると、確認メッセージが表示されます。
ライセンスに関するよくある質問
ライセンスは複数のマシンで使用できますか?
サブスクリプションプランによります。注文確認メールを確認するか、[email protected] までお問い合わせください。
ライセンスキーを紛失しました。どうすればよいですか?
注文番号を添えて [email protected] までメールでお問い合わせください。
ライセンスを別のマシンに移行できますか?
以下のリンクからライセンス移行リクエストを送信してください:https://www.cdata.com/lic/transfer/
ライセンスはどこで管理できますか?
CData カスタマーポータルにアクセスしてください:https://portal.cdata.com/
接続設定
モジュールがインストールされ、ライセンスが認証されたら、
Connect-NetSuite cmdletを使用して NetSuite への接続を確立できます。
必要な接続プロパティを取得したら、PowerShell で NetSuite のデータ にアクセスしてレプリケーションを準備するには、基本的に 4 つのステップがあります。
NetSuiteへの接続
NetSuite では、2種類のAPI でデータにアクセスできます。どちらのAPI を使用するかは、Schema 接続プロパティで以下のいずれかを選択して指定してください。
- SuiteTalk は、NetSuite との通信に使用されるSOAP ベースの従来から提供されているサービスです。幅広いエンティティをサポートし、INSERT / UPDATE / DELETE の操作も対応しています。ただし、SuiteQL API と比べるとデータの取得速度が劣ります。また、サーバーサイドでのJOIN に対応していないため、これらの処理はCData 製品がクライアントサイドで実行します。
- SuiteQL は、より新しいAPI です。JOIN、GROUP BY、集計、カラムフィルタリングをサーバーサイドで処理できるため、SuiteTalk よりもはるかに高速にデータを取得できます。ただし、NetSuite データへのアクセスは読み取り専用となります。
データの取得のみが目的でしたらSuiteQL をお勧めします。データの取得と変更の両方が必要な場合は、SuiteTalk をお選びください。
NetSuite への認証
CData 製品では、以下の認証方式がご利用いただけます。
- トークンベース認証(TBA)はOAuth1.0に似た仕組みです。2020.2以降のSuiteTalk とSuiteQL の両方で利用できます。
- OAuth 2.0 認証(OAuth 2.0 認可コードグラントフロー)は、SuiteQL でのみご利用いただけます。
- OAuth JWT 認証は、OAuth2.0 クライアント認証フローの一つで、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。
トークンベース認証(OAuth1.0)
トークンベース認証(TBA)は、基本的にOAuth 1.0 の仕組みです。この認証方式はSuiteTalk とSuiteQL の両方でサポートされています。管理者権限をお持ちの方がNetSuite UI 内でOAuthClientId、OAuthClientSecret、OAuthAccessToken、OAuthAccessTokenSecret を直接作成することで設定できます。 NetSuite UI でのトークン作成手順については、ヘルプドキュメントの「はじめに」セクションをご参照ください。
アクセストークンを作成したら、以下の接続プロパティを設定して接続してみましょう。
- AuthScheme = Token
- AccountId = 接続先のアカウント
- OAuthClientId = アプリケーション作成時に表示されるコンシューマーキー
- OAuthClientSecret = アプリケーション作成時に表示されるコンシューマーシークレット
- OAuthAccessToken = アクセストークン作成時のトークンID
- OAuthAccessTokenSecret = アクセストークン作成時のトークンシークレット
その他の認証方法については、ヘルプドキュメントの「はじめに」をご確認ください。
NetSuite のデータ の取得
-
モジュールをインストールします:
Install-Module NetSuiteCmdlets
-
NetSuite に接続します:
$netsuite = Connect-NetSuite -AccountId $AccountId -Schema $Schema -AuthScheme $AuthScheme -OAuthClientId $OAuthClientId -OAuthClientSecret $OAuthClientSecret -OAuthAccessToken $OAuthAccessToken -OAuthAccessTokenSecret $OAuthAccessTokenSecret
PowerShell での NetSuite のデータ のクエリ
接続後、標準 SQL のようなコマンドを使用してデータをクエリできます。
クエリ例:
$results = Select-NetSuite `
-Connection $conn `
-Table "SalesOrder" `
-Columns "CustomerName,SalesOrderTotal" `
-Where "CustomerName != ''"
結果を表示します:
$results
これで PowerShell から NetSuite のデータ にアクセスできるようになりました。
よくある問題
認証エラー
解決策: ユーザー名、パスワード、セキュリティトークンを確認してください。OAuth アプリケーションの場合、アプリケーションのセキュリティ設定で CData を認可する必要がある場合があります。認可のサポートについては [email protected] までお問い合わせください。
ネットワークまたはプロキシの問題
解決策: ファイアウォール設定とアウトバウンドアクセスを確認してください。ほとんどのクラウドアプリケーションはポート 443 を使用します。
Cmdlet が見つからない
解決策: モジュールがインストールされていることを確認してください -
Get-Module -ListAvailable "*NetSuite*"
クエリが遅い
解決策:
- フィルターを追加してデータセットのサイズを削減してください
- サポートされている場合は $Limit または $Top プロパティを使用してください
- 最適化のサポートについては [email protected] までお問い合わせください
接続に関するその他のトラブルシューティングについては、具体的なエラーメッセージを添えて [email protected] までお問い合わせください。
次のステップ
PowerShell Cmdlets のインストール、ライセンス認証、接続設定が完了しました。以下のシナリオを参考に、さらに活用してみてください:
| PowerShell | 記事タイトル |
|---|---|
| Piping Cmdlets | PowerShell で NetSuite のデータ を CSV にパイプする方法 |
| Replication | PowerShell スクリプトで NetSuite のデータ を MySQL にレプリケートする |
サポート
ご不明な点がございましたら、お気軽にお問い合わせください:
- テクニカルサポート: [email protected]
- コミュニティフォーラム: CData Community Site
- ヘルプドキュメント: ローカルにインストールされているほか、オンラインでも参照可能です
FAQ(PowerShell Cmdlets)
インストールとライセンス
- Cmdlet のインストールには管理者権限が必要ですか?
- Windows PowerShell 5.1(Windows):管理者権限が推奨されます。特にすべてのユーザー向けにモジュールをインストールする場合に必要です。
- PowerShell 7 以降(Windows、macOS、Linux):以下のコマンドを使用することで、管理者権限なしで現在のユーザー向けに Cmdlet をインストールできます:
Install-Module NetSuiteCmdlets -Scope CurrentUser
- インストーラーをダウンロードする必要がありますか?
必ずしも必要ではありません。
CData PowerShell Cmdlets は PowerShell Gallery から配布されています。インストールは以下のコマンドで実行します:
Install-Module NetSuiteCmdlets -Repository PSGallery -Force
接続
- 同じデータソースの複数のアカウントに接続するにはどうすればよいですか?
異なる認証プロパティを持つ個別の接続オブジェクトを作成します:
$conn1 = Connect-NetSuite -User User1 -Password Pwd1
$conn2 = Connect-NetSuite -User User2 -Password Pwd2
Cmdlet は ODBC DSN を使用しません。すべての接続プロパティは
Connect-NetSuiteで直接渡されます。
多くの Cmdlet は以下のようなプロキシプロパティをサポートしています:
- ProxyServer
- ProxyPort
- ProxyUser
- ProxyPassword
データソース固有のヘルプドキュメントを参照してください。
パフォーマンスとトラブルシューティング
- クエリが遅いのはなぜですか?
- フィルターがない(WHERE 句がない)
- 大量の結果セットを取得している
- クラウド API からのレイテンシ
- 増分戦略を使用していない
- データをフィルタリングする(-Where パラメータ)
- 必要なカラムのみを選択する
- データソースの API スロットリング制限を確認する
- ログを有効にするにはどうすればよいですか?
よくある原因:
以下をお試しください:
クエリ最適化のサポートについては [email protected] までお問い合わせください。
以下のコマンドでモジュールのログを有効にします:
Set-ModuleLogging -Path "C:\logs\cdata.log" -Verbosity 3CData サポートと連携する際は、ログファイルを安全にアップロードしてください。
ほとんどのクラウドアプリケーション(Salesforce、HubSpot、Dynamics、Google API など)は HTTPS(443)を使用します。
ソースが追加のポートを必要とする場合は、固有のドキュメントを確認するか、[email protected] までお問い合わせください。
コンテナに PowerShell 7 をインストールし、モジュールをインストールします:
pwsh -Command "Install-Module NetSuiteCmdlets -Force"その後、通常どおり認証を行います。
一般
- サポートされているすべての SQL/コマンド操作はどこで確認できますか?
- PowerShell Cmdlets はどのくらいの頻度で更新されますか?
- コード例はどこで確認できますか?
- 基本的なクエリ
- Insert/Update/Delete
- OAuth フロー
- ファイル操作
- API 連携
各 Cmdlet にはローカルにインストールされたヘルプドキュメントが含まれており、オンラインでも参照可能です:https://www.cdata.com/powershell/
CData はメジャーアップデートを年次でリリースし、年間を通じて増分アップデートを行います。バージョンの入手可能性については、カスタマーポータルを確認するか、[email protected] までお問い合わせください。
すべての Cmdlet にはヘルプドキュメントに例が含まれており、多くのサービスのオンライン例も提供されています:https://www.cdata.com/powershell/ 例には以下が含まれます:
この FAQ で解決しない場合は、[email protected] までお問い合わせください。