使用SDK-V2创建AzureBlobDatastore()

ehxuflar  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(72)

我正在尝试通过azure-sdk-v2创建AzureBlobDatastore()。以前,我成功地通过azure-sdk-v1执行了相同的操作(来自下一段的教程链接)。
我正在使用这个教程:https://learn.microsoft.com/en-us/azure/machine-learning/migrate-to-v2-resource-datastore#create-a-datastore-from-an-azure-blob-container-via-account_key,以便设置/创建我的AzureBlobDatastore()
这是我正在使用的代码(与教程中一样,只更新MLClient.from_config()中的参数(如果我不使用credential参数,则会收到一个错误,指出该参数为空):

ml_client = MLClient.from_config(credential=DefaultAzureCredential(),
                                 path="./workspace_config_sdk2.json")
store = AzureBlobDatastore(
    name="azureml_sdk2_blob",
    description="Datastore created with sdkv2",
    account_name=storage_account_name,
    container_name=container_name,
    protocol="wasbs",
    credentials={
        "account_key": "..my_account_key.."
    },
)

ml_client.create_or_update(store)

字符串
我得到以下错误:
属性错误:“dict”对象没有属性“_to_datastore_rest_object”
请注意,workspace_config_sdk2.json配置具有以下方案:

{
    "subscription_id": "...",
    "resource_group": "...",
    "workspace_name": "..."
}


如何解决此错误?
编辑:在调查这个问题时,它似乎福尔斯了“azure\ai\ml\entities\_datastore\azure_storage.py”中的一些代码

175 def _to_rest_object(self) -> DatastoreData:
    176     blob_ds = RestAzureBlobDatastore(
    177         account_name=self.account_name,
    178         container_name=self.container_name,
--> 179         credentials=self.credentials._to_datastore_rest_object(),
    180         endpoint=self.endpoint,
    181         protocol=self.protocol,
    182         tags=self.tags,
    183         description=self.description,
    184     )
    185     return DatastoreData(properties=blob_ds)

AttributeError: 'dict' object has no attribute '_to_datastore_rest_object'

u0njafvf

u0njafvf1#

为了提供这方面的更新,正如@nthandeMS所提到的,我们发布了azure-ai-ml的1.4.0版本。使用此版本可以解决上述查询。
如需了解更多信息,请参阅此链接:https://github.com/Azure/azure-sdk-for-python/issues/28518

相关问题