Amazon DynamoDB への接続を確立する
学習の目的
この単元を完了すると、次のことができるようになります。
- Amazon DynamoDB への接続について説明する。
- 各種の項目を対応付ける場合のオプションを挙げる。
では、DynamoDB の接続を設定して、外部オブジェクトを使い始める手順を見ていきましょう。
指定ログイン情報を設定する
- [設定] から、[クイック検索] テキストボックスに
Named Credentials
(指定ログイン情報) と入力します。[指定ログイン情報] を選択します。 - 次に、[新規指定ログイン情報] をクリックします。
- [表示ラベル] に、Salesforce ユーザーインターフェースに表示するわかりやすい名前を入力します。たとえば、DynamoDBNC とします。
- [名前] は表示ラベルに基づいて自動的に入力されます。Amazon DynamoDB の外部データソースの作成時、コールアウト定義からこの指定ログイン情報を参照するためにこの一意の識別子が使用されます。この場合は、
DynamoDBNC
です。 - [URL] には、Amazon DynamoDB エンドポイントの URL である
https://dynamodb.REGION.amazonaws.com
を入力します。REGION を使用する AWS リージョンに変更します。たとえば、https://dynamodb.us-east-1.amazonaws.com
とします。 - [ID 種別] で、[指定ユーザー] を選択します。
- [認証プロトコル] で、[AWS 署名バージョン 4] を選択します。
- [AWS アクセスキー ID] には、プログラムによる AWS への要求の署名に使用するアクセスキーの最初の部分を入力します。
- [AWS シークレットアクセスキー] には、プログラムによる AWS への要求の署名に使用するアクセスキーの 2 つ目の部分を入力します。
- [AWS リージョン] には、指定ログイン情報のエンドポイントのAWS リージョン名を入力します。たとえば、
us-east-1
とします。 - [AWS サービス] には、アクセスするための AWS ユーティリティを入力します。たとえば、
dynamoDB
とします。 - [保存] をクリックします。
外部データソースを作成する
- [設定] から、[クイック検索] テキストボックスに
External Data
(外部データ) と入力します。[外部データソース] を選択します。 - 次に、[外部データソースの新規作成] をクリックします。
- [外部データソース] に、外部データソースのわかりやすい名前を入力します。この名前が Salesforce ユーザーインターフェースに表示されます。たとえば、
ShippingDynamoDB
とします。 - [名前] は外部データソースに基づいて自動的に入力されます。API からこの外部データソース定義を参照するためにこの一意の識別子が使用されます。この場合は、
ShippingDynamoDB
です。 - [種別] で、[Amazon DynamoDB] を選択します。
- [指定ログイン情報] に、上記の手順で作成した指定ログイン情報を入力します。この場合は、
DynamoDBNC
です。 - [接続タイムアウト] はデフォルトで最大の 120 秒に設定されます。応答を待機する秒数で、この時間を経過するとタイムアウトします。
- [書き込み可能外部オブジェクト] は、デフォルトで外部オブジェクトに対する参照のみが設定されます。Amazon DynamoDB に保存されているデータを作成、編集、削除する場合にのみこの項目を選択します。
- 他の項目はデフォルト値のままにして、[保存] をクリックします。
Salesforce 外部オブジェクトを作成する
Amazon DynamoDB のテーブルを Salesforce の 1 つ以上の外部オブジェクトに対応付けます。データやコンテンツをすべて組み合わせ、ユーザーが使いやすい形式で組織に表示します。この処理は外部オブジェクトと関連する項目を使用して実施されます。外部オブジェクトはカスタムオブジェクトに似ていますが、DynamoDB に保存されているデータに対応付けられる点が異なります。
- [設定] から、[クイック検索] テキストボックスに
External Objects
(外部オブジェクト) と入力します。[外部オブジェクト] を選択して、[新規外部オブジェクト] をクリックします。 - [表示ラベル] に、外部オブジェクトのわかりやすい名前を入力します。たとえば、
Shipping Manifest
(出荷マニフェスト) とします。 - [表示ラベル(複数形)] に、外部オブジェクトの複数形を入力します。タブにこの名前を使用します。たとえば、
Shipping Manifests
(出荷マニフェスト) とします。 - [オブジェクト名] は表示ラベルに基づいて自動的に入力されます。API の使用時、この外部オブジェクト定義を参照するためにこの一意の識別子が使用されます。この場合は、
Shipping Manifest
(出荷マニフェスト) です。オブジェクト名は、組織の標準オブジェクト、カスタムオブジェクト、外部オブジェクト全体で一意である必要があります。 - [外部データソース] に、上記の手順で作成した外部データソースを入力します。この場合は、
ShippingDynamoDB
です。 - [テーブル名] に、外部オブジェクトを対応付ける Amazon DynamoDB データソースのテーブルを入力します。たとえば、
ShippingData
とします。 - [保存] をクリックします。
オブジェクトメタデータを同期する
外部オブジェクトを設定したら、次は DynamoDB のオブジェクトメタデータを同期します。
- [設定] から、[クイック検索] テキストボックスに
External Data
(外部データ) と入力します。[外部データソース] を選択します。 - 外部データソースの名前を選択します。この場合は、ShippingDynamoDB です。
- [検証して同期] をクリックします。
- 同期する DynamoDB テーブルを選択して、[同期] をクリックします。
外部オブジェクトの項目を DynamoDB の属性に対応付ける
DynamoDB の属性値が、外部オブジェクトの項目に定義されているデータ型に適切に対応付けられている必要があります。外部オブジェクトの項目は、文字列、数値、boolean スカラー型の属性に対応付けることができます。
一般的なユースケースは、DynamoDB のレコードを Salesforce のネイティブレコードに結び付けて表示する場合です。次に例を示します。
- DynamoDB の複数の E コマース注文が Salesforce の 1 つの取引先に属する場合、関連リストとして表示されます。
- DynamoDB の複数の出荷が Salesforce の 1 つの取引先または注文に属する場合、関連リストとして表示されます。
一般に、こうした外部レコードは、間接参照項目を使用してネイティブレコードに結び付けられます。このため、Salesforce レコード ID を DynamoDB に転送する必要がありません。
DynamoDB レコードが相互に参照する必要がある場合は、外部参照が使用されます。たとえば、[注文品目] が [注文] を参照し、[出荷] が [運送会社] または[倉庫] を参照し、このすべてが DynamoDB に存在する場合です。
外部オブジェクトとその項目を作成した後で、本質的にスキーマレスのデータ上にスキーマのような概念を Salesforce が適用するために、追加の設定が必要になる場合があります。「Amazon DynamoDB の Salesforce Connect アダプターの修飾子の管理」を参照してください。
修飾子を指定する
Amazon DynamoDB は、複数テーブルの設計や単一テーブルの設計をサポートする固有の設計パターンを使用します。効率的に処理するためです。
外部オブジェクトが Amazon DynamoDB テーブルに保存されているデータにアクセスできるようにするには、修飾子を使用して外部データを再解釈します。この修飾子は項目の属性を説明し、項目が外部オブジェクトによって表されるスキーマに属するかどうかを示します。複数テーブルのスキーマ設計では、テーブル修飾子を省略可能です。
ここで説明した内容は、Amazon DynamoDB の Salesforce Connect アダプターの基本事項にすぎません。DynamoDB やアダプターについての詳細は、リソースを参照してください。