

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# の作成AWS Lambda関数
<a name="lambda"></a>

Amazon Textract API オペレーションは、AWS Lambdafunction. 次の手順では、Python で呼び出す Lambda 関数を作成する方法を示しています。[DetectDocumentText](API_DetectDocumentText.md)。これは、リストを返します[Block](API_Block.md)オブジェクト。この例を実行するには、PNG または JPEG 形式のドキュメントを含む Amazon S3 バケットが必要です。関数を作成するには、コンソールを使用します。

Lambda 関数を使用してドキュメントを大規模に処理する例については、を参照してください。[Amazon Textract による大規模なドキュメント処理](https://github.com/aws-samples/amazon-textract-serverless-large-scale-document-processing)。

## Lambda 関数から detectDocumentText オペレーションを呼び出すには、次の手順を実行します。
<a name="lambda-procedure"></a><a name="create-deployment-package"></a>

**ステップ 1: Lambda デプロイパッケージの作成**

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

1. 次のコマンドを入力して、最新バージョンのAWSSDK。

   ```
   pip install boto3 --target python/.
   zip boto3-layer.zip -r python/
   ```<a name="create-function"></a>

**ステップ 2: Lambda 関数の作成**

1. AWS マネジメントコンソール にサインインして AWS Lambda コンソール ([https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)) を開きます。

1. [**Create function**] (関数の作成) を選択します。

1. 次を指定します。
   + **Author from scratch** を選択します。
   + [**関数名**] に名前を入力します。
   + を使用する場合**ランタイム**で、**Python 3.7**または**Python 3.6**。
   + を使用する場合**実行ロールの選択または作成**で、**基本的な Lambda アクセス権限で新しいロールを作成する**。

1. 選択**関数の作成**Lambda 関数を作成します。

1. IAM コンソール[(https://console.aws.amazon.com/iam/)](https://console.aws.amazon.com/iam/)を開きます。

1. ナビゲーションペインで [**ロール**] を選択します。

1. [Resources] リストから、Lambda が作成した IAM ロールを選択します。ロール名は Lambda 関数の名前から始まります。

1. [**アクセス許可**タブを選択し、**ポリシーのアタッチ**。

1. AmazonTextractFullAccess sポリシーと Amazons3ReadOnlyAccess ポリシーを選択します。

1. Select**ポリシーのアタッチ**。

詳細については、「」を参照してください。[コンソールで Lambda 関数の作成](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html)

**ステップ 3: レイヤーの作成と追加**

1. [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/) で、AWS Lambda コンソールを開きます。

1. ナビゲーションペインで [**Layers**] を選択します。

1. [**Create layer**] (レイヤーの作成) を選択します。

1. を使用する場合**名前**[] に、名前を入力します。

1. [**説明**] に説明を入力します。

1. を使用する場合**コード エントリ タイプ**で、**.zip ファイルのアップロード**を選択し、**アップロード**。

1. ダイアログボックスで、で作成した zip ファイル (boto3-layer.zip) を選択します。[ステップ 1: Lambda デプロイパッケージの作成](#create-deployment-package)。

1. を使用する場合**対応ランタイム**で、で選択したランタイムのバージョンを選択します。[ステップ 2: Lambda 関数の作成](#create-function)。

1. 選択**作成**をクリックして、レイヤーを作成します。

1. ナビゲーションペインメニューアイコンを選択します。

1. ナビゲーションペインで、[**Functions**] (関数) を選択します。

1. [Resource] リストで、[] で作成した関数を選択します。[ステップ 2: Lambda 関数の作成](#create-function)。

1. 選択**設定**そして、**デザイナー**] セクションで、[] を選択します**レイヤー**(Lambda 関数名の下)。

1. 左**レイヤー**] セクションで、[] を選択します**レイヤーを追加する**。

1. 選択**ランタイム互換レイヤーのリストから選択**。

1. Eclipse**対応レイヤー**で、[] を選択します。**名前**そして**Version**ステップ 3 で作成したレイヤーのうち、

1. **[Add]** (追加) をクリックします。

**ステップ 4: 関数に Python コードを追加する**

1. Eclipse**デザイナー**[] で、関数を選択します。

1. 関数コードエディタで、次の内容をファイルに追加します。**lambda\$1function.py**。の値を変更する`bucket`そして`document`バケットとドキュメントに移動します。

   ```
   import json
   import boto3
   
   def lambda_handler(event, context):
   
       bucket="bucket"
       document="document"
       client = boto3.client('textract')
   
   
   
       #process using S3 object
       response = client.detect_document_text(
           Document={'S3Object': {'Bucket': bucket, 'Name': document}})
   
       #Get the text blocks
       blocks=response['Blocks']
       
       return {
           'statusCode': 200,
           'body': json.dumps(blocks)
       }
   ```

1. 選択**保存**Lambda 関数を保存します。

**ステップ 5: Lambda をテストする**

1. Select**Test**。

1. [] の値を入力します。**イベント名**。

1. **[Create]** (作成) を選択します。

1. 出力、リスト[Block](API_Block.md)オブジェクトは、[実行結果] ペインに表示されます。

そのファイルにAWS Lambda関数がタイムアウトエラーを返します。Amazon Textract API オペレーション呼び出しが原因である可能性があります。のタイムアウト期間の延長については、AWS Lambda関数、「」を参照してください。[AWS Lambda 関数の設定](https://docs.aws.amazon.com/lambda/latest/dg/resource-model.html)。

コードから Lambda 関数を呼び出す方法については、「」を参照してください。[を呼び出しますAWS Lambda関数](https://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-functions.html)。