2

我正在使用 AzureResourceManager(java)。

我可以通过以下方式启动/停止功能。

FunctionApp app = azureResourceManager.functionApps().getById(id);
app.start();

FunctionApp app = azureResourceManager.functionApps().getById(id);
app.stop();

pom.xml

<dependency>
    <groupId>com.azure.resourcemanager</groupId>
    <artifactId>azure-resourcemanager</artifactId>
    <version>2.1.0</version>
</dependency>

我知道我们可以从 Azure 门户启用/禁用它们。请参阅Azure 门户映像。我想使用 java 程序为 Functions 的每个功能管理它。

4

1 回答 1

0

API 没有记录。所以如果你真的需要在 Java 中执行此操作(对于另一种语言的 SDK 可能相同),你必须直接调用它。

var response = azure.functionApps().manager().httpPipeline().send(
        new HttpRequest(HttpMethod.PUT, "https://management.azure.com/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Web/sites/<site>/functions/<function>/properties/state?api-version=2021-02-01")
            .setHeader("content-type", "application/json")
            .setBody("{\"properties\":\"disabled\"}"))
    .block();

<subscription_id>可以通过azure.subscriptionId()(无论如何用户在初始化azure对象时提供了这个)。

由于这是未记录的 API(Portal 调用此 API,如果您检查浏览器开发工具),它可能不稳定。我找不到记录在案的等价物。

PS,您可能需要将 SDK 版本升级到 2.10.0(2.1.0 是相当早期的版本,包含一些已知的小错误)

于 2021-11-28T03:00:40.897 回答