Magento
Magento コネクタを使用すると、Magento データベースに対して挿入、削除、更新、読み取りのオペレーションを実行できます。
始める前に
Magento コネクタを使用する前に、次の作業を行います。
- Google Cloud プロジェクトで次の操作を行います。
- ネットワーク接続が設定されていることを確認します。ネットワーク パターンの詳細については、Network Connectivity をご覧ください。
 - コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
 - コネクタに使用するサービス アカウントに、次の IAM ロールを付与します。
roles/secretmanager.viewerroles/secretmanager.secretAccessor
サービス アカウントは特別なタイプの Google アカウントで、Google API のデータにアクセスするのに認証を受ける必要がある人間以外のユーザーを表します。サービス アカウントがない場合は、サービス アカウントを作成する必要があります。コネクタとサービス アカウントは同じプロジェクトに属している必要があります。詳細については、サービス アカウントを作成するをご覧ください。
 - 次のサービスを有効にします。
secretmanager.googleapis.com(Secret Manager API)connectors.googleapis.com(Connectors API)
サービスを有効にする方法については、サービスを有効にするをご覧ください。
 
以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。
 
Magento の構成
アクセス トークンを生成する
- Magento Login にログインします。
 - Magento 管理パネルに移動します。yourstore.com は実際のドメイン名に置き換えてください。
 - アクセス トークンを生成するには、[Magento Stores] > [設定] > [構成] > [サービス] > [OAuth] > [アクセス トークン] に移動します。
 
コネクタを構成する
接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。
- Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。
 - [+ 新規作成] をクリックして [接続の作成] ページを開きます。
 - [ロケーション] セクションで、接続のロケーションを選択します。
      
- リージョン: プルダウン リストからロケーションを選択します
        
          
サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。
 - [NEXT] をクリックします。
 
 - リージョン: プルダウン リストからロケーションを選択します
        
          
 - [接続の詳細] セクションで、次の操作を行います。
- コネクタ: 使用可能なコネクタのプルダウン リストから [Magento] を選択します。
 - コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
 - [接続名] フィールドに、接続インスタンスの名前を入力します。
          
接続名は次の条件を満たす必要があります。
- 接続名には英字、数字、ハイフンを使用できます。
 - 文字は小文字のみを使用できます。
 - 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
 - 接続名は 49 文字以内で指定してください。
 
 - 必要に応じて、接続インスタンスの [説明] を入力します。
 - 必要に応じて、Cloud Logging を有効にして、ログレベルを選択します。デフォルトのログレベルは 
Errorに設定されています。 - サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
 - 必要に応じて、接続ノードの設定を構成します。
        
- ノードの最小数: 接続ノードの最小数を入力します。
 - ノードの最大数: 接続ノードの最大数を入力します。
 
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
 - BrowsableSchemas: このプロパティは、利用可能なスキーマのサブセットに報告されるスキーマを制限します。例: BrowsableSchemas=SchemaA,SchemaB,SchemaC。
 - カスタム属性を含める: 列のリストにカスタム属性を含めるかどうかを示すブール値。
 - 店舗コード: API リクエストが実行される店舗のコードを指定します。
 - (省略可)[詳細設定] セクションで、[プロキシを使用する] チェックボックスをオンにして、接続用のプロキシ サーバーを構成し、次の値を構成します。
 - 
            Proxy Auth Scheme: プロキシ サーバーで認証する認証タイプを選択します。次の認証タイプがサポートされています。
- 基本: 基本的な HTTP 認証。
 - ダイジェスト: ダイジェスト HTTP 認証。
 
 - Proxy User: プロキシ サーバーでの認証に使用されるユーザー名。
 - プロキシ パスワード: ユーザーのパスワードの Secret Manager シークレット。
 - 
            Proxy SSL Type: プロキシ サーバーへの接続時に使用する SSL タイプ。次の認証タイプがサポートされています。
- 自動: デフォルトの設定。URL が HTTPS URL の場合は、[トンネル] オプションが使用されます。URL が HTTP URL の場合、[なし] オプションが使用されます。
 - 常に: 接続は常に SSL 対応です。
 - なし: 接続は SSL に対応していません。
 - トンネル: 接続はトンネリング プロキシ経由で行われます。プロキシ サーバーがリモートホストへの接続を開き、トラフィックはプロキシを経由するようになります。
 
 -  [Proxy Server] セクションで、プロキシ サーバーの詳細を入力します。
- [+ 宛先を追加] をクリックします。
 - [宛先の種類] を選択します。
- Host address: 宛先のホスト名または IP アドレスを指定します。
バックエンドへのプライベート接続を確立する場合は、次のようにします。
- PSC サービス アタッチメントを作成します。
 - エンドポイント アタッチメントを作成し、続いて [Host address] フィールドにあるエンドポイント アタッチメントの詳細を入力します。
 
 
 - Host address: 宛先のホスト名または IP アドレスを指定します。
 
 - 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
 - [NEXT] をクリックします。
 
 -  [宛先] セクションに、接続するリモートホスト(バックエンド システム)の詳細を入力します。
- 宛先の種類: 宛先の種類を選択します。
            
 
- 宛先のホスト名または IP アドレスを指定するには、[ホストアドレス] を選択し、[ホスト 1] フィールドにアドレスを入力します。
 - プライベート接続を確立するには、[エンドポイント アタッチメント] を選択し、[エンドポイント アタッチメント] リストから必要なアタッチメントを選択します。
 
セキュリティをさらに強化してバックエンドシステムへのパブリック接続を確立する場合は、接続用の静的アウトバウンド IP アドレスの構成を検討してから、特定の静的 IP アドレスのみを許可リストに登録するようファイアウォール ルールを構成します。
他の宛先を入力するには、[+ 宛先を追加] をクリックします。
 - [NEXT] をクリックします。
 
 - 宛先の種類: 宛先の種類を選択します。
            
 
 - 
      [認証] セクションで、認証の詳細を入力します。
- [認証タイプ] を選択し、関連する詳細を入力します。
Magento 接続でサポートされる認証タイプは次のとおりです。
- ユーザー名とパスワードを指定する
 
 - [NEXT] をクリックします。
 
これらの認証タイプを構成する方法については、認証を構成するをご覧ください。
 - [認証タイプ] を選択し、関連する詳細を入力します。
 - Review: 接続と認証の詳細を確認します。
 - [作成] をクリックします。
 
認証を構成する
使用する認証に基づいて詳細を入力します。
- 
        ユーザー名とパスワード
- ユーザー名: コネクタのユーザー名
 - パスワード: コネクタに関連付けられたパスワードを含む Secret Manager の Secret。
 
 
接続構成のサンプル
このセクションでは、Magento 接続を作成するときに構成するさまざまなフィールドのサンプル値を示します。
ウェブ接続のタイプ
| フィールド名 | 詳細 | 
|---|---|
| ロケーション | us-east4 | 
| コネクタ | Magento | 
| コネクタのバージョン | 1 | 
| 接続名 | magento-google-cloud | 
| サービス アカウント | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com | 
| 詳細レベル | 5 | 
| ノードの最小数 | 2 | 
| ノードの最大数 | 50 | 
| 宛先の種類 | ホストアドレス | 
| ホスト | 192.0.2.0 | 
| ユーザー名 | ユーザー名 | 
| パスワード | パスワード | 
| シークレット バージョン | 1 | 
PSC 接続のタイプ
| フィールド名 | 詳細 | 
|---|---|
| ロケーション | us-east1 | 
| コネクタ | Magento | 
| コネクタのバージョン | 1 | 
| 接続名 | magento-connection-google-cloud-psc | 
| サービス アカウント | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com | 
| 詳細レベル | 5 | 
| ノードの最小数 | 2 | 
| ノードの最大数 | 50 | 
| 宛先の種類 | ホストアドレス | 
| ホスト | 192.0.2.0 | 
| ユーザー名 | ユーザー名 | 
| パスワード | パスワード | 
| シークレット バージョン | 1 | 
エンティティ、オペレーション、アクション
すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。
- エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。
ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、
Entitiesリストは空になります。 - オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。
 
  
使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがいずれかのエンティティ オペレーションをサポートしていない場合、サポートされていないオペレーションは
Operationsリストに含まれません。 - アクション: コネクタ インターフェースを介して統合で使用できる主要な関数の一つです。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。通常、アクションには入力パラメータと出力パラメータがあります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、
Actionsリストが空になります。 
システムの上限
Magneto コネクタは、ノードごとに 1 秒あたり 5 つのトランザクションを処理でき、この上限を超えるトランザクションをスロットルします。 デフォルトでは、Integration Connectors は、接続に 2 つのノードを割り当てます(可用性を高めるため)。
エンティティ オペレーションの例
このセクションでは、このコネクタでエンティティ オペレーションの一部を実行する方法について説明します。
例 - すべてのレコードを一覧表示する
この例では、Products エンティティ内のすべてのレコードを一覧表示します。
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからProductsを選択します。- [
List] オペレーションを選択し、[完了] をクリックします。 - 必要に応じて、コネクタタスクの [タスク入力] セクションでフィルタ句を指定して、結果セットをフィルタリングできます。
     たとえば、
City='Bangalore'のようにします。論理演算子を使用して複数のフィルタ条件を指定することもできます。例:City='Bangalore' and region='asia-south2'。 
例 - レコードを取得する
この例では、QuoteCart エンティティから、指定した ID のレコードを取得します。
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからQuoteCartを選択します。- [
Get] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで [EntityId] をクリックし、[デフォルト値] フィールドに 
13を入力します。ここで、
13はQuoteCartエンティティ内の一意の識別子です。 
例 - レコードを作成する
この例では、CustomerGroup エンティティに レコードを作成します。
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからCustomerGroupを選択します。- [
Create] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayloadをクリックし、Default Valueフィールドに次のような値を入力します。{ "Code": "NEW1", "TaxClassId": 3.0, "TaxClassName": "TRAKE" }
統合に成功すると、コネクタタスクの
connectorOutputPayloadフィールドの値は次のようになります。{ "Id": 19.0 }
 
例 - レコードを更新する
この例では、Products エンティティ内の指定された ID のレコードを更新します。
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからProductsを選択します。- [
Update] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayloadをクリックし、Default Valueフィールドに次のような値を入力します。{ "AttributeSetId": 4.0, "Price": 38888.0 }
 - [エンティティ ID] をクリックし、[デフォルト値] フィールドに「
sj-1099」と入力します。統合に成功すると、コネクタタスクの
connectorOutputPayloadフィールドの値は次のようになります。{ }
 
例 - レコードを削除する
この例では、Products エンティティ内の指定された ID のレコードを削除します。
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからProductsを選択します。- [
Delete] オペレーションを選択してから、[完了] をクリックします。 - [コネクタタスクの [タスク入力 セクションで [entityId] をクリックし、[デフォルト値] フィールドに 
sj-1099を入力します。 
Terraform を使用して接続を作成する
Terraform リソースを使用して、新しい接続を作成できます。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
接続作成用の Terraform テンプレートのサンプルを表示するには、サンプル テンプレートをご覧ください。
Terraform を使用してこの接続を作成する場合は、Terraform 構成ファイルで次の変数を設定する必要があります。
| パラメータ名 | データ型 | 必須 | 説明 | 
|---|---|---|---|
| include_custom_attributes | BOOLEAN | False | 列のリストにカスタム属性を含めるかどうかを示すブール値。 | 
| store_code | STRING | False | API リクエストが実行される店舗のコードを指定します。 | 
| browsable_schemas | STRING | False | このプロパティは、利用可能なスキーマのサブセットに報告されるスキーマを制限します。例: BrowsableSchemas=SchemaA,SchemaB,SchemaC。 | 
| 詳細度 | STRING | False | 接続の詳細レベルは 1~5 です。詳細レベルが高いと、すべての通信の詳細(リクエスト、レスポンス、SSL 証明書)がログに記録されます。 | 
| proxy_enabled | BOOLEAN | False | 接続用のプロキシ サーバーを構成するには、このチェックボックスをオンにします。 | 
| proxy_auth_scheme | ENUM | False | ProxyServer プロキシへの認証に使用する認証タイプです。サポートされている値は、BASIC、DIGEST、NONE です。 | 
| proxy_user | STRING | False | ProxyServer プロキシへの認証に使用されるユーザー名です。 | 
| proxy_password | SECRET | False | ProxyServer プロキシの認証に使用されるパスワード。 | 
| proxy_ssltype | ENUM | False | ProxyServer プロキシへの接続時に使用する SSL のタイプです。サポートされている値は AUTO、ALWAYS、NEVER、TUNNEL です。 | 
統合で Magento 接続を使用する
接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。
- Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
 - Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
 
Google Cloud コミュニティの助けを借りる
Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。次のステップ
- 接続を一時停止して再開する方法を確認する。
 - コネクタの使用状況をモニタリングする方法を確認する。
 - コネクタログを表示する方法を確認する。