nameko扩展,便于与salesforce通信(包括流式api)
nameko-salesforce的Python项目详细描述
nameko salesforce
带有用于处理Salesforce Streaming API事件的入口点的Nameko扩展 以及依赖关系提供程序,以便与Salesforce REST API轻松通信。
流式api扩展基于Nameko Cometd Bayeux Client和restapi依赖关系 基于Simple Salesforce的ID。
快速启动
从PyPI:
安装pip install nameko-salesforce
创建一个处理Salesforce联系人对象更改的服务 具有用于在Salesforce中创建新联系人对象的RPC终结点:
# service.pyfromnameko.rpcimportrpcfromnameko_salesforce.streamingimporthandle_sobject_notificationfromnameko_salesforce.apiimportSalesforceAPIclassService:name='some-service'salesforce=SalesforceAPI()@handle_sobject_notification('Contact',exclude_current_user=False)defhandle_contact_updates(self,sobject_type,record_type,notification):""" Handle Salesforce contacts updates """print(notification)@rpcdefcreate_contact(self,last_name,email_address):""" Create a contact in Salesforce """self.salesforce.Contact.create({'LastName':last_name,'Email':email_address})
使用基本设置创建配置文件:
# config.yamlAMQP_URI:'pyamqp://guest:guest@localhost'SALESFORCE:USERNAME:${SALESFORCE_USERNAME}PASSWORD:${SALESFORCE_PASSWORD}SECURITY_TOKEN:${SALESFORCE_SECURITY_TOKEN}SANDBOX:False
运行提供Salesforce凭据的服务:
$SALESFORCE_USERNAME=rocky \ SALESFORCE_PASSWORD=*** \ SALESFORCE_SECURITY_TOKEN=*** \ nameko run --config config.yaml service
最后,打开另一个shell并调用rpc端点以创建新用户:
$ nameko shell --config config.yaml In [1]: n.rpc['some-service'].create_contact('Yo', 'yo@yo.yo')
您应该在Salesforce中看到一个新的联系人,并且您的服务应该 收到通知。在第一个外壳中,您将看到打印的通知:
{'event': {'replayId': 1, 'type': 'created' ...
有关更多信息,请查看documentation。