ボーっとしたい

ボーっとするためにメモします。

Glue Crawlerを使う時の注意点

csvをGlue Crawlerでクロールして、データカタログを作成するとき注意点の csvファイル側の制約(と思われるもの)

csvファイルの制約

  • 大文字列名は小文字列名に変換される
  • 日本語列名に対応している
  • UTF-8のみ扱える。
  • ヘッダーの自動読み取りでデータの行が全てStringの場合はヘッダーを認識できない。 docs.aws.amazon.com

ヘッダー行は、データ行と十分に異なっている必要があります。これを判断するには、1 つ以上の行が STRING 型以外として解析されることを確認します。すべての列が STRING 型である場合、最初のデータ行は以降の行と十分に異なっていないため、ヘッダーとして使用できません。

あるある

  • 別のCrawler作成時に新規作成したIAMロールを使い回す("既存のIAMロールを選択")と、失敗する。IAMロール作成時にS3パスの制約が入っていることが原因。"IAMロールのポリシーの更新"を選択して、S3の読み取りアクセス許可を追加するか、別途IAMロールを作成する必要がある。

csvファイルにダブルクオートが入っている場合の対処法

dev.classmethod.jp

cdk bootstrap実行時の Unable to resolve AWS account to use エラー

CDKの勉強のため、こちらのワークショップを実施中

cdkworkshop.com

エラー

cdk bootstrap実行時に以下のエラーが発生

Unable to resolve AWS account to use. It must be either configured when you define your CDK or through the environment

ネットで検索したところ、.aws/configのdefaultプロファイルを消せとか出てきて、やってみたけど、うまくいかなかった。

原因

  • ~/.aws/configにて、credential_processを使ってsts assumeを取得していたことが原因のようだった。

解決方法

  • AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SECRET_ACCESS_KEYを直にexportして再度実行したところ、うまくいった。
aws sts assume-role --role-arn "arn:aws:iam::123456789012:role/example-role" --role-session-name AWSCLI-Session

role-arnとrole-session-nameを指定して、実行するとACCESS_KEY_IDなどが取得できるので、それらをexportする

export AWS_ACCESS_KEY_ID=ASIAXXXXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=yyyyyyyyyyyyyyyyyyyyyy
export AWS_SESSION_TOKEN=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz(長い)

これでcdk bootstrap実行したところ、エラー解消。