Attribute Error: 'str' object has no attribute get

问题描述 投票:0回答:0
from azure.identity import DefaultAzureCredential
from azure.synapse.artifacts import ArtifactsClient
from azure.mgmt.synapse import SynapseManagementClient
from azure.synapse.artifacts.models import SqlScript
import json

workspace_name = 'a'
subscription_id = 'b'
resource_group = 'c'
workspace_endpoint = f"https://xyz.dev.azuresynapse.net"

credential = DefaultAzureCredential()
sql_script_name = 'SQLScript1.sql'
sql_script_path = 'C:\\Users\\Downloads\\SQLScript1.sql'

with open(sql_script_path, 'r') as f:
sql_script_content = f.read()

client = ArtifactsClient(
credential = credential,
subscription_id = subscription_id,
endpoint = workspace_endpoint
)

sql_script = SqlScript(
content = sql_script_content
)

sql_scripts_operations = client.sql_script

create_or_update_script_response = sql_scripts_operations.begin_create_or_update_sql_script(
resource_group_name = resource_group,
workspace_name = workspace_name,
sql_script_name = sql_script_name,
sql_script = sql_script
)

execute_script_response = sql_scripts_operations.begin_execute_sql_script(
resource_group_name = resource_group,
workspace_name = workspace_name,
sql_script_name = sql_script_name,
output_type = "DataTable"
)

print(execute_script_response.result())

我收到这个错误:

Traceback (most recent call last):
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1441, in \_deserialize
found_value = key_extractor(attr, attr_desc, data)
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1210, in rest_key_case_insensitive_extractor
return attribute_key_case_insensitive_extractor(key, None, working_data)
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1242, in attribute_key_case_insensitive_extractor
return data.get(found_key)
AttributeError: 'str' object has no attribute 'get'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 695, in body
data = deserializer.\_deserialize(data_type, data)
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1412, in \_deserialize
setattr(data, attr, self.\_deserialize(local_type, value))
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1456, in \_deserialize
raise_with_traceback(DeserializationError, msg, err)
File "C:\\Python310\\lib\\site-packages\\azure\\core\\exceptions.py", line 78, in raise_with_traceback
raise error.with_traceback(exc_traceback)
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1441, in \_deserialize
found_value = key_extractor(attr, attr_desc, data)
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1210, in rest_key_case_insensitive_extractor
return attribute_key_case_insensitive_extractor(key, None, working_data)
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1242, in attribute_key_case_insensitive_extractor
return data.get(found_key)
azure.core.exceptions.DeserializationError: (", AttributeError: 'str' object has no attribute 'get'", 'Unable to deserialize to object: type', AttributeError("'str' object has no attribute 'get'"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\\Users\\Downloads\\ASA.py", line 45, in
create_or_update_script_response = sql_scripts_operations.begin_create_or_update_sql_script(
File "C:\\Python310\\lib\\site-packages\\azure\\core\\tracing\\decorator.py", line 78, in wrapper_use_tracer
return func(\*args, \*\*kwargs)
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts\\operations_sql_script_operations.py", line 453, in begin_create_or_update_sql_script
raw_result = self.\_create_or_update_sql_script_initial(
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts\\operations_sql_script_operations.py", line 297, in \_create_or_update_sql_script_initial
\_json = self.\_serialize.body(sql_script, "SqlScriptResource")
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 697, in body
raise_with_traceback(SerializationError, "Unable to build a model: " + str(err), err)
File "C:\\Python310\\lib\\site-packages\\azure\\core\\exceptions.py", line 78, in raise_with_traceback
raise error.with_traceback(exc_traceback)
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 695, in body
data = deserializer.\_deserialize(data_type, data)
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1412, in \_deserialize
setattr(data, attr, self.\_deserialize(local_type, value))
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1456, in \_deserialize
raise_with_traceback(DeserializationError, msg, err)
File "C:\\Python310\\lib\\site-packages\\azure\\core\\exceptions.py", line 78, in raise_with_traceback
raise error.with_traceback(exc_traceback)
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1441, in \_deserialize
found_value = key_extractor(attr, attr_desc, data)
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1210, in rest_key_case_insensitive_extractor
return attribute_key_case_insensitive_extractor(key, None, working_data)
File "C:\\Python310\\lib\\site-packages\\azure\\synapse\\artifacts_serialization.py", line 1242, in attribute_key_case_insensitive_extractor
return data.get(found_key)
azure.core.exceptions.SerializationError: (', DeserializationError: (", AttributeError: 'str' object has no attribute 'get'", 'Unable to deserialize to object: type', AttributeError("'str' object has no attribute 'get'"))', 'Unable to build a model: (", AttributeError: 'str' object has no attribute 'get'", 'Unable to deserialize to object: type', AttributeError("'str' object has no attribute 'get'"))', DeserializationError(", AttributeError: 'str' object has no attribute 'get'", 'Unable to deserialize to object: type', AttributeError("'str' object has no attribute 'get'")))

我正在尝试编写可以帮助我在 Azure Synapse Analytics 上运行 sql 脚本的 python 代码。 我尝试在 Azure 上运行 SQL 脚本,它工作正常但在 python 代码中我遇到反序列化错误

python azure azure-data-lake azure-synapse
© www.soinside.com 2019 - 2024. All rights reserved.