> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# 管理应用

> 在本节中，你将学习如何使用可用的库来管理你的应用。你可以通过多种方式与应用进行交互，例如获取应用状态信息、访问日志、启动、停止和重启应用，以及管理与之关联的文件。

[Client]: client

[Application]: client#application

以下所有操作既可以通过 [Client] 类，也可以通过 [Application] 类以及 CLI 执行。下面是使用这两个类执行每项任务的示例：

## 获取应用状态

`client.app_status` 和 `app.status` 返回一个 `StatusData` 对象。

<Tabs>
  <Tab title="使用 Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        status = await client.app_status('application_id')  # StatusData(...)

        print(status.ram)      # '70MB'
        print(status.cpu)      # '5%'
        print(status.network)  # {'total': '0 KB ↑ 0 KB ↓', 'now': '0 KB ↑ 0 KB ↓'}
        print(status.running)  # True | False
        print(status.storage)  # '0B'
    ```
  </Tab>

  <Tab title="使用 Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')  # StatusData(...)
        status = await app.status()

        print(status.ram)  # '70MB'
        print(status.cpu)  # '5%'
        print(status.network)  # {'total': '0 KB ↑ 0 KB ↓', 'now': '0 KB ↑ 0 KB ↓'}
        print(status.running)  # True | False
        print(status.storage)  # '0B'
    ```
  </Tab>
</Tabs>

## 获取日志

`client.get_logs` 和 `app.logs` 返回一个 `LogsData` 对象。

<Tabs>
  <Tab title="使用 Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        logs = await client.get_logs('application_id')

        print(logs)  # LogsData(logs='Hello World!')
        print(logs.logs)  # 'Hello World'
    ```
  </Tab>

  <Tab title="使用 Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        logs = await app.logs()

        print(logs)  # LogsData(logs='Hello World!')
        print(logs.logs)  # 'Hello World'
    ```
  </Tab>
</Tabs>

## 启动应用

`client.start_app` 和 `app.start` 返回一个 `Response` 对象。

<Tabs>
  <Tab title="使用 Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        await client.start_app('application_id')
    ```
  </Tab>

  <Tab title="使用 Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        await app.start()
    ```
  </Tab>
</Tabs>

## 停止应用

`client.stop_app` 和 `app.stop` 返回一个 `Response` 对象。

<Tabs>
  <Tab title="使用 Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        await client.stop_app('application_id')
    ```
  </Tab>

  <Tab title="使用 Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        await app.stop()
    ```
  </Tab>
</Tabs>

## 重启应用

`client.restart_app` 和 `app.restart` 返回一个 `Response` 对象。

<Tabs>
  <Tab title="使用 Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        await client.restart_app('application_id')
    ```
  </Tab>

  <Tab title="使用 Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        await app.restart()
    ```
  </Tab>
</Tabs>

## 删除应用

`client.delete_app` 和 `app.delete` 返回一个 `Response` 对象。

<Warning>
  这将**永久**删除你的应用，也就是说，除非你有应用的备份，否则将无法恢复。
</Warning>

<Tabs>
  <Tab title="使用 Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        await client.delete_app('application_id')
    ```
  </Tab>

  <Tab title="使用 Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        await app.delete()
    ```
  </Tab>
</Tabs>
