Tra*_*vis 3 salesforce soql snaplogic
我在 Salesforce 实例和 S3 存储桶之间的 SnapLogic 集成中使用 Salesforce SOQL snap。
我正在尝试在 Salesforce SOQL 快照字段“SOQL 查询*”中使用 SOQL 查询来返回对象的列名称。例如,我想运行 SOQL 查询以返回“帐户”对象的列名。
我这样做是因为 SOQL 不允许“选择 *”。我已经在 Apex 中看到了代码解决方案,但我正在寻找一种仅使用 SOQL 查询的方法。
您要查询元数据?可用表的名称,您可以在每个表中看到的列名称,可能是类型而不是真实的帐户/联系人/...数据,对吗?
您可能需要稍微提高 API 的版本,当前是 47 / 48,因此某些对象在您当前的版本中可能不可见。另外 - 你有哪些 API 选项?肥皂,休息?“工具 API”是一种选择吗?因为它有非常好的官方FieldDefinition
表来拉这个。
这并不完美,但这可以让你开始:
SELECT EntityDefinition.QualifiedApiName, QualifiedApiName, DataType
FROM FieldDefinition
WHERE EntityDefinition.QualifiedApiName IN ('Account', 'Contact', 'myNamespace__myCustomObject__c')
Run Code Online (Sandbox Code Playgroud)
我在 REST API 参考中没有看到该表,但它似乎在 Workbench 中查询 OK,所以有希望。
通常尝试在 Google 上搜索有关 EntityDefinition、FieldDefinition、EntityParticle 的信息……例如,这是学习哪些表对您可见的不错方法:
SELECT KeyPrefix, QualifiedApiName, Label, IsQueryable, IsDeprecatedAndHidden, IsCustomSetting
FROM EntityDefinition
WHERE IsCustomizable = true AND IsCustomSetting = false
Run Code Online (Sandbox Code Playgroud)
或者在紧要关头,您可以尝试查看您的用户有权查询哪些字段。这样做有点迂回,但我不知道您的连接器可以“看到”哪些表。