Skip to content

Commit

Permalink
Adds JP translation for processBeforeResponse & AWS guide (#1524)
Browse files Browse the repository at this point in the history
Co-authored-by: Kazuhiro Sera <[email protected]>
  • Loading branch information
wongjas and seratch authored Jul 20, 2022
1 parent 86486e0 commit f203826
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 27 deletions.
6 changes: 3 additions & 3 deletions docs/_deployments/aws-lambda.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ The [Serverless Framework][serverless-framework] includes tools that let you eas

**1. Install the Serverless Framework CLI**

The Serverless tools are available as a Command Line Interface (CLI) and can be [installed on macOS, Windows, or Linux](https://www.serverless.com/framework/docs/getting-started/). Check out the [Serverless Getting Started documentation](https://www.serverless.com/framework/docs/getting-started/) for instructions on how to install.
The Serverless tools are available as a Command Line Interface (CLI) and can be installed on macOS, Windows, or Linux. Check out the [Serverless Getting Started documentation](https://www.serverless.com/framework/docs/getting-started/) for instructions on how to install.

Once the installation is complete, test the Serverless CLI by displaying the commands available to you:

Expand Down Expand Up @@ -139,7 +139,7 @@ const app = new App({
// When using the AwsLambdaReceiver, processBeforeResponse can be omitted.
// If you use other Receivers, such as ExpressReceiver for OAuth flow support
// then processBeforeResponse: true is required. This option will defer sending back
// the acknowledgement until after your handler has run to ensure your function
// the acknowledgement until after your handler has run to ensure your handler
// isn't terminated early by responding to the HTTP request that triggered it.

// processBeforeResponse: true
Expand Down Expand Up @@ -186,7 +186,7 @@ plugins:
```
> 💡 `SLACK_SIGNING_SECRET` and `SLACK_BOT_TOKEN` must be enviornment variables on your local machine.
> You can [learn how to export Slack environment variables](/bolt-js/tutorial/getting-started#setting-up-your-local-project) in our Getting Started guide.
> You can [learn how to export Slack environment variables](/bolt-js/tutorial/getting-started#setting-up-your-project) in our Getting Started guide.

**3. Install Serverless Offline**

Expand Down
44 changes: 23 additions & 21 deletions docs/_deployments/ja_aws-lambda.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,22 +64,16 @@ aws configure

### Serverless Framework をセットアップする

[Serverless Framework](https://www.serverless.com/open-source/) では、AWS Lambda 向けのアプリの設定、デバッグ、デプロイを簡単に行うためのツールが用意されています。
[Serverless Framework][serverless-framework] では、AWS Lambda 向けのアプリの設定、デバッグ、デプロイを簡単に行うためのツールが用意されています。

**1. Serverless Framework CLI をインストールする**

Serverless でも [macOS、Windows、Linux](https://www.serverless.com/framework/docs/getting-started/) にインストールして利用できるコマンドラインインターフェイス(CLI)のツールが用意されています。インストールには npm を使用します。次のコマンドを実行してください。

```shell
npm install --save-dev serverless
```

> 💡 [Serverless CLI をグローバルにインストールする](https://www.serverless.com/framework/docs/getting-started/)こともできます。その場合は`npm install -g serverless` というコマンドを実行します。
Serverless でも macOS、Windows、Linux にインストールして利用できるコマンドラインインターフェイス(CLI)のツールが用意されています。インストールするには Serverless の[入門ガイド(英語)](https://www.serverless.com/framework/docs/getting-started/) をお読みください。

インストールが完了したら Serverless CLI をテストするため、利用可能なコマンドを表示してみましょう。

```shell
npx serverless help
serverless help
```

Serverless のツールのセットアップが完了しました。次に、AWS Lambda 関数として実行する Bolt アプリの準備へと進みましょう。
Expand Down Expand Up @@ -139,13 +133,16 @@ const awsLambdaReceiver = new AwsLambdaReceiver({

// ボットトークンと、AWS Lambda に対応させたレシーバーを使ってアプリを初期化します。
const app = new App({
token: process.env.SLACK_BOT_TOKEN,
receiver: awsLambdaReceiver,
// `processBeforeResponse` オプションは、あらゆる FaaS 環境で必須です。
// このオプションにより、Bolt フレームワークが `ack()` などでリクエストへの応答を返す前に
// `app.message` などのメソッドが Slack からのリクエストを処理できるようになります。FaaS では
// 応答を返した後にハンドラーがただちに終了してしまうため、このオプションの指定が重要になります。
processBeforeResponse: true
token: process.env.SLACK_BOT_TOKEN,
receiver: awsLambdaReceiver,

// AwsLambdaReceiver を利用する場合は `processBeforeResponse` は省略可能です。
// OAuth フローに対応した ExpressReceiver など、他のレシーバーを使用する場合、
// `processBeforeResponse: true` が必要になります。
// このオプションは、ハンドラーの実行が完了するまで応答を返すのを遅延させます。
// これによってハンドラーがトリガーとなった HTTP リクエストに応答を返すことでただちに終了されることを防ぐことができます。

//processBeforeResponse: true
});
```

Expand Down Expand Up @@ -187,7 +184,7 @@ plugins:
- serverless-offline
```
> 💡 `SLACK_SIGNING_SECRET` と `SLACK_BOT_TOKEN` の環境変数は、ローカルマシンで設定しておく必要があります。[Slack の環境変数をエクスポートする方法](/bolt-js/tutorial/getting-started#setting-up-your-local-project)を入門ガイドで参照してください。
> 💡 `SLACK_SIGNING_SECRET` と `SLACK_BOT_TOKEN` の環境変数は、ローカルマシンで設定しておく必要があります。[Slack の環境変数をエクスポートする方法](/bolt-js/tutorial/getting-started#setting-up-your-project)を入門ガイドで参照してください。

**3. serverless-offline モジュールをインストールする**

Expand All @@ -209,11 +206,12 @@ npm install --save-dev serverless-offline

**1. ローカルのサーバーを起動する**

まず、AWS Lambda 関数のイベントをリッスンするため、`serverless offline` コマンドを実行します。
まず、アプリの起動と AWS Lambda 関数のイベントをリッスンするため、`serverless offline` コマンドを実行します。

```zsh
npx serverless offline --noPrependStageInUrl
serverless offline --noPrependStageInUrl
```
> 🏌️ Pro-tip: 別のターミナルで上記のコマンドを実行しておくことで、ターミナル上でアプリのコードを変更することができます。コードの変更を保存する度、アプリは自動的にリロードされます。

次に、ngrok を使って Slack のイベントをローカルマシンに転送します。

Expand Down Expand Up @@ -252,14 +250,16 @@ Slack アプリをテストします。今作った Bolt アプリを Slack の

### アプリをデプロイする

今までローカルでアプリを実行し、 Slack ワークスペースでテストをしてきました。さて、動作するアプリができたので、デプロイしてみましょう!

AWS Lambda 向けのアプリのプロビジョニング、パッケージング、デプロイには、Serverless Framework のツールが利用できます。アプリのデプロイが完了したら、アプリのリクエスト URL を更新して、「hello」と入力した時にアプリが応答できるようにします。✨

**1. AWS Lambda にアプリをデプロイする**

次のコマンドを使って AWS Lambda にアプリをデプロイします。

```shell
npx serverless deploy
serverless deploy
# Serverless:Packaging service...
# ...
# endpoints:
Expand Down Expand Up @@ -309,11 +309,13 @@ app.message('goodbye', async ({ message, say }) => {
先ほどと同じコマンドを使って更新をデプロイします。

```shell
npx serverless deploy
serverless deploy
```

デプロイが完了したら、アプリを参加させた Slack チャンネルを開いて、半角の小文字で「goodbye」と入力してみましょう。Slack アプリに「See you later」と表示されるはずです。

> ⛳️ 一つの関数に小さな変更を加える場合、その関数だけをデプロイするためにより高速な `serverless deploy function -f my-function` を実行することができます。より詳細なヘルプを見るには `serverless help deploy function` を実行してください。
---

### 次のステップ
Expand Down
6 changes: 3 additions & 3 deletions docs/_tutorials/ja_reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ Bolt には、アプリをカスタマイズするためのさまざまな初期
| :---: | :--- |
| `signingSecret` | アプリの設定の「Basic Information」から取得した 文字列。受信イベントが Slack から送信されたものであることを検証するために使用されます。 |
| `endpoints` | レシーバーが Slack からの受信リクエストをリッスンするエンドポイントを指定する文字列または `オブジェクト`。現在、オブジェクトに指定できるキーはラベルとしての任意の文字列のみで、値にはカスタムのエンドポイントを指定します(例 : `/myapp/events`)。**デフォルトでは `/slack/events` というエンドポイントにすべてのイベントが送信されます。** |
| `processBeforeResponse` | イベントに対して即座に確認の応答を返すどうかを指定する真偽値。これは、主に FaaS プラットフォームでアプリを実行する場合に有用な設定です。 `true` に設定することでイベントのリスナーが予期せず終了することを防ぎます。デフォルトは `false` です。 |
| `clientId` | アプリの設定で指定した、クライアントの ID を示す 文字列[OAuth の設定を行うために必要です](/bolt-js/concepts#authenticating-oauth)|
| `processBeforeResponse` | イベントに対して即座に確認の応答を返すかどうかを指定する真偽値。リクエストへの応答が完了するとリスナーはただちに終了してしまうため、FaaS プラットフォームでアプリを実行する場合に有用な設定です。 `true` に設定すると早期終了を防ぐためにハンドラーが実行されるまで応答を返すのを遅らせます。デフォルトは `false` です。 |
| `clientId` | アプリの設定で指定した、クライアントの ID を示す文字列[OAuth の設定を行うために必要です](/bolt-js/concepts#authenticating-oauth)|
| `clientSecret` | アプリの設定で指定した、クライアントのシークレットキーを示す 文字列。[OAuth の設定を行うために必要です](/bolt-js/concepts#authenticating-oauth)|
| `stateSecret` | CSRF 攻撃を防ぐために [OAuth の設定時](/bolt-js/concepts#authenticating-oauth)に渡すことができる、推奨のパラメーター(文字列)。 |
| `installationStore` | [OAuth の設定時](/bolt-js/ja-jp/concepts#authenticating-oauth)に、インストールデータの保存・取得・削除の手段を定義します。`fetchInstallation``storeInstallation``deleteInstallation` という 3 つのメソッドが含まれます。デフォルトの `installationStore` はインメモリストアです。 |
Expand All @@ -102,7 +102,7 @@ Bolt には、アプリをカスタマイズするためのさまざまな初期
| `signatureVerification` | Bolt が Slack からの受信リクエストの署名を検証するかどうかを指定する真偽値。 デフォルトは `true` です。 |

### App オプション
App オプションは、`App` のコンストラクターに渡します。
App オプションは、`App` のコンストラクターに渡します。`receiver` 引数が設定されない場合 `App` コンストラクターは上記の[ `receiver` オプション](#レシーバーオプション)を受け取り、それを用いて `socketMode` の値に応じて `HttpReceiver` または `SocketModeReceiver` を初期化します。

| オプション | 説明 |
| :---: | :--- |
Expand Down

0 comments on commit f203826

Please sign in to comment.