ablog

不器用で落着きのない技術者のメモ

bucket の検索結果:

S3 にある CSV を DynamoDB にインポートする Python スクリプト

AWS

…sh export bucket=aws-s3-bucket export key=test/test_table.csv export table=testTable python ./ddb_csv_importer.py ddb_csv_importer.py #!/usr/bin/env python3 # -*- coding: utf-8 -*- import boto3 import os import csv import codecs s3 = boto3.…

Glue local library は Glue 1.0 と 2.0 の両方の開発に使える

AWS

…Amazon S3 bucket, and can be consumed by the Apache Maven build system. This enables you to develop and test your Python and Scala extract, transform, and load (ETL) scripts locally, without the need for a network connection.Local developme…

VPCE ポリシーで AWS アカウントID単位で S3 へのアクセスを制限する

AWS

…ess to S3 buckets that are owned by specified AWS Accounts. Additionally, since this new condition key filters access by AWS Account ID instead of by bucket or resource name, you can be certain that policies will be predictably applied into…

NLB のアクセスログ出力先に既存 S3 バケットを指定すると "Access Denied for bucket: ... Please " と怒られる

AWS

…enied for bucket: <S3バケット名>. Please check S3bucket permission nlb 原因 サービスアカウントからS3バケットへの書込み権限がないため。 解決策 S3 のバケットポリシーで以下のようにサービスアカウントからのアクセスを許可する。 { "Version": "2012-10-17", "Id": "AWSConsole-AccessLogs-Policy-1601391827684", "Statement": [ …

QuickSight で S3 のデータを参照しようとすると「マニフェストファイルを有効な JSON として解析することはできません。」と怒られる

AWS

…to the S3 bucket" のようなエラーが表示されます。マニフェストファイルを確認するには マニフェストファイルを開きます。これは、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) で行うことができます。マニフェストファイルに移動し、[Open] を選択します。 マニフェストファイル内で指定されている URI または URL が、接続先のファイルを示していることを確認します。 ;ファイルをアップロードするのでは…

Amazon QuickSight で S3 のデータを可視化

AWS

…uicksight-bucket/japan-address/zenkoku-utf8.csv", ] } ], "globalUploadSettings": { "format": "CSV", "textqualifier": "\"", "delimiter": "," } } S3 バケットとフォルダを作成する。 バケット: quicksight-bucket フォルダ: japan-address マニフェストファイルとデータを S3 にアップロードする。 Qui…

Aurora Postgres->KDS->KFH->S3 に出力したログを復号して CSV に変換する Python スクリプト

AWS

…udo yum -y install python-devel Python のモジュールをインストール pip install boto3 pip install aws-encryption-sdk pip install pycrypto pip install dataclasses pip install jq 参考 Boto3でS3のリスト出力をするときは、list_objects_v2ではなくBucket().objects.filterを使おう - Qiita

Glue でクロールすると "Service: Amazon S3; Status Code: 403 Error Code AccessDenied" と怒られる

AWS

…//landing-bucket/raw/master.tsv. Tables created did not infer schemas from this file. 原因 他のAWSアカウントからS3にアップロードされた後、bucket-owner-full-control が付与されていなかったため。 解決策 ACL で bucket-owner-full-control を付与する。 $ aws s3api put-object-acl --bucket landi…

Amazon QuickSight から Athena にクエリすると "Access Denied"

AWS

…5A; S3 Extended Request ID: 原因 Amazon QuickSight で該当のS3バケットに権限付与されていない。 解決策 [Manage QuickSight]-[Security & permissions] の Amazon S3 と Amazon Athena で、[Select Amazon S3 buckets] で該当バケットにチェックを入れる。 参考 Amazon Athena に接続できない - Amazon QuickSight

S3 Object Lock をバケット作成後に有効化する

AWS

新しいバケットに対してのみ オブジェクトロック を有効にすることができます。既存のバケットの オブジェクトロック をオンにする場合は、AWS サポートにお問い合わせください。 S3 オブジェクトロック の概要 - Amazon Simple Storage Service 関連 S3 Object Lock について - ablog

Amazon S3 のプレフィックスはオブジェクトか?

AWS

…u-jp make_bucket: ponkotsu-jp $ aws s3api put-object --bucket ponkotsu-jp --key 2017/ ★ 2017 はプレフィックスだけ先に作成 { "ETag": "\"d41d8cd98f00b204e9800998ecf8427e\"" } $ aws s3 cp origin.dat s3://ponkotsu-jp/2017/AZ upload: ./origin.dat to s3://ponk…

AttributeError: 'str' object has no attribute 'read'

…ent('s3') bucket = s3r.Bucket(s3_bucket_name) for obj in bucket.objects.filter(Prefix=s3_prefix): if not obj.key.endswith('/'): path = obj.key filename = os.path.basename(obj.key) local_path = '/tmp/' + filename s3r.Bucket(s3_bucket_name).d…

Aurora PostgreSQL 互換のアクティビティストリームを Lambda でデコードする

AWS

…-object --bucket ianmckay-ap-northeast-1 --key activitystream/activity_handler.zip activity_handler.zip { "AcceptRanges": "bytes", "ContentType": "application/zip", "LastModified": "Wed, 05 Jun 2019 07:30:37 GMT", "ContentLength": 12253393,…

Step Functions で Glueジョブの成功/失敗を判定する

AWS

…cret", "--bucket": "stepfunctionredshift-scriptbucket-13...", "--file": "sql/etl.sql" } }, "Next": "ReportJob", "Catch": [ { "ErrorEquals": ["States.TaskFailed"], "Next": "NotifyFailure", "ResultPath": "$.cause" } ] }, "ReportJob": { "Type"…

S3 の VPC エンドポイントポリシーに必要な arn

AWS

…ort-layer-bucket/* RDS RDS Oracle でファイルをアップロード・ダウンロードするS3バケット 参考 Amazon S3 ゲートウェイエンドポイントは IAM ポリシードキュメントを使用してサービスへのアクセスを制限します。​Amazon ECR で必要な最小限の Amazon S3 バケットアクセス許可のみを許可するには、エンドポイントの IAM ポリシードキュメントを作成するときに Amazon ECR が使用する Amazon S3 バケット…

Organization 配下のアカウントの S3 バケットのみにアクセス許可する VPC エンドポイントポリシー

AWS

…listed S3 buckets by IAM users and roles within the same AWS Organization, using aws:PrincipalOrgId global IAM condition key. Resources: PrivateSubnetS3Endpoint: Type: AWS::EC2::VPCEndpoint Properties: VpcId: !Ref Vpc ServiceName: !Sub "com…

VPC エンドポイント以外からの読み書きを禁止するS3バケットポリシー

AWS

…, "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::test-bucket-20200129", "arn:aws:s3:::test-bucket-20200129/*" ], "Condition": { "StringNotEquals": { "aws:sourceVpce": "vpce-0a******fa" } } } ] }

PySpark on Glue で S3 上のファイル名をリネームする

AWS

…('raw_log_bucket')), glueContext._jsc.hadoopConfiguration()) fs.rename( Path("s3://raw_log_bucket/log_20200122"), Path("s3://raw_log_bucket/log_20200122_renamed") ) パスを取得して変更する例、ファイルが複数あるケースには対応していない。 import boto3 df_sql_result.coalesce(1).…

Python Shell から Secrets Manager へのアクセスで "Connection to secretsmanager ... timed out" と怒られる

AWS

…b_creds','bucket','file']) db = args['db'] db_creds = args['db_creds'] bucket = args['bucket'] file = args['file'] #get sql statements s3 = boto3.client('s3') sqls = s3.get_object(Bucket=bucket, Key=file)['Body'].read().decode('utf-8') sqls…

Spark UI で Glue ジョブの結果を確認する手順

…a://[YOUR BUCKET NAME]/eventlog 任意のS3バケットを指定(Glueと同じリージョンにする) SparkPackageLocation:デフォルト値 KeystorePath:何も入力しない KeystorePassword:任意の値(英数字だけだと成功した) InstanceType:r5.4xlarge LastAmiId:デフォルト値 VpcId:任意のVPC SubnetId:上記VpcIdが所属するSubnet CloudFormati…

PySpark でデータを増幅する

…sv("s3://<bucket name>/ssbgz/lineorder_partitioned/", compression="gzip") Spark on EMR import sys from pyspark.context import SparkContext from pyspark.sql import SQLContext from pyspark.sql import SparkSession from pyspark.sql.functions im…

S3 で特定のプリフィックス以下のオブジェクトの過去バージョンを削除する

AWS

…バケット test-bucket の test/ 以下のオブジェクトの過去バージョンを削除するケース。UTC 0:00 になると削除される。 lifecycle.json を作成する { "Rules": [ { "Status": "Enabled", "Prefix": "test/", // 対象のプリフィックスを指定する "NoncurrentVersionExpiration": { "NoncurrentDays": 1 // 1日以上経過した過去バージョンを削除…

S3 オブジェクトの過去バージョンを一括削除する

AWS

…ersions --bucket test-bucket|jq -r '.Versions[]|select(.IsLatest==false)|@text "\(.Key) \(.VersionId)"' test.txt SFDNnzR6u1gfaeSV6ObrLubM.BoG5SiM test.txt kUD7TJofypM6OCKj6kKPLrsWQC3f6gCm test.txt ypCUBbPprcBd4mEOpjSr3FqFsfSjNetN test.txt l…

CLoudWatch Logs のロググループを S3 にエクスポートする

AWS

…": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::exp-cloudwatchlogs" }, { "Effect": "Allow", "Principal": { "Service": "logs.ap-northeast-1.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::exp-cloudwatchlogs/*", "Conditi…

クロスアカウントS3バケット間コピー時にコピー元の CloudTrail に記録されるログ

AWS

…ters": { "bucketName": "test-cp-src", "Host": "test-cp-src.s3.ap-northeast-1.amazonaws.com", "key": "1tb.dat" }, "responseElements": null, "additionalEventData": { "SignatureVersion": "SigV4", "CipherSuite": "ECDHE-RSA-AES128-GCM-SHA256", "…

Athena で CloudTrail から S3 イベントを集計する

AWS

…24569 HeadBucket 11849 CopyObject 2492 CreateMultipartUpload 1903 CompleteMultipartUpload 1870 DeleteObject 1855 GetBucketPublicAccessBlock 207 GetBucketAcl 204 ListBuckets 200 UploadPart 198 GetAccountPublicAccessBlock 194 GetBucketPolicyS…

Amazon Redshift の監査ログの種類

AWS

…ift-trail-bucket|perl -F/ -lane 'if(/AWSLogs\//){@array=split(q/_/,$F[$#F]);print $array[4]}'|sort|uniq -c 279 connectionlog 308 useractivitylog 1 userlog 参考 Amazon Redshift 監査ログ作成のバケットの構造 デフォルトでは、Amazon Redshift は Amazon S3 バケット内のログファイルの整理…

S3 のアクセスログのオペレーションを集計する

AWS

… REST.GET.BUCKET 178 REST.GET.BUCKETPOLICY 1 REST.GET.BUCKETVERSIONS 146 REST.GET.CORS 104 REST.GET.ENCRYPTION 145 REST.GET.LIFECYCLE 144 REST.GET.LOCATION 147 REST.GET.LOGGING_STATUS 145 REST.GET.NOTIFICATION 138823 REST.GET.OBJECT 145 RES…

特定のVPC EndpointからのみPut/Get/Deleteを許可するS3バケットポリシー

AWS

…:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::s3-bucket-name", "arn:aws:s3:::s3-bucket-name/*" ], "Condition": { "StringNotEquals": { "aws:sourceVpce": [ "vpce-*********************", "vpce-*********************" ] } } } ] }

RDS Oracle で DataPump のダンプファイルをS3にアップロードする

…_to_s3( p_bucket_name => 'mys3bucket', p_prefix => '', p_s3_prefix => '', p_directory_name => 'DATA_PUMP_DIR') AS TASK_ID FROM DUAL; 参考 Amazon S3 Integration - Amazon Relational Database Service Amazon RDS for OracleでS3と直接ファイルをやり取り可能になりました …