Azure数据工厂上传到Salesforce并引用另一个对象上的字段

2024-04-18

这是这样的场景 - 我们正在使用 Azure DataFactoryV2 运行一系列管道,这些管道从本地数据源获取帐户数据,将其转换并上传到 Salesforce。

目前我们想要导入一个帐户并将其与另一个帐户关联。帐户存在标准的父/子关系(例如经销商帐户和子帐户),并且使用内部 Salesforce ID。

我们还使用外部 ID 来进行更新插入,并且该 ID 对于每条记录都是唯一的。

根据SF文档:Here https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_upsert.htm- 当您手动调用 API 并向其传递 JSON 文件时,您可以在 JSON 中添加关系:

    {
   "Name" : "NewAccount",
   "account__r" :
   {
       "Ext_UID__c" : 123
   }

}

但是,这在 Azure DataFactoryV2 中似乎无法在代码中指定查找关系,或者如果可以,我不确定如何执行。

作为参考 - 这是 Pipeline JSON 代码:

{
"name": "Import_to_Salesforce",
"properties": {
    "activities": [
        {
            "name": "Load_to_Salesforce",
            "type": "Copy",
            "policy": {
                "timeout": "7.00:00:00",
                "retry": 0,
                "retryIntervalInSeconds": 30,
                "secureOutput": false,
                "secureInput": false
            },
            "userProperties": [
                {
                    "name": "Source",
                    "value": "[dbo].[Account]"
                },
                {
                    "name": "Destination",
                    "value": "Account"
                }
            ],
            "typeProperties": {
                "source": {
                    "type": "SqlSource"
                },
                "sink": {
                    "type": "SalesforceSink",
                    "writeBatchSize": 5000,
                    "writeBehavior": "upsert",
                    "externalIdFieldName": "Ext_UID__c",
                    "ignoreNullValues": false
                },
                "enableStaging": false,
                "enableSkipIncompatibleRow": true,
                "dataIntegrationUnits": 0,
                "translator": {
                    "type": "TabularTranslator",
                    "columnMappings": {
                        "Name": "Name",
                        "ParentId": "ParentId",
                        "BillingStreet": "BillingStreet",
                        "BillingCity": "BillingCity",
                        "BillingPostalCode": "BillingPostalCode",
                        "BillingCountry": "BillingCountry",
                        "ShippingStreet": "ShippingStreet",
                        "ShippingCity": "ShippingCity",
                        "ShippingPostalCode": "ShippingPostalCode",
                        "ShippingCountry": "ShippingCountry",
                        "Phone": "Phone",
                        "AccountNumber": "AccountNumber",
                        "Brand__c": "Brand__c",
                        "Account_Status__c": "Account_Status__c",
                        "Account_Type__c": "Account_Type__c",
                        "Preferred_Payment_Method__c": "Preferred_Payment_Method__c",
                        "Last_Account_Login__c": "Last_Account_Login__c",
                        "Ext_UID__c": "Ext_UID__c",
                        "Auto_Renew_Status__c": "Auto_Renew_Status__c",
                        "Account_Balance__c": "Account_Balance__c",
                        "Outstanding_Amount_30_days__c": "Outstanding_Amount_30_days__c",
                        "Outstanding_Amount_60_days__c": "Outstanding_Amount_60_days__c",
                        "Outstanding_Amount_90_days__c": "Outstanding_Amount_90_days__c",
                        "Account_Priority__c": "Account_Priority__c",
                        "Reseller__c": "Reseller__c",
                        "Last_Payment__c": "Last_Payment__c"
                    }
                }
            },
            "inputs": [
                {
                    "referenceName": "Staging_Source",
                    "type": "DatasetReference"
                }
            ],
            "outputs": [
                {
                    "referenceName": "Destination_Load_to_Salesforce",
                    "type": "DatasetReference"
                }
            ]
        }
    ]
},
"type": "Microsoft.DataFactory/factories/pipelines"}

任何意见将不胜感激。


您使用的是哪种 SF 连接器?如果没有有意义的名称,请查看您的 API 用户在 Salesforce 中的登录历史记录。它可能被列为“Simba Technologies”或类似的名称?

对于标准关系,您应该只需键入 Account.Ext_UID__c罢工>Parent.Ext_UID__c就像这个联系人负载一样:

对于自定义查找/主从字段,如果字段 API 名称为Account__c您可以将其映射为更新插入Account__r.Ext_UID__c.

只需确保父帐户在子帐户引用它们之前存在...也许您在上一个作业中加载了它们,也许最好分两个阶段加载它:

  1. 没有映射父级的所有帐户的平面插入/更新插入
  2. 重新父级更新/更新插入仅映射此记录的分机 ID 和父级的分机。 ID
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure数据工厂上传到Salesforce并引用另一个对象上的字段 的相关文章

  • 如何识别 SQL Azure 中的死锁?

    我有一个由两个实例组成的 Windows Azure 角色 有时交易会失败并显示SqlException与以下文字 事务 进程 ID N 在锁资源上与另一个进程发生死锁 并被选为死锁牺牲品 重新运行事务 现在我已经谷歌搜索了一段时间并阅读这
  • Azure 发布包不包含所有文件

    我有几个配置 dll 和一个 exe 文件位于 bin 文件夹中并包含在项目中 文件设置为 内容 和 始终复制 当我在本地调试项目时 一切正常 问题是当我发布云服务时 文件丢失了 Azure 发布过程忽略了这些文件 并且部署包文件中也缺少这
  • 在 CosmosDb 中使用 /id 作为分区键的含义

    在每分钟有 1000 个条目 唯一键 进入 cosmos 的场景中 使用 id 作为分区键安全吗 特别是 有一个逻辑分区的概念https learn microsoft com en us azure cosmos db partition
  • 在 Azure 上运行 .NET 应用程序

    我拥有在 Amazon EC2 上运行应用程序的丰富经验 它需要一台低端服务器 我目前为该服务器支付大约 90 美元 月 是的 我知道我并不真正需要可扩展性 但我仍然使用 EC2 我想知道将这个纯粹的 NET 应用程序迁移到 Microso
  • SQL Server 抱怨无效的 json

    我正在使用 Azure 数据工厂和 Azure SQL 数据库编写 ETL 工具 数据工厂捕获映射数据流的输出并将其作为字符串插入到 SQL Server 表 Audit OperationsEventLog 的 StatusMessage
  • 直接向订阅发送消息

    是否可以将消息直接发送到订阅队列 设想 消息失败 被丢弃到死信中 该消息已使用 defer 手动拾取 克隆 并且需要发送到它首先被发送到死信的队列 但不是主题 我可以直接向订阅者发送消息吗 我考虑过为每个订阅者创建一个单独的重试队列 处理服
  • 将 SQL 存储过程 ResultSet 表 JSON 转换为 XML

    这看起来很明显 但不知何故它对我不起作用 我正在尝试在 Microsoft Azure 上的逻辑应用程序中构建解决方案 但我无法将 JSON 对象转换为 XML 我的要求是执行存储过程并以 XML 格式保存响应 默认情况下 SQL 执行存储
  • 如何在 Azure 中仅部署辅助角色/Web 角色

    如果您在 Azure 解决方案中拥有 Web 和辅助角色 那么所有等待发布更新包 上传到云存储 等待包部署的过程可能会让人筋疲力尽 浪费大量时间 如何仅上传 部署包含这两个角色的 Microsoft Azure 解决方案的辅助角色或 Web
  • 应用服务中的内存利用率是否可​​以提高

    我有一个相当简单的 Web 应用程序在 Azure 的 B1 服务计划中的应用服务计划中运行 该计划提供 1 个 CPU 和 1 75GB RAM CPU 使用率永远不会超过 5 左右 内存使用率永远不会低于 52 我确实停止了计划中唯一运
  • Azure消息队列中的消息将直接进入Poison消息队列

    希望这可以节省某人一些时间 当移动到较新的版本时 下面的代码停止工作QueueClient https learn microsoft com en us dotnet api azure storage queues queueclien
  • 在 Service Fabric 应用程序中动态创建服务

    这有点描述性 所以请耐心等待 在我尝试构建的应用程序中 产品具有独特的功能 用户可以选择选择功能 A B D 但不能选择 C 我构建此功能的方式是 每个不同的功能都是一个服务 无状态 我正在考虑将数据存储在 Azure SQL 中 数据库并
  • 使用 CLI 在 Azure 中上传文件

    我正在尝试练习以下任务 创建存储帐户 az 存储帐户创建 name heyatafroz25 resource group user fottsascvuzj 获取存储帐户密钥 az 存储帐户密钥列表 g user fottsascvuzj
  • 从 Azure 事件中心获取事件后,我是否应该将其放入队列中?

    我目前正在开发一个托管在 Azure 上 使用 Azure 事件中心的应用程序 基本上 我从 Web API 向事件中心发送消息 或者应该说事件 并且我有两个侦听器 用于实时分析的流分析任务 标准辅助角色 根据接收到的事件计算一些内容 然后
  • Azure EventGrid 主题中的多种事件类型

    围绕 Azure EventGrid 主题和事件的最佳实践是什么 将不同的事件类型发布到同一 Azure EventGrid 主题是不是一个坏主意 例如多个不同的领域事件 我们什么时候需要不同的主题 整个应用程序的单个共享主题 每种聚合根类
  • MS Teams 应用程序:访问此应用程序时出现问题

    The users on MS Teams desktop reported multiple issues with our MS Teams app They see the following error on MS Teams De
  • Azure 事件中心 - 按顺序接收事件

    我使用下面的代码从 Azure Event Hub 接收事件 https learn microsoft com en us azure event hubs event hubs dotnet framework getstarted s
  • Azure 服务总线是否可在 Azure Stack(本地)上使用

    我目前正在通过 Azure Pack 运行 Windows Service Bus 1 1 此版本的官方支持期限于 2018 年 1 月结束 我需要长期的本地服务总线选项 Azure 服务总线是否可以通过 Azure Stack 使用 也在
  • 有没有办法以编程方式更改 cosmos db 表上的 TTL

    As the title describes I m trying to change the TTL of a cosmos db table I couldn t find anything in c powershell arm te
  • Azure Active Directory - 自定义策略错误

    我已按照此处提供的指南在 Azure AD B2C 中设置了自定义策略 https learn microsoft com azure active directory b2c active directory b2c setup sf a
  • 用户 AD 身份验证失败时如何导航到自定义访问被拒绝页面(具有 OpenIDConnect Azure AD 身份验证的 .net 3.1 core)

    我有一个 Net core 3 1 Web 应用程序 通过在 Azure 中设置应用服务注册并分配用户来实现 AD 身份验证 现在 当未经授权的用户尝试访问应用程序时 AD 身份验证会失败并转到 OPENIDConnect 异常页面 但我需

随机推荐