インポートとエクスポートの構成
学習の目的
- 管理者がインポート/エクスポートを実行するために必要な 3 種類の許可を挙げる。
- インポートプロセスの基本的な手順を 3 つ挙げる。
- エクスポートプロセスの基本的な手順を 3 つ挙げる。
- サイトのインポート/エクスポートの目的を説明する。
- 転送の制限に対処する 2 つの方法を説明する。
はじめに
Cloud Kicks の管理者である Linda Rosenberg は、インポートとエクスポートのスキーマやモードについて多くのことを学びました。いよいよ初めてのインポート/エクスポートプロセスを構成して実行する準備ができました。Linda はさまざまなインポート/エクスポートプロセスを担当しますが、今日はカタログのインポートと注文のエクスポートに的を絞って取り組みます。これらのプロセスを遂行する手順と、データ転送のサイズ制限について学習します。
けれども Linda はまず、本人とその支援管理者である Peter Wong に Business Manager とファイル転送の適切な許可があることを確認する必要があります。
Linda と Peter には次のアクセス許可が必要です。
- サイトのインポート/エクスポート (すべてのサイト情報を含む)
- ストアフロント情報 (商品やコンテンツなど) のインポート/エクスポート
- サーバー上のログファイルやインポート/エクスポートディレクトリへの WebDAV アクセス
さらに、Salesforce B2C Commerce サポートに FTP ポートへのアクセス権を申請して、デベロッパーが提供する FTPClient スクリプトを使用できるようにします。
カタログのインポート
Business Manager にアクセスするには、B2C Commerce の実装が必要です。このモジュールでは、受講者が B2C Commerce 管理者であり、次のタスクを実行する適切な権限を有していると想定しています。B2C Commerce 管理者でなくても大丈夫です。このまま読み進み、ステージングインスタンスで管理者がこれらの手順をどのように実行するのかを確認します。Trailhead Playground で次の手順を実行しないでください。Trailhead Playground では B2C Commerce を使用できません。B2C Commerce のステージングインスタンスがある場合は、これらの手順をそのインスタンスで実行できます。ステージングインスタンスがない場合は、使用可能なインスタンスがないかマネージャーにお問い合わせください。
Linda はまず、Business Manager で手動のインポート/エクスポートプロセスを実行します。いずれはデベロッパーと協力して、標準パイプレットを使用するプロセスを作成する予定です。こうしたパイプレットは、大量のデータセットを簡単に処理し、迅速で信頼性が高く、システムリソースを効率的に使用します。Linda はまた効率性を高めるために、ファイル転送とインポート/エクスポートの両方を目的とするバッチジョブも作成するつもりです。けれども現時点では、手動のプロセスで事足ります。
商品データを含むカタログをインポートするために、このモジュールの最初の単元で説明したとおり、catalog.xsd 形式を使用して Cloud Kicks の PIM システムにファイルを作成します。
後続の手順は次のとおりです。
- Business Manager を開きます。
- [cloudkicks] > Merchant Tools (マーチャントツール] > [Products and Catalogs (商品およびカタログ] > [Import & Export (インポート & エクスポート)] の順に選択します。
- [Import and Export Files (インポートファイルとエクスポートファイル)] セクションで、[Upload (アップロード)] をクリックします。
- [Choose File (ファイルの選択)] をクリックします。
- [アップロード] をクリックします。
- ファイルを選択して、[Compress (圧縮)] をクリックします。
- Business Manager で zip ファイルが作成されます。
- [<<Back (<<戻る)] をクリックします。
- [Catalogs (カタログ)] セクションで、[Import (インポート)] をクリックします。
- [Catalog Import - Select File (カタログのインポート - ファイルの選択)] セクションで、インポートするファイルを選択し、[Next>> (次へ>>)] をクリックします。
- Business Manager でファイルが検証され、ファイル分析が表示されます。Linda は、インポートを進める前にこの分析をチェックして、必要な情報が Business Manager で認識されていることを確認します。
- [次へ] をクリックします。
- インポートのマージモードを選択します。
注文のエクスポート
Linda は注文をエクスポートして、Cloud Kicks の外部の注文管理システム (OMS) で処理されるようにしたいと思っています。エクスポートファイルはインポートと同じスキーマ定義を使用します。Business Manager は自動的に XML ファイルを作成します。
注文をエクスポートする手順は、次のとおりです。
- Business Manager を開きます。
- [cloudkicks] > Merchant Tools (マーチャントツール] > [Ordering (注文処理)] > [Import & Export (インポート & エクスポート)] の順に選択します。
- [Export (エクスポート)] をクリックします。
- エクスポートする注文を選択して、[Next (次へ)] をクリックします。
- [Export Selected Orders (選択した注文のエクスポート)] を選択します。
- ファイル名に「orders-01-19-2019」と入力します。
- [Update Order Export Status and Inventory (注文のエクスポートステータスと在庫の更新)] を選択します。
- [Export (エクスポート)] をクリックします。
- [Import and Export Files (インポートファイルとエクスポートファイル)] セクションで、[Download (ダウンロード)] をクリックします。
- ファイル名 (Linda が選択した orders-01-19-2019) を選択して、[Compress (圧縮)] をクリックします。
- zip ファイル名をクリックすると、そのファイルがローカルシステムにダウンロードされます。
Linda は WebDAV を使用して XML ファイルを OMS に転送し、そのファイルを OMS にインポートします。FTP や HTTPS を使用することもできますが、Cloud Kicks では WebDAV を使用する実装を開発しています。この転送プロセスでは、データ転送に関する PCI-DSS 要件と OMS システム要件を満たすセキュアな接続を使用します。これがベストプラクティスです!
WebDAV 経由のインポート/エクスポートファイルの表示
すべてを完璧にしておきたい Linda は念のためにファイルを確認します。その仕組みは次のとおりです。
- Business Manager を開きます。
- [Administration (管理)] > [Site Development (サイトの開発)] > [Development Setup (開発セットアップ)] の順に選択します。
- [Import/Export (インポート/エクスポート)] リンクをクリックします。
- ログファイルを見て、正しいことを確認します。
B2C Commerce では、エクスポートファイルのアップデートが 500 MB に制限されています。つまり、巨大な画像を含む複数のサイトをエクスポートまたはインポートすると、データの超過料金が生じる可能性があります。そのため Linda は、1 日 1 回など必要な頻度で必要なデータのみのエクスポートを実行します。
サイトのインポート/エクスポート
Linda が処理するもう 1 種類のインポート/エクスポートはサイトデータです。Cloud Kicks では新しいサイトを実装中で、複数の開発チームが異なる Development (開発) インスタンスで並行して作業を進めています。Linda はファンクショナルアーキテクトから、1 つの Development (開発) インスタンスの構成をコピーして、別の Development (開発) インスタンスと共有するように依頼されました。
サイトのインポート/エクスポートでは、インスタンスのスナップショット (構成とデータ) を保存して、同じまたは別のインスタンスで復元できます。
Linda がサイトデータをエクスポートする手順は、次のとおりです。
- Business Manager を開きます。
- [Administration (管理)] > [Site Development (サイトの開発)] > [Site Import & Export (サイトのインポート & エクスポート)] の順に選択します。
- [Export (エクスポート)] セクションに、アーカイブのファイル名を入力します。
- エクスポートするデータを選択します。
- [Export (エクスポート)] をクリックします。
- エクスポートが終了したら、ページ下部にあるファイルのエクスポートリンクをクリックします。
- 次のページで一番下までスクロールし、ファイルのダウンロードリンクをクリックします。ローカルシステムに zip ファイルが作成されます。
サイトデータをインポートする手順は、次のとおりです。
- 受信したインスタンスで、Business Manager を開きます。
- [Administration (管理)] > [Site Development (サイトの開発)] > [Site Import & Export (サイトのインポート & エクスポート)] の順に選択します。
- [Import (インポート)] セクションの [Local (ローカル)] が選択されている状態で、[Choose File (ファイルの選択)] をクリックします。
- ファイルを参照して、[Open (開く)] をクリックします。
- [Import (インポート)] セクションのファイルを選択して、[Import (インポート)] をクリックします。
トランザクションの制限
標準インポートは任意のサイズの XML ファイルを処理するよう設計されていますが、1 回のプロセスのビジネスオブジェクト数は 1,000 個に制限されています。Cloud Kicks の事業が拡大する中、Linda はこうした制限に注意を払う必要があります。
制限 | 説明 |
---|---|
アップロード | B2C Commerce インスタンスへの WebDAV 転送では、アップロードが 100 MB に制限されています。ファイルの転送に時間がかかりすぎる場合は、Linda がファイルを zip に圧縮して再試行することが考えられます。 |
ダウンロード | ファイルにダウンロードする場合、FTP または WebDAV のファイルサイズが 200 MB 未満でなければなりません。文字列にダウンロードする場合はファイルサイズがはるかに小さくなります。 |
FTPClient のサイズ | プログラムによるファイルの取得では、ファイル制限を引数で渡すかデフォルトで設定して強制的に適用します。 |
HTTPClient のサイズ | HTTP クライアントにはファイルのサイズ制限がありません。 |
圧縮された XML ファイル
Linda は XML ファイルを圧縮してサイズを縮小しました。こうすればアップロードサイズの制限内に収まり、低速ネットワークリンクでのアップロード/ダウンロードの時間が短縮されます。
- gzip: Business Manager では標準のインポートファイルを gzip アルゴリズムを使用して圧縮するため、インスタンスで .gunzip を実行する必要がありません。単にインポートパイプレットにファイル名 (catalog.xml.gz など) を入力するか、Business Manager で gzip で圧縮されたファイルを (拡張子が .gz である必要があります) を選択します。
- zip: Business Manager のインポート/エクスポート内で、XML ファイルを 1 つずつ圧縮または展開することができます (zip 圧縮で、gzip 圧縮ではありません)。.zip ファイルはアップロード時に Business Manager が自動的に展開します。
デルタフィード
Linda は、カタログデータ以外のインポートに、現在と以前の XML ファイルの差異のみを記載した XML ファイルを作成します。これをデルタフィードといいます。通常はデルタフィードのほうが容量が小さく、迅速にインポートでき、ネットワーク中断による影響が少なくなります。
Linda はカタログのデルタフィードを作成できますが、インポートのグローバルモードを要素固有モードに置換する要素を含めることはできません。たとえば、bundled-products 項目は自動的に置換モードを使用するため、バンドル商品のデルタフィードを作成することはできません。
静的ファイル
カタログやコンテンツライブラリ (カテゴリ、商品、コンテンツデータ) の永続オブジェクトには、商品の画像などの補足的な静的ファイルがあります。B2C Commerce ではこれらのファイルがインスタンスファイルシステムに保存されます。XML ファイル に含めることができるのは永続データベースオブジェクトと、静的オブジェクトへの参照のみです。Linda が静的ファイルをエクスポート/インポートまたはダウンロード/アップロードする場合は、WebDAV インターフェースを使用する必要があります。
アーカイブする理由
XML ファイルはロールバックできないため、Linda はインポート前に必ず以前の XML ファイルをアーカイブしています。これはベストプラクティスです。こうすれば新しい XML ファイルが検証されない場合に、以前のバージョンをインポートできます。週に一度古いファイル (最新のファイル以外) を削除して、ファイルが溜まらないようにします。
まとめ
Linda は今日、カタログをインポートして、注文をエクスポートし、WebDAV にログを表示する方法を学習しました。サイトのインポート/エクスポートで、サイトデータを 1 つの Development (開発) インスタンスから別の Development (開発) インスタンスにコピーしました。ファイルやトランザクションのサイズ制限に対処する方法や、アーカイブの重要性についても学びました。
このモジュールでは、Linda がスキーマやモード、そしてインポート/エクスポートプロセスに必要な手順を習得するところを一緒にみてきました。次は、あなたの知識を試して、バッジを獲得するときです。