

# 関数を発行する
<a name="publish-function"></a>

関数を発行すると、関数が `DEVELOPMENT` ステージから `LIVE` ステージにコピーされます。

キャッシュ動作が関連付けられていない関数を発行した場合は、関数をキャッシュ動作に関連付けることができます。キャッシュ動作は、`LIVE` ステージの関数にのみ関連付けることができます。

**重要**  
関数を発行する前に、[テスト](test-function.md)することをお勧めします。
関数を発行すると、関数に関連付けられたすべてのキャッシュ動作は (ディストリビューションのデプロイが完了しだい)、新しく発行したコピーを自動的に使用するようになります。

CloudFront コンソールまたは AWS CLI を使用して、関数を公開できます。

------
#### [ Console ]

**関数を発行するには**

1. CloudFront コンソール ([https://console.aws.amazon.com/cloudfront/v4/home#/functions](https://console.aws.amazon.com/cloudfront/v4/home#/functions)) にサインインし、**[関数]** ページを選択します。

1. 対象の関数を選択します。

1. **[発行]** タブを選択し、**[発行]** を選択します。関数が 1 つ以上のキャッシュ動作に既にアタッチされている場合は、**[発行して更新]** を選択します。

1. (オプション) 関数に関連付けられたディストリビューションを表示するには、[**Associated CloudFront distributions**] を選択して、そのセクションを展開します。

正常に完了すると、ページの上部に「***関数名*は正常に発行されました**」というバナーが表示されます。[**Build**] タブから [**Live**] を選択して、関数コードのライブバージョンを表示することもできます。

------
#### [ CLI ]

**関数を発行するには**

1. コマンドラインウィンドウを開きます。

1. 次の **aws cloudfront publish-function** コマンドを実行します。この例では、例を読みやすくするために改行されています。

   ```
   aws cloudfront publish-function \
       --name MaxAge \
       --if-match ETVXYZEXAMPLE
   ```

   コマンドが成功した場合は、以下のような出力が表示されます。

   ```
   FunctionSummary:
     FunctionConfig:
       Comment: Max Age 2 years
       Runtime: cloudfront-js-2.0
     FunctionMetadata:
       CreatedTime: '2021-04-18T21:24:21.314000+00:00'
       FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction
       LastModifiedTime: '2023-12-19T23:41:15.389000+00:00'
       Stage: LIVE
     Name: MaxAge
     Status: UNASSOCIATED
   ```

------