【问题标题】:Amazon Appflow: Bidirectional sync b/w 2 Salesforce ORGsAmazon Appflow:2 个 Salesforce ORG 之间的双向同步
【发布时间】:2022-06-12 08:49:31
【问题描述】:

我需要使用 Amazon appflow 创建双向同步 b/w 2 Salesforce ORG。所有的关系记录也需要与这些 ORG 保持同步。我正在考虑为创建流的所有对象在这些记录中的每一个上创建外部 ID,以确保跨 ORG 保留关系。进行双向同步的最佳方法是什么?

【问题讨论】:

    标签: amazon-web-services amazon-s3 synchronization salesforce amazon-appflow


    【解决方案1】:

    AWS 已经有相当类似的文章:https://aws.amazon.com/blogs/apn/using-amazon-appflow-to-achieve-bi-directional-sync-between-salesforce-and-amazon-rds-for-postgresql/

    虽然,我下面的架构是无服务器的,因为我很便宜而且不关心 EC2 成本。

    无论你在做什么,我都推荐一种真实的来源。我个人会使用您打算为每个对象使用的所有字段/值进行集中式 DynamoDB。然后,您可以使用事件驱动的 lambda 将数据推送到 S3 CSV。然后这些 CSV 更新会通过 AppFlow 为您推送。

    应该在所有这些中都有一个 DynamoDB 表。或者每个对象都有一个单独的表,但我没有看到倍数的优势。您只需要一个 S3 存储桶。只需要多个文件夹。

    您的数据库结构如下所示:

    { 
        "ID" : randomly generated GUID,
        "SF_ID": "Salesforce ID",
        "DEST_SF_ID" : "SF ID when created in the other org",
        "SOURCE_ORG": "SOURCE_ORG_ID",
        "record_details" : {
           *ALL THE SF FIELDS*
        }
    }
    

    S3 文件夹结构:

    root/
        SF_ORG_1 /
            Inbound
            Outbound
        SF_ORG_2 /
            Inbound
            Outbound
    

    您需要一个 Lambda 来使用 DynamoDB 触发事件并知道要推送到哪个 S3 存储桶文件夹。

    您需要另一个 Lambda 来使用 S3 存储桶的事件。您可以在一个 lambda 中进行简单分支,以了解 S3_Bucket_Folder_1 是否来自 Org_1 和 S3_Bucket_Folder_2 是否来自 Org_2。这将同步 DynamoDB 并知道将 CSV 推送到另一个存储桶文件夹。

    为确保您在 Lambda 上没有周期性调用,请确保您有用于入站和出站推送的目录。 Flows 允许您设置 Bucket 前缀。

    然后您只需监听创建、更新和删除事件。我个人还没有处理 AppFlow 中的删除事件,但最坏的情况是,您只需制作一个连接的应用程序并使用 Salesforce REST API 调用删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      相关资源
      最近更新 更多