LoginSignup
1
1

More than 1 year has passed since last update.

Salesforce Dynamo Connectorを試す

Last updated at Posted at 2023-01-06

AWS Dynamo

  1. aws.amazon.comにサインアップ/ログイン
  2. コンソールのホームからDynamoDBサービスへ移動
  3. テーブルの作成
    1. テーブル名:member
    2. パーティションキー:no、数値
  4. memberテーブルに入り、右上のアクションから項目を作成
    1. no:1
    2. 新しい属性の追加
      1. 文字列、name、鈴木一郎
      2. 文字列、birthdate、2000-01-17
  5. 項目を作成
    1. no:2
    2. 新しい属性の追加
      1. 文字列、name、佐藤二郎
      2. 文字列、birthdate、(空欄)
    3. 左ペインのPartiQLエディタでクエリを試してみる
      1. select * from member
      2. select * from member where birthdate = ''

AWS ユーザー、アクセスキー

  1. AWSコンソールのホームからIAMサービスへ移動
  2. 左ペインのユーザー
  3. 右上のユーザーを追加
    1. ステップ1
      1. ユーザー名:from_salesforce_to_dynamo
      2. AWS 認証情報タイプを選択:アクセスキー
    2. ステップ2
      1. アクセス許可の設定:既存のポリシーを直接アタッチ
      2. ポリシー:AmazonDynamoDBFullAccess
      3. アクセス権限の境界の設定:アクセス権限の境界を設定せずに user を作成する
    3. ステップ3、4
      1. なし
    4. ステップ5
      1. .csvのダウンロード ★1

Salesforce 指定ログイン情報

  1. trailhead.salesforce.comにサインアップ/ログイン
  2. 右上のアイコンからハンズオン組織
  3. Playgroundを作成、起動
  4. 右上の歯車アイコンから設定
  5. 左上のクイック検索から指定ログイン情報
  6. ▼から新規(従来)
    1. 表示ラベル:Dynamoログイン情報
    2. 名前:DynamoLoginInfo
    3. URL:https://dynamodb.ap-northeast-1.amazonaws.com ※Dynamoが東京リージョンの場合
    4. ID種別:指定ユーザ
    5. 認証プロトコル:AWS 署名バージョン 4
    6. AWS アクセスキー ID:★1
    7. AWS シークレットアクセスキー:★1
    8. AWS リージョン:ap-northeast-1 ※Dynamoが東京リージョンの場合
    9. AWS サービス:dynamodb ※固定値

Salesforce 外部データソース

  1. Salesforceの設定の左上のクイック検索から外部データソース
  2. 新規外部データソース
    1. 外部データソース:Dynamoデータソース
    2. 名前:DynamoDataSource
    3. 種別:Amazon DynamoDB
    4. 指定ログイン情報:Dynamoログイン情報
    5. 書き込み可能外部オブジェクト:TRUE
  3. 検証して同期

Salesforce 外部オブジェクト

  1. Salesforceの設定の左上のクイック検索から外部オブジェクト
  2. 新規外部オブジェクト
    1. 表示ラベル:会員
    2. 名前:Member
    3. 外部データソース:DynamoDataSource
    4. テーブル名:member ※Dynamo側のテーブル名と大小文字まで一致

Salesforce 外部データソースの同期

  1. Salesforceの設定の左上のクイック検索から外部データソース
  2. DynamoDataSourceに入る
  3. 検証して同期
    1. Memberをチェックして同期

Salesforce 外部オブジェクトに項目作成

  1. Salesforceの設定の左上のクイック検索から外部オブジェクト
  2. 会員オブジェクトに入る
  3. カスタム項目 & リレーションの新規
    1. ステップ 1. データ型の選択
      1. データ型:外部参照関係
    2. ステップ 2. 関連外部オブジェクトの選択
      1. 関連先:会員
    3. ステップ 3. 参照項目の表示ラベルと名前を入力
      1. 項目の表示ラベル:氏名
      2. 文字数:255
      3. 項目名:Name
      4. 外部列の名前:name
      5. 子リレーション名:Name
    4. 以後、デフォルト
  4. カスタム項目 & リレーションの新規
    1. ステップ 1. データ型の選択
      1. データ型:外部参照関係
    2. ステップ 2. 関連外部オブジェクトの選択
      1. 関連先:会員
    3. ステップ 3. 参照項目の表示ラベルと名前を入力
      1. 項目の表示ラベル:生年月日
      2. 文字数:10
      3. 項目名:Birthdate
      4. 外部列の名前:birthdate
      5. 子リレーション名:Birthdate
    4. 以後、デフォルト

動作確認

  1. Salesforceの右上の歯車アイコンから開発者コンソール起動
  2. 画面下部のQuery Editorタブを開き、以下のクエリーを実行 → AWSのレコードが表示される
    1. select Id, ExternalId, Name__c, Birthdate__c from Member__x
  3. 空欄のBirthdate__cをダブルクリックし、なにか値を入力し、Save Rowsボタン押下
  4. AWSの左ペインのPartiQLエディタでクエリーを実行 → Salesforceでの入力内容が表示される
    1. select * from member

疑問

  1. Dynamoのパーティションキーに対するSalesforceのカスタム項目を作成すると、Salesforceでの検索時に外部データソース「DynamoDataSource」の外部オブジェクトレコードを作成できません。主キーの値を確認してください。エラーになってしまう、当該カスタム項目を削除すると治る
  2. Salesforceでの検索時に「生年月日が無い」との条件で検索できない。whereに= nullとか= ''とか指定しても検索結果なしになってしまう
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1