infoMore than 1 year has passed since last update.
Salesforce Dynamo Connectorを試す
Last updated at Posted at 2023-01-06
AWS Dynamo
- aws.amazon.comにサインアップ/ログイン
- コンソールのホームからDynamoDBサービスへ移動
- テーブルの作成
- テーブル名:member
- パーティションキー:no、数値
- memberテーブルに入り、右上のアクションから項目を作成
- no:1
- 新しい属性の追加
- 文字列、name、鈴木一郎
- 文字列、birthdate、2000-01-17
- 項目を作成
- no:2
- 新しい属性の追加
- 文字列、name、佐藤二郎
- 文字列、birthdate、(空欄)
- 左ペインのPartiQLエディタでクエリを試してみる
select * from member
select * from member where birthdate = ''
AWS ユーザー、アクセスキー
- AWSコンソールのホームからIAMサービスへ移動
- 左ペインのユーザー
- 右上のユーザーを追加
- ステップ1
- ユーザー名:from_salesforce_to_dynamo
- AWS 認証情報タイプを選択:アクセスキー
- ステップ2
- アクセス許可の設定:既存のポリシーを直接アタッチ
- ポリシー:AmazonDynamoDBFullAccess
- アクセス権限の境界の設定:アクセス権限の境界を設定せずに user を作成する
- ステップ3、4
- なし
- ステップ5
- .csvのダウンロード ★1
Salesforce 指定ログイン情報
- trailhead.salesforce.comにサインアップ/ログイン
- 右上のアイコンからハンズオン組織
- Playgroundを作成、起動
- 右上の歯車アイコンから設定
- 左上のクイック検索から指定ログイン情報
- ▼から新規(従来)
- 表示ラベル:Dynamoログイン情報
- 名前:DynamoLoginInfo
- URL:https://dynamodb.ap-northeast-1.amazonaws.com ※Dynamoが東京リージョンの場合
- ID種別:指定ユーザ
- 認証プロトコル:AWS 署名バージョン 4
- AWS アクセスキー ID:★1
- AWS シークレットアクセスキー:★1
- AWS リージョン:ap-northeast-1 ※Dynamoが東京リージョンの場合
- AWS サービス:dynamodb ※固定値
Salesforce 外部データソース
- Salesforceの設定の左上のクイック検索から外部データソース
- 新規外部データソース
- 外部データソース:Dynamoデータソース
- 名前:DynamoDataSource
- 種別:Amazon DynamoDB
- 指定ログイン情報:Dynamoログイン情報
- 書き込み可能外部オブジェクト:TRUE
- 検証して同期
Salesforce 外部オブジェクト
- Salesforceの設定の左上のクイック検索から外部オブジェクト
- 新規外部オブジェクト
- 表示ラベル:会員
- 名前:Member
- 外部データソース:DynamoDataSource
- テーブル名:member ※Dynamo側のテーブル名と大小文字まで一致
Salesforce 外部データソースの同期
- Salesforceの設定の左上のクイック検索から外部データソース
- DynamoDataSourceに入る
- 検証して同期
- Memberをチェックして同期
Salesforce 外部オブジェクトに項目作成
- Salesforceの設定の左上のクイック検索から外部オブジェクト
- 会員オブジェクトに入る
- カスタム項目 & リレーションの新規
- ステップ 1. データ型の選択
- データ型:外部参照関係
- ステップ 2. 関連外部オブジェクトの選択
- 関連先:会員
- ステップ 3. 参照項目の表示ラベルと名前を入力
- 項目の表示ラベル:氏名
- 文字数:255
- 項目名:Name
- 外部列の名前:name
- 子リレーション名:Name
- 以後、デフォルト
- カスタム項目 & リレーションの新規
- ステップ 1. データ型の選択
- データ型:外部参照関係
- ステップ 2. 関連外部オブジェクトの選択
- 関連先:会員
- ステップ 3. 参照項目の表示ラベルと名前を入力
- 項目の表示ラベル:生年月日
- 文字数:10
- 項目名:Birthdate
- 外部列の名前:birthdate
- 子リレーション名:Birthdate
- 以後、デフォルト
動作確認
- Salesforceの右上の歯車アイコンから開発者コンソール起動
- 画面下部のQuery Editorタブを開き、以下のクエリーを実行 → AWSのレコードが表示される
select Id, ExternalId, Name__c, Birthdate__c from Member__x
- 空欄のBirthdate__cをダブルクリックし、なにか値を入力し、Save Rowsボタン押下
- AWSの左ペインのPartiQLエディタでクエリーを実行 → Salesforceでの入力内容が表示される
1. select * from member
疑問
- Dynamoのパーティションキーに対するSalesforceのカスタム項目を作成すると、Salesforceでの検索時に
外部データソース「DynamoDataSource」の外部オブジェクトレコードを作成できません。主キーの値を確認してください。
エラーになってしまう、当該カスタム項目を削除すると治る
- Salesforceでの検索時に「生年月日が無い」との条件で検索できない。whereに
= null
とか= ''
とか指定しても検索結果なしになってしまう
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
What you can do with signing up