【问题标题】:How to scale Azure SQL DW up/down using a Logic app如何使用逻辑应用向上/向下扩展 Azure SQL DW
【发布时间】:2019-12-07 19:30:33
【问题描述】:

我知道可以创建逻辑应用来恢复/暂停 Azure SQL 数据仓库,同样可以在管道中的 Azure 数据工厂中使用。我想知道是否有任何方法可以类似地创建一个逻辑应用程序并在 ADF 中使用它来放大或缩小 DW 单元。原因是,我的管道的某些组件需要 DW 以更高的单位运行,而对于管道的某些部分,它可以保持在最低限度。任何帮助将不胜感激!

【问题讨论】:

    标签: azure azure-sql-database azure-data-factory azure-logic-apps


    【解决方案1】:

    如果您确实需要通过逻辑应用程序实现这一点(例如,您更喜欢逻辑应用程序的简单调度而不是 Azure Functions 中的 CRON 表单)或者逻辑应用程序是您选择的集成解决方案,那么这是可能的。只需使用带有 PATCH 调用的 HTTP 任务和具有 pauseresume 方法的 Azure SQL 数据仓库 REST API,还允许您传入具有实际服务级别目标的主体,例如

    在我的示例中,我将以下设置用于服务主体身份验证:

    Method:         PATCH
    URI:            https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}/databases/{database-name}/pause?api-version=2014-04-01-preview
    Headers:        (leave empty)
    Queries:        (leave empty)
    Body:           
    {
    "properties": {
        "requestedServiceObjectiveName": "DW100c"
        }
    }
    Authentication: Active Directory OAuth
    Tenant:         (your tenant)
    Audience:       https://management.core.windows.net/
    Client ID:      (your client id)
    Credential Type: Secret
    Secret:         (your secret)
    

    将服务目标设置为您想要的任何内容 - 我的示例使用 DW100c,这实际上是缩减操作的一部分:100 是您可以达到的最低值。请注意,REST API 活动中的示例 JSON 不正确/无效 JSON。只需为 Gen 2 仓库添加报价,您需要在服务级别目标后指定“c”,例如 "DW3000c"

    【讨论】:

    • 谢谢鲍勃!一定会试试这个
    【解决方案2】:

    Azure SQL 数据仓库可以扩大/缩小via PowerShell, T-SQL, or Rest API。逻辑应用可以执行 SQL 语句、调用向上/向下扩展 DW 的 Azure Functions 或直接调用 API。

    选项 1:T-SQL。 添加t-SQL Action。 Azure SQL DW(相对于 DB)有一个单独的连接器。确保您连接到 Master 数据库而不是用户数据库(根据您的安全要求,这可能会破坏交易)。让它执行类似于

    的查询
    ALTER DATABASE mySampleDataWarehouse
    MODIFY (SERVICE_OBJECTIVE = 'DW300c');
    

    您可能必须为轮询添加等待或循环,因为规模发生需要几秒钟,您需要等待它完成。

    选项 2:Azure 函数。 创建一个Azure Function 并使用逻辑应用程序调用它。函数应用程序有一个template available 可以向上/向下扩展您可能从中复制的 DW。它使用计时器触发器,但您希望从逻辑应用调用 HTTP 触发器。为此,您需要一个服务主体帐户,该帐户具有与您的数据仓库实例相同的订阅下的参与者访问权限。

    编辑:我不确定您的数据工厂控制流程是什么样的,但您可能只是在其中放大/缩小而不是使用逻辑应用程序。

    【讨论】:

    • 谢谢妈妈!我尝试运行 SQL 查询方法(ALTER DATABASE),它正在从主数据库工作。根据您的建议,我将使用 T-SQL 操作进一步将其合并到 ADF 中。此外,添加等待/循环的建议也很棒,因为缩放需要相当长的时间。非常感谢!
    猜你喜欢
    • 2018-07-28
    • 1970-01-01
    • 2021-06-22
    • 2017-07-28
    • 2011-01-09
    • 2021-10-13
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多