Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

AWS Lambda を使用して Amazon S3 のメインフレームファイルを EBCDIC 形式から文字区切りの ASCII 形式に変換します - AWS 規範ガイダンス

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

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

AWS Lambda を使用して Amazon S3 のメインフレームファイルを EBCDIC 形式から文字区切りの ASCII 形式に変換します

作成:ルイス・グスタボ・ダンタス (AWS)

概要

このパターンは、メインフレームの EBCDIC (拡張バイナリコード 10 進交換コード) ファイルを文字区切りの ASCII (米国情報交換標準コード) ファイルに自動的に変換する AWS Lambda 関数を起動する方法を示しています。Lambda 関数は、ASCII ファイルが Amazon Simple Storage Service (Amazon S3) バケットにアップロードされた後に実行されます。ファイル変換後、x86 ベースのワークロードで ASCII ファイルを読み取ったり、最新のデータベースにファイルをロードしたりできます。

このパターンで示されているファイル変換方法は、現代の環境で EBCDIC ファイルを扱う際の課題を克服するのに役立ちます。EBCDIC でエンコードされたファイルには、バイナリ形式またはパックド 10 進形式で表されるデータが含まれていることが多く、フィールドは固定長です。最近の x86 ベースのワークロードや分散環境は通常 ASCII でエンコードされたデータを処理し、EBCDIC ファイルを処理できないため、これらの特性は障害となります。

前提条件と制限

前提条件

  • アクティブな AWS アカウント。

  • S3 バケット

  • 管理者のアクセス許可を持つ AWS Identity and Access Management (IAM) ユーザー

  • AWS CloudShell

  • Python 3.8.0 以降。

  • EBCDIC でエンコードされたフラットファイルと、それに対応するデータ構造を共通ビジネス指向言語 (COBOL) のコピーブックでエンコードしたもの

注記

このパターンでは、サンプルの EBCDIC ファイル (CLIENT.EBCDIC.txt) とそれに対応する COBOL コピーブック (COBKS05.cpy) を使用します。どちらのファイルも GitHub 「メインフレームデータユーティリティ」リポジトリにあります。

制約事項

  • COBOL コピーブックには通常、複数のレイアウト定義があります。「mainframe-data-utilities」プロジェクトは、この種のコピーブックを解析することはできますが、データ変換時にどのレイアウトを検討すべきかを推測することはできません。これは、コピーブックにはこのロジックがないからです (代わりに COBOL プログラムに残っています)。そのため、コピーブックを解析した後は、レイアウトを選択するルールを手動で設定する必要があります。

  • このパターンには「Lambda クォータ」が適用されます。

アーキテクチャ

ソーステクノロジースタック

  • IBM z/OS、IBM i、およびその他の EBCDIC システム

  • EBCDIC でエンコードされたデータを含むシーケンシャル・ファイル (IBM Db2 アンロードなど)

  • COBOL コピーブック

ターゲットテクノロジースタック

  • Amazon S3

  • Amazon S3イベント通知

  • IAM

  • Lambda function

  • Python 3.8 以降

  • メインフレームデータユーティリティ

  • JSON メタデータ

  • 文字区切りの ASCII ファイル

ターゲットアーキテクチャ

次の図は、メインフレームの EBCDIC ファイルを ASCII ファイルに変換するアーキテクチャを示しています。

メインフレーム EBCDIC ファイルを ASCII ファイルに変換するアーキテクチャ

この図表は、次のワークフローを示しています:

  1. ユーザーはコピーブックパーサースクリプトを実行して COBOL コピーブックを JSON ファイルに変換します。

  2. ユーザーは JSON メタデータを S3 バケットにアップロードします。これにより、データ変換 Lambda 関数でメタデータを読み取ることができます。

  3. ユーザーまたは自動プロセスが、EBCDIC ファイルを S3 バケットにアップロードします。

  4. S3 通知イベントは、データ変換 Lambda 関数をトリガーします。

  5. AWS は Lambda 関数の S3 バケットの読み取り/書き込み権限を検証します。

  6. Lambda は S3 バケットからファイルを読み取り、ファイルを EBCDIC から ASCII にローカルに変換します。

  7. Lambda はプロセスのステータスを Amazon CloudWatch に記録します。

  8. Lambda は、ASCII ファイルを Amazon S3 に書き込みます。

注記

コピーブックパーサースクリプトは、メタデータを JSON に変換し、そのデータを S3 バケットにアップロードした後、1 回だけ実行されます。最初の変換後、S3 バケットにアップロードされた同じ JSON ファイルを使用する EBCDIC ファイルはすべて、同じメタデータを使用します。

ツール

AWS ツール

  • Amazon CloudWatch は、AWS のリソースや、AWS で実行されるアプリケーションをリアルタイムに監視します。

  • Amazon Simple Storage Service (Amazon S3) は、どのようなデータ量であっても、データを保存、保護、取得することを支援するクラウドベースのオブジェクトストレージサービスです。

  • AWS CloudShell」はブラウザベースのシェルで、AWS コマンドラインインターフェイス (AWS CLI) とプリインストールされたさまざまな開発ツールを使用して、AWS のサービスを管理できます。

  • AWS Identity and Access Management (IAM)」は、AWS リソースへのアクセスを安全に管理し、誰が認証され、使用する権限があるかを制御するのに役立ちます。

  • AWS Lambda は、サーバーのプロビジョニングや管理を行うことなくコードを実行できるコンピューティングサービスです。Lambda は必要に応じてコードを実行し、自動的にスケーリングします。

その他のツール

  • GitHub」は、コラボレーションツールとバージョン管理を提供するコードホスティングサービスです。

  • Python」は高水準プログラミング言語です。

コード

このパターンのコードは、GitHub 内の「mainframe-data-utilities」リポジトリで利用できます。

ベストプラクティス

以下のベストプラクティスを考慮します。

エピック

タスク説明必要なスキル

環境変数を作成します。

以下の環境変数をテキストエディターにコピーし、<placeholder>次の例の値を自分のリソースの値に置き換えます。

bucket=<your_bucket_name> account=<your_account_number> region=<your_region_code>
注記

S3 バケット、AWS アカウント、AWS リージョンへの参照は後で作成します。

環境変数を定義するには、「CloudShell コンソール」を開き、更新した環境変数をコピーしてコマンドラインに貼り付けます。

注記

CloudShell セッションが再起動するたびに、このステップを繰り返す必要があります。

AWS 全般

作業フォルダを作成します。

後でリソースをクリーンアップするプロセスを簡略化するには、次のコマンドを実行して CloudShell に作業フォルダを作成します。

mkdir workdir; cd workdir
注記

CloudShell セッションへの接続が失われるたびに、ディレクトリを作業ディレクトリ (workdir) に変更する必要があります。

AWS 全般

環境変数と作業フォルダーの作成

タスク説明必要なスキル

環境変数を作成します。

以下の環境変数をテキストエディターにコピーし、<placeholder>次の例の値を自分のリソースの値に置き換えます。

bucket=<your_bucket_name> account=<your_account_number> region=<your_region_code>
注記

S3 バケット、AWS アカウント、AWS リージョンへの参照は後で作成します。

環境変数を定義するには、「CloudShell コンソール」を開き、更新した環境変数をコピーしてコマンドラインに貼り付けます。

注記

CloudShell セッションが再起動するたびに、このステップを繰り返す必要があります。

AWS 全般

作業フォルダを作成します。

後でリソースをクリーンアップするプロセスを簡略化するには、次のコマンドを実行して CloudShell に作業フォルダを作成します。

mkdir workdir; cd workdir
注記

CloudShell セッションへの接続が失われるたびに、ディレクトリを作業ディレクトリ (workdir) に変更する必要があります。

AWS 全般
タスク説明必要なスキル

トリガーのための Lambda 関数を作成します。

Lambda 関数で EBCDIC コンバーターが実行されます。関数には IAM ロールが必要です。IAM ロールを作成する前に、リソースがそのポリシーを引き継ぐことを可能にする信頼ポリシードキュメントを定義する必要があります。

CloudShell 作業フォルダから、次のコマンドを実行してポリシードキュメントを作成します。

E2ATrustPol=$(cat <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF ) printf "$E2ATrustPol" > E2ATrustPol.json
AWS 全般

Lambda 変換用に IAM ロールを作成する

IAM ロールを作成するには、CloudShell 作業フォルダから以下の AWS CLI コマンドを実行します。

aws iam create-role --role-name E2AConvLambdaRole --assume-role-policy-document file://E2ATrustPol.json
AWS 全般

Lambda 関数の IAM ポリシードキュメントを作成します。

Lambda 関数には S3 バケットへの読み取り/書き込みアクセス権限と Amazon CloudWatch Logs の書き込み権限が必要です。

IAM ポリシーを作成するには、CloudShell 作業フォルダから次のコマンドを実行します。

E2APolicy=$(cat <<EOF { "Version": "2012-10-17", "Statement": [ { "Sid": "Logs", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogStream", "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:*:*:log-group:*", "arn:aws:logs:*:*:log-group:*:log-stream:*" ] }, { "Sid": "S3", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::%s/*", "arn:aws:s3:::%s" ] } ] } EOF ) printf "$E2APolicy" "$bucket" "$bucket" > E2AConvLambdaPolicy.json
AWS 全般

IAM ポリシーを IAM ロールにアタッチします。

IAM ポリシーを IAM ロールにアタッチするには、CloudShell 作業フォルダから次のコマンドを実行します。

aws iam put-role-policy --role-name E2AConvLambdaRole --policy-name E2AConvLambdaPolicy --policy-document file://E2AConvLambdaPolicy.json
AWS 全般

IAM ポリシーと IAM ロールを作成する

タスク説明必要なスキル

トリガーのための Lambda 関数を作成します。

Lambda 関数で EBCDIC コンバーターが実行されます。関数には IAM ロールが必要です。IAM ロールを作成する前に、リソースがそのポリシーを引き継ぐことを可能にする信頼ポリシードキュメントを定義する必要があります。

CloudShell 作業フォルダから、次のコマンドを実行してポリシードキュメントを作成します。

E2ATrustPol=$(cat <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF ) printf "$E2ATrustPol" > E2ATrustPol.json
AWS 全般

Lambda 変換用に IAM ロールを作成する

IAM ロールを作成するには、CloudShell 作業フォルダから以下の AWS CLI コマンドを実行します。

aws iam create-role --role-name E2AConvLambdaRole --assume-role-policy-document file://E2ATrustPol.json
AWS 全般

Lambda 関数の IAM ポリシードキュメントを作成します。

Lambda 関数には S3 バケットへの読み取り/書き込みアクセス権限と Amazon CloudWatch Logs の書き込み権限が必要です。

IAM ポリシーを作成するには、CloudShell 作業フォルダから次のコマンドを実行します。

E2APolicy=$(cat <<EOF { "Version": "2012-10-17", "Statement": [ { "Sid": "Logs", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogStream", "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:*:*:log-group:*", "arn:aws:logs:*:*:log-group:*:log-stream:*" ] }, { "Sid": "S3", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::%s/*", "arn:aws:s3:::%s" ] } ] } EOF ) printf "$E2APolicy" "$bucket" "$bucket" > E2AConvLambdaPolicy.json
AWS 全般

IAM ポリシーを IAM ロールにアタッチします。

IAM ポリシーを IAM ロールにアタッチするには、CloudShell 作業フォルダから次のコマンドを実行します。

aws iam put-role-policy --role-name E2AConvLambdaRole --policy-name E2AConvLambdaPolicy --policy-document file://E2AConvLambdaPolicy.json
AWS 全般
タスク説明必要なスキル

EBCDIC 変換ソースコードをダウンロードしてください。

CloudShell 作業フォルダから次のコマンドを実行して、メインフレームデータユーティリティのソースコードを GitHub からダウンロードします。

git clone https://github.com/aws-samples/mainframe-data-utilities.git mdu
AWS 全般

ZIP パッケージを作成します。

CloudShell 作業フォルダから次のコマンドを実行して、EBCDIC 変換用の Lambda 関数を作成する ZIP パッケージを作成します。

cd mdu; zip ../mdu.zip *.py; cd ..
AWS 全般

Lambda 関数を作成します。

CloudShell 作業フォルダから次のコマンドを実行して、EBCDIC 変換用の Lambda 関数を作成します。

aws lambda create-function \ --function-name E2A \ --runtime python3.9 \ --zip-file fileb://mdu.zip \ --handler extract_ebcdic_to_ascii.lambda_handler \ --role arn:aws:iam::$account:role/E2AConvLambdaRole \ --timeout 10 \ --environment "Variables={layout=$bucket/layout/}"
注記

 環境変数レイアウトは、JSON メタデータが存在する場所を Lambda 関数に指示します。

AWS 全般

Lambda 関数のリソースベースのポリシーを作成します。

CloudShell 作業フォルダから次のコマンドを実行して、Amazon S3 イベント通知が EBCDIC 変換のための Lambda 関数をトリガーできるようにします。

aws lambda add-permission \ --function-name E2A \ --action lambda:InvokeFunction \ --principal s3.amazonaws.com \ --source-arn arn:aws:s3:::$bucket \ --source-account $account \ --statement-id 1
AWS 全般

EBCDIC 変換用のLambda 関数を作成する

タスク説明必要なスキル

EBCDIC 変換ソースコードをダウンロードしてください。

CloudShell 作業フォルダから次のコマンドを実行して、メインフレームデータユーティリティのソースコードを GitHub からダウンロードします。

git clone https://github.com/aws-samples/mainframe-data-utilities.git mdu
AWS 全般

ZIP パッケージを作成します。

CloudShell 作業フォルダから次のコマンドを実行して、EBCDIC 変換用の Lambda 関数を作成する ZIP パッケージを作成します。

cd mdu; zip ../mdu.zip *.py; cd ..
AWS 全般

Lambda 関数を作成します。

CloudShell 作業フォルダから次のコマンドを実行して、EBCDIC 変換用の Lambda 関数を作成します。

aws lambda create-function \ --function-name E2A \ --runtime python3.9 \ --zip-file fileb://mdu.zip \ --handler extract_ebcdic_to_ascii.lambda_handler \ --role arn:aws:iam::$account:role/E2AConvLambdaRole \ --timeout 10 \ --environment "Variables={layout=$bucket/layout/}"
注記

 環境変数レイアウトは、JSON メタデータが存在する場所を Lambda 関数に指示します。

AWS 全般

Lambda 関数のリソースベースのポリシーを作成します。

CloudShell 作業フォルダから次のコマンドを実行して、Amazon S3 イベント通知が EBCDIC 変換のための Lambda 関数をトリガーできるようにします。

aws lambda add-permission \ --function-name E2A \ --action lambda:InvokeFunction \ --principal s3.amazonaws.com \ --source-arn arn:aws:s3:::$bucket \ --source-account $account \ --statement-id 1
AWS 全般
タスク説明必要なスキル

Amazon S3 イベント通知の設定ドキュメントを作成します。

Amazon S3 イベント通知は、ファイルが入力フォルダに配置されると EBCDIC 変換 Lambda 関数を開始します。

CloudShell 作業フォルダから、次のコマンドを実行して Amazon S3 イベント通知用の JSON ドキュメントを作成します。

{ "LambdaFunctionConfigurations": [ { "Id": "E2A", "LambdaFunctionArn": "arn:aws:lambda:%s:%s:function:E2A", "Events": [ "s3:ObjectCreated:Put" ], "Filter": { "Key": { "FilterRules": [ { "Name": "prefix", "Value": "input/" } ] } } } ] } EOF ) printf "$S3E2AEvent" "$region" "$account" > S3E2AEvent.json
AWS 全般

Amazon S3イベント通知を作成します。

CloudShell 作業フォルダから次のコマンドを実行して、Amazon S3 イベント通知を作成します。

aws s3api put-bucket-notification-configuration --bucket $bucket --notification-configuration file://S3E2AEvent.json
AWS 全般

Amazon S3イベント通知の作成

タスク説明必要なスキル

Amazon S3 イベント通知の設定ドキュメントを作成します。

Amazon S3 イベント通知は、ファイルが入力フォルダに配置されると EBCDIC 変換 Lambda 関数を開始します。

CloudShell 作業フォルダから、次のコマンドを実行して Amazon S3 イベント通知用の JSON ドキュメントを作成します。

{ "LambdaFunctionConfigurations": [ { "Id": "E2A", "LambdaFunctionArn": "arn:aws:lambda:%s:%s:function:E2A", "Events": [ "s3:ObjectCreated:Put" ], "Filter": { "Key": { "FilterRules": [ { "Name": "prefix", "Value": "input/" } ] } } } ] } EOF ) printf "$S3E2AEvent" "$region" "$account" > S3E2AEvent.json
AWS 全般

Amazon S3イベント通知を作成します。

CloudShell 作業フォルダから次のコマンドを実行して、Amazon S3 イベント通知を作成します。

aws s3api put-bucket-notification-configuration --bucket $bucket --notification-configuration file://S3E2AEvent.json
AWS 全般
タスク説明必要なスキル

COBOL コピーブックを解析します。

CloudShell 作業フォルダーから以下のコマンドを実行して、サンプル COBOL コピーブックを JSON ファイルに解析します (これにより、データファイルを正しく読み取り、スライスする方法が定義される)。

python3 mdu/parse_copybook_to_json.py \ -copybook mdu/LegacyReference/COBKS05.cpy \ -output CLIENT.json \ -output-s3key CLIENT.ASCII.txt \ -output-s3bkt $bucket \ -output-type s3 \ -print 25
AWS 全般

変換ルールを追加します。

サンプルデータファイルとそれに対応する COBOL コピーブックはマルチレイアウトファイルです。つまり、変換では特定のルールに基づいてデータをスライスする必要があります。この場合、各行の 3 番目と 4 番目にあるバイトがレイアウトを定義します。

CloudShell 作業フォルダからCLIENT.jsonファイルを編集し、内容を"transf-rule": [],から次のように変更します。

"transf-rule": [ { "offset": 4, "size": 2, "hex": "0002", "transf": "transf1" }, { "offset": 4, "size": 2, "hex": "0000", "transf": "transf2" } ],
AWS 全般、IBMメインフレーム、コボル

JSON メタデータを S3 バケットにアップロードします。

CloudShell 作業フォルダから次の AWS CLI コマンドを実行して JSON メタデータを S3 バケットにアップロードします。

aws s3 cp CLIENT.json s3://$bucket/layout/CLIENT.json
AWS 全般

JSON メタデータの作成とアップロード

タスク説明必要なスキル

COBOL コピーブックを解析します。

CloudShell 作業フォルダーから以下のコマンドを実行して、サンプル COBOL コピーブックを JSON ファイルに解析します (これにより、データファイルを正しく読み取り、スライスする方法が定義される)。

python3 mdu/parse_copybook_to_json.py \ -copybook mdu/LegacyReference/COBKS05.cpy \ -output CLIENT.json \ -output-s3key CLIENT.ASCII.txt \ -output-s3bkt $bucket \ -output-type s3 \ -print 25
AWS 全般

変換ルールを追加します。

サンプルデータファイルとそれに対応する COBOL コピーブックはマルチレイアウトファイルです。つまり、変換では特定のルールに基づいてデータをスライスする必要があります。この場合、各行の 3 番目と 4 番目にあるバイトがレイアウトを定義します。

CloudShell 作業フォルダからCLIENT.jsonファイルを編集し、内容を"transf-rule": [],から次のように変更します。

"transf-rule": [ { "offset": 4, "size": 2, "hex": "0002", "transf": "transf1" }, { "offset": 4, "size": 2, "hex": "0000", "transf": "transf2" } ],
AWS 全般、IBMメインフレーム、コボル

JSON メタデータを S3 バケットにアップロードします。

CloudShell 作業フォルダから次の AWS CLI コマンドを実行して JSON メタデータを S3 バケットにアップロードします。

aws s3 cp CLIENT.json s3://$bucket/layout/CLIENT.json
AWS 全般
タスク説明必要なスキル

EBCDIC ファイルを S3 バケットに送信します。

CloudShell 作業フォルダから次のコマンドを実行して EBCDIC ファイルを S3 バケットに送信します。

aws s3 cp mdu/sample-data/CLIENT.EBCDIC.txt s3://$bucket/input/
注記

 ASCII ファイルが S3 バケットにアップロードされたときに Lambda 変換関数が再度呼び出されないように、入力 (EBCDIC) ファイルと出力 (ASCII) ファイルに異なるフォルダを設定することをお勧めします。

AWS 全般

出力を確認してください。

CloudShell 作業フォルダから次のコマンドを実行して、ASCII ファイルが S3 バケットに生成されているかどうかを確認します。

awss3 ls s3://$bucket/
注記

 データ変換には数秒かかる場合があります。ASCII ファイルを確認することをお勧めします。

ASCII ファイルが使用可能になったら、次のコマンドを実行して S3 バケットから現在のフォルダーにファイルをダウンロードします。

aws s3 cp s3://$bucket/CLIENT.ASCII.txt .

ASCII ファイルの内容を確認します。

head CLIENT.ASCII.txt
AWS 全般

EBCDIC ファイルを変換してください。

タスク説明必要なスキル

EBCDIC ファイルを S3 バケットに送信します。

CloudShell 作業フォルダから次のコマンドを実行して EBCDIC ファイルを S3 バケットに送信します。

aws s3 cp mdu/sample-data/CLIENT.EBCDIC.txt s3://$bucket/input/
注記

 ASCII ファイルが S3 バケットにアップロードされたときに Lambda 変換関数が再度呼び出されないように、入力 (EBCDIC) ファイルと出力 (ASCII) ファイルに異なるフォルダを設定することをお勧めします。

AWS 全般

出力を確認してください。

CloudShell 作業フォルダから次のコマンドを実行して、ASCII ファイルが S3 バケットに生成されているかどうかを確認します。

awss3 ls s3://$bucket/
注記

 データ変換には数秒かかる場合があります。ASCII ファイルを確認することをお勧めします。

ASCII ファイルが使用可能になったら、次のコマンドを実行して S3 バケットから現在のフォルダーにファイルをダウンロードします。

aws s3 cp s3://$bucket/CLIENT.ASCII.txt .

ASCII ファイルの内容を確認します。

head CLIENT.ASCII.txt
AWS 全般
タスク説明必要なスキル

(オプション) 変数とフォルダを準備します。

CloudShell との接続が失われた場合は、再接続してから次のコマンドを実行して、ディレクトリを作業フォルダーに変更します。

cd workdir

環境変数が定義されていることを確認します。

bucket=<your_bucket_name> account=<your_account_number> region=<your_region_code>
AWS 全般

バケットの通知設定を削除します。

CloudShell 作業フォルダから次のコマンドを実行して、Amazon S3 イベント通知設定を削除します。

aws s3api put-bucket-notification-configuration \ --bucket=$bucket \ --notification-configuration="{}"
AWS 全般

Lambda 関数を削除する

CloudShell 作業フォルダから次のコマンドを実行して、EBCDIC コンバーターの Lambda 関数を削除します。

awslambdadelete-function--function-nameE2A
AWS 全般

IAM ポリシーと IAM ロールを削除します。

CloudShell 作業フォルダから次のコマンドを実行して、EBCDIC コンバータロールとポリシーを削除します。

aws iam delete-role-policy --role-name E2AConvLambdaRole --policy-name E2AConvLambdaPolicy aws iam delete-role --role-name E2AConvLambdaRole
AWS 全般

S3 バケットで生成されたファイルを削除します。

CloudShell 作業フォルダから次のコマンドを実行して、S3 バケットで生成されたファイルを削除します。

aws s3 rm s3://$bucket/layout --recursive aws s3 rm s3://$bucket/input --recursive aws s3 rm s3://$bucket/CLIENT.ASCII.txt
AWS 全般

作業フォルダを削除します。

CloudShell 作業フォルダから次のコマンドを実行して、workdirとその内容を削除します。

cd ..; rm -Rf workdir
AWS 全般

環境をクリーンアップする

タスク説明必要なスキル

(オプション) 変数とフォルダを準備します。

CloudShell との接続が失われた場合は、再接続してから次のコマンドを実行して、ディレクトリを作業フォルダーに変更します。

cd workdir

環境変数が定義されていることを確認します。

bucket=<your_bucket_name> account=<your_account_number> region=<your_region_code>
AWS 全般

バケットの通知設定を削除します。

CloudShell 作業フォルダから次のコマンドを実行して、Amazon S3 イベント通知設定を削除します。

aws s3api put-bucket-notification-configuration \ --bucket=$bucket \ --notification-configuration="{}"
AWS 全般

Lambda 関数を削除する

CloudShell 作業フォルダから次のコマンドを実行して、EBCDIC コンバーターの Lambda 関数を削除します。

awslambdadelete-function--function-nameE2A
AWS 全般

IAM ポリシーと IAM ロールを削除します。

CloudShell 作業フォルダから次のコマンドを実行して、EBCDIC コンバータロールとポリシーを削除します。

aws iam delete-role-policy --role-name E2AConvLambdaRole --policy-name E2AConvLambdaPolicy aws iam delete-role --role-name E2AConvLambdaRole
AWS 全般

S3 バケットで生成されたファイルを削除します。

CloudShell 作業フォルダから次のコマンドを実行して、S3 バケットで生成されたファイルを削除します。

aws s3 rm s3://$bucket/layout --recursive aws s3 rm s3://$bucket/input --recursive aws s3 rm s3://$bucket/CLIENT.ASCII.txt
AWS 全般

作業フォルダを削除します。

CloudShell 作業フォルダから次のコマンドを実行して、workdirとその内容を削除します。

cd ..; rm -Rf workdir
AWS 全般

関連リソース

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.