

# AWS Glue でブループリントを更新する
<a name="updating_blueprints"></a>

レイアウトスクリプトの改訂、設計図のパラメータセットの改訂、またはサポートファイルの改訂が行われた場合は、設計図を更新できます。更新により、新しいバージョンの設計図が作成されます。

設計図を更新した場合でも、その設計図から作成された既存のワークフローに影響は与えません。

設計図の更新には、AWS Glue コンソール、AWS Glue API、または AWS Command Line Interface (AWS CLI) を使用します。

以下に示す手順では、AWS Glue デベロッパーが、設計図の ZIP アーカイブを Amazon S3 で作成およびアップロードし、その更新を行うと想定しています。

**設計図を更新するには (コンソール)**

1. Amazon S3 にある設計図の ZIP アーカイブに対する、読み取りアクセス許可 (`s3:GetObject`) が付与されていることを確認します。

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

   設計図を更新するためのアクセス許可が付与されたユーザーとしてサインインします。設計図の ZIP アーカイブを含む Amazon S3 バケットと同じ、AWS リージョンに切り替えます。

1. ナビゲーションペインで **[Blueprints]** (ブループリント) を選択します。

1. [**Blueprints**] (設計図) ページで設計図を選択し、[**Actions**] (アクション) メニューで、[**Edit**] (編集) をクリックします。

1. [**Edit a blueprint**] (設計図の編集) ページで、設計図の [**Description**] (説明)、もしくは [**ZIP archive location (S3)**] (ZIP アーカイブの場所 (S3)) を更新します。パスにはアーカイブのファイル名を含める必要があります。

1. **[保存]** を選択します。

   [**Blueprints**] (設計図) ページが再び開き、設計図のステータスが「`UPDATING`」となっていることを表示します。ステータスが「`ACTIVE`」または「`FAILED`」に変わるまで、[Refresh] (更新) ボタンをクリックします。

1. ステータスが「`FAILED`」となった場合は、設計図を選択した上で、[**Actions**] (アクション) メニューで [**View**] (表示) をクリックします。

   詳細ページに、失敗の理由が表示されます。エラーメッセージが、「Unable to access object at location...」または「Access denied on object at location...」となっている場合は、以下の要件を確認してください。
   + サインインしているユーザーには、Amazon S3 内にある設計図の ZIP アーカイブに対する読み取りアクセス許可が必要です。
   + ZIP アーカイブを含む Amazon S3 バケットには、オブジェクトに対する読み取りアクセス許可を AWS アカウント ID に付与するためのバケットポリシーが必要です。詳細については、[設計図を公開する](developing-blueprints-publishing.md) を参照してください。
   + 使用している Amazon S3 バケットは、コンソールでサインインしているリージョンと同じリージョンにあることが必要です。
**注記**  
更新が失敗した場合、次回の設計図実行では、正常に登録または更新された設計図の最新バージョンが使用されます。

**設計図を更新するには (AWS CLI)**

1. 次のコマンドを入力します。

   ```
   aws glue update-blueprint --name <blueprint-name> [--description <description>] --blueprint-location s3://<s3-path>/<archive-filename>
   ```

1. 設計図のステータスを確認するには、次のコマンドを入力します。ステータスが `ACTIVE` または `FAILED` に変化するまで、このコマンドを繰り返します。

   ```
   aws glue get-blueprint --name <blueprint-name>
   ```

   ステータスが `FAILED` となり、エラーメッセージに「Unable to access object at location...」または「Access denied on object at location...」が出力された場合は、以下の要件を確認してください。
   + サインインしているユーザーには、Amazon S3 内にある設計図の ZIP アーカイブに対する読み取りアクセス許可が必要です。
   + ZIP アーカイブを含む Amazon S3 バケットには、オブジェクトに対する読み取りアクセス許可を AWS アカウント ID に付与するためのバケットポリシーが必要です。詳細については、[設計図を公開する](developing-blueprints-publishing.md) を参照してください。
   + 使用している Amazon S3 バケットは、コンソールでサインインしているリージョンと同じリージョンにあることが必要です。

**関連情報**  
[AWS Glue のブループリント概要](blueprints-overview.md)