【问题标题】:Defining various DB & Salesforce access information in Mule Anypoint Studio在 Mule Anypoint Studio 中定义各种 DB 和 Salesforce 访问信息
【发布时间】:2017-08-25 15:42:35
【问题描述】:

我在 Windows 下运行 Mule Anypoint studio v6.2.4。我有一个应用程序,它从 SQL Server DB 获取数据记录并将它们填充到 Salesforce Org 中。该应用程序是使用示例开发的,在mule.{mule.env}.properties文件中定义的一个DB和一个SF参数的当前场景下运行良好。

现在我需要访问不同的数据库以获取输入记录并将它们填充到不同的 Salesforce 组织。每次更改属性文件中的访问参数既繁琐又容易出错。 (例如 4 个 DB 和 4 个 SF 组织}

我想做的是定义访问参数(用于各种 SQL Server DB 和 Salesforce Orgs),将 DbName 和 SFName 指定为 http 查询参数,并让 mule 应用程序选择正确的连接参数。

我将如何完成它?详细信息会对我有所帮助,因为我对 Mule 还不是很精通。

谢谢

基肖尔

【问题讨论】:

  • 这是你想要的吗?具有 DB 列表的属性文件,然后能够通过 QUERY PARAMETERS 指定 DBConnector 将使用的 DBName

标签: configuration-files mule-studio anypoint-studio dataweave


【解决方案1】:

您可以创建一个包含完整数据库连接列表的属性文件:

#DB of puppies
postgres.puppies.user=mule
postgres.puppies.password=password
postgres.puppies.host=db-1
postgres.puppies.db=mule-puppies

#DB of cars
postgres.cars.user=mule
postgres.cars.password=password
postgres.cars.host=db-2
postgres.cars.db=mule-cars

更新

然后,如果您想从加载您的属性之一的 dataweave 组件中读取查询参数:

%dw 1.0
%output application/java
---
p("postgres." ++ inboundProperties."http.query.params"['db-name'] ++ ".user")

注意:考虑当 QueryParameter.db-name 为 null 时,您将得到一个异常(您应该处理此异常),或者,另一种方法是处理您自己的数据编织中的空值(https://forums.mulesoft.com/questions/28105/how-do-i-do-a-null-check-in-dataweave.html),例如当为 null 时,您可以定义一个默认数据库

希望这有助于澄清

【讨论】:

  • 每当添加新的数据库或 Salesforce 组织时,这是否需要添加新的 dataweave 组件。我想要的是用“小狗”作为值指定 db-name 查询参数,并将 dataweave 用作 %dw 1.0 %output application/java --- { user : p("postgres." + #[db-name] + ".user"), ... } 这将消除单独的选择/数据编织块,一个块可能就足够了。只是不知道怎么说,需要帮助
  • 了解 kishore,你能检查一下我 asnwer 中的 UPDATE 子标题吗?
  • 谢谢。我需要了解如何在我的 mule 应用程序中使用该解决方案,因为它使用批处理流。将相应地发布。
  • Alberici,我被吸引到另一个项目中,因此无法尝试您的解决方案。很快,我将把解决方案放在面向批处理的 mule 脚本中,以查看它的行为方式。一定会让你知道的。
  • 进行了快速检查。它工作正常,但遇到了相关问题。我想将“属性文件”保留为外部文件,以便每个骡子脚本都可以使用它,而我不必在每个骡子脚本中将其作为属性文件进行维护。任何想法如何完成它。或者我应该问一个新问题。
猜你喜欢
  • 1970-01-01
  • 2017-06-26
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
  • 2016-07-05
  • 2016-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多