You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python自动化启用/停用Azure Data Lake Storage的SFTP功能?

Azure Data Lake Storage SFTP功能的Python启用/停用实现方案

可以通过Python实现ADLS账户SFTP功能的启用与停用,但需要使用Azure存储管理SDK(azure-mgmt-storage),而非用于数据操作的azure.storage.filedatalake——你遇到的ImportError正是因为Bard提供的代码用错了SDK:ADLSFileSystemClient并非azure.storage.filedatalake中的有效类,且该SDK仅负责数据读写,不涉及存储账户的配置修改。

实现步骤

  1. 安装依赖包
    执行以下命令安装所需SDK:

    pip install azure-mgmt-storage azure-identity
    
  2. 权限要求
    操作账号需拥有目标存储账户的Storage Account Contributor或Contributor角色,确保具备修改存储账户配置的权限。

  3. Python代码示例
    以下代码通过Azure Identity认证,实现SFTP功能的启用/停用:

    from azure.mgmt.storage import StorageManagementClient
    from azure.identity import DefaultAzureCredential
    
    # 配置参数
    SUBSCRIPTION_ID = "<你的订阅ID>"
    RESOURCE_GROUP_NAME = "<资源组名称>"
    STORAGE_ACCOUNT_NAME = "<存储账户名称>"
    # 设置SFTP状态:True=启用,False=停用
    SFTP_ENABLED = True
    
    # 初始化管理客户端
    credential = DefaultAzureCredential()
    storage_client = StorageManagementClient(credential, SUBSCRIPTION_ID)
    
    # 更新存储账户配置
    storage_client.storage_accounts.update(
        RESOURCE_GROUP_NAME,
        STORAGE_ACCOUNT_NAME,
        {
            "properties": {
                "sftp": {
                    "enabled": SFTP_ENABLED
                }
            }
        }
    )
    
    print(f"SFTP功能已{'启用' if SFTP_ENABLED else '停用'}")
    

说明

  • DefaultAzureCredential会自动读取本地环境的认证信息(如Azure CLI登录状态、环境变量、托管身份等),适合本地开发与生产环境。
  • 执行代码前需确保已通过az login完成Azure CLI登录(本地开发场景),或在生产环境配置好托管身份/服务主体认证。

内容的提问来源于stack exchange,提问作者Steven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 11:12:06