根据需求,我正在使用Python使用Azure Synapse环境。我需要为Salesforce创建一个链接服务,以便稍后在管道中使用。
但我面临着一个错误,不能从微软得到更好的文档。
简化代码-
from azure.synapse.artifacts import ArtifactsClient
from azure.synapse.artifacts.models import *
sf_ls_name = "testnotebookls"
sf_env_url = "https://login.salesforce.com"
sf_user = "<username>"
sf_pass = '<password>',
sf_security_token = '<security-token>',
properties=SalesforceLinkedService(environment_url=sf_env_url,
password=sf_pass,
username=sf_user,
security_token=sf_security_token)
client.linked_service.begin_create_or_update_linked_service(linked_service_name=sf_ls_name, properties=properties)
请注意,我已经创建了client对象,并且能够获得链接的服务并执行synapse相关操作。
错误
DeserializationError Traceback (most recent call last)
File c:\Users\Someuser\OneDrive - Company\Desktop\folder\folder\salesforce\.venv\lib\site-packages\azure\synapse\artifacts\_serialization.py:710, in Serializer.body(self, data, data_type, **kwargs)
705 deserializer.key_extractors = [
706 rest_key_case_insensitive_extractor,
707 attribute_key_case_insensitive_extractor,
708 last_rest_key_case_insensitive_extractor,
...
1257 found_key = key
1258 break
-> 1260 return data.get(found_key)
SerializationError: (', DeserializationError: (", AttributeError: \'tuple\' object has no attribute \'get\'", \'Unable to deserialize to object: type\', AttributeError("\'tuple\' object has no attribute \'get\'"))', 'Unable to build a model: (", AttributeError: \'tuple\' object has no attribute \'get\'", \'Unable to deserialize to object: type\', AttributeError("\'tuple\' object has no attribute \'get\'"))', DeserializationError(", AttributeError: 'tuple' object has no attribute 'get'", 'Unable to deserialize to object: type', AttributeError("'tuple' object has no attribute 'get'")))
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
1条答案
按热度按时间hs1ihplo1#
最后我能够解决它,这是因为security_token和password应该是SecretBase类的一种类型(不能直接使用,使用子类SecureString)
示例