> ## 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="Using 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="Using 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="Using 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="Using 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="Using 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="Using 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="Using 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="Using 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="Using 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="Using 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="Using 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="Using 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>
