我是否可以在Azure Logic App中进行SOAP API调用
我是一名经验丰富的数据分析专家,主要有SQL和R方面的经验,也有少量的Python经验,不幸的是,我几乎没有接触过.NET和PHP。我广泛地搜索了所有有类似问题的人,但不幸的是,我没有找到我想要的。
情况:我正在Azure上设置一个HDInsight群集(使用Apache Spark),我需要从一个Soap API(没有REST风格的API)拉入一些数据。
问题:我要将这些数据放在哪里以及如何放入?我认为Azure中的Logic App会是一个合适的地方。但是,我在调用此API时并不是很成功。 我确实有一个工作的PHP脚本与适当的API调用。以下是语法的一部分。
$client = new SoapClient('http://someURL?wsdl');
$webservice = new SoapClient('http://someotherURL?wsdl');
$session = $client->someOperationToLogin($var1, $var2, $var3);
$operation = $webservice->someOperationToGetData($session, $var4, $var5);
$session = $client->logout($session);
如您所见,我首先需要获取一个会话ID,然后在后续调用中使用该会话ID。据我所知,我不能通过一个简单的HTTP请求访问这些数据。
问题:
- 我是否可以通过Azure Logic App中的现有连接器之一直接调用此特定的Soap API
- 如果(1)不可能,我可以使用现有的PHP脚本吗?如何以及在哪里?
- 有没有其他途径可以通过这个SOAPAPI使用数据?例如:在Spark/HDInsight集群中使用pyspark?
非常感谢您的帮助和指点。
解决方案
没有通过Azure Logic App中的现有连接器调用任何SOAP API。
以下是连接器和API应用参考列表:https://msdn.microsoft.com/en-us/library/azure/dn948518.aspx。 它们支持的功能都是通过http/https基于REST API实现的。
Azure上的所有服务和amp;API几乎都基于REST API,以兼容跨平台和amp;语言场景。
但即便如此,您也可以通过Azure应用服务或云服务创建自己的Soap API。请参考http://azure.microsoft.com/en-us/documentation/services/app-service/api/和https://azure.microsoft.com/en-us/documentation/articles/app-service-logic-arm-with-api-app-provision/。
在Azure HDInsight中,您可以从存储服务和服务总线拉入一些数据。如果要使用Azure Logic App,现有的连接器有Blob连接器和ServiceBus连接器,甚至Dropbox连接器。
您可以参考下面的参考,使用PHP脚本访问作为HDInsight资源链接的Azure Storage&;ServiceBus服务,以存储/获取或发送/接收一些数据。 1.https://azure.microsoft.com/en-us/documentation/articles/storage-php-how-to-use-blobs/ 2.https://azure.microsoft.com/en-us/documentation/articles/service-bus-php-how-to-use-queues/.致以最良好的问候。
相关文章