AWS26 Presigned Url을 이용하여 외부에서 S3에 접근 S3에 파일을 업로드/다운로드 하기 위한 방법으로는 여러가지가 있다. 그 중에서도 Presigned Url(미리 서명된 URL)을 사용하면, S3버킷이 있는 계정의 IAM User/Role정보를 갖고 있지 않아도 버킷에 접근하도록 할 수 있다. 아래는 AWS 공식문서의 설명이다. 모든 객체 및 버킷은 기본적으로 프라이빗입니다. 그러나 미리 서명된 URL을 사용하여 선택적으로 객체를 공유하거나 고객/사용자가 AWS 보안 자격 증명이나 권한 없이 버킷에 객체를 업로드하는 것을 허용할 수 있습니다. 미리 서명된 URL을 사용하면 Amazon S3 버킷에 액세스하는 데 사용할 수 있는 URL을 생성할 수 있습니다. 미리 서명된 URL을 생성하면 특정 작업과 연결됩니다. URL을 공유할 수 있으며 URL에 액세스.. 2022. 12. 18. AWS Lambda에서 파이썬 모듈 추가하기 Python과 NodeJS의 경우에는 AWS Lambda 콘솔에서 코드를 작성하고 편집 할 수 있다. 콘솔에서 작성한 파이썬 코드를 배포하고 실행하다 보면, 아래와 같은 에러가 발생할 때가 있다. [ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named 'requests’ 이런 에러가 발생한 원인은 코드를 실행할 때 필요한 모듈이 없기 때문이다, 해결방법 필요한 모듈을 로컬에서 특정 디렉토리 위치에 설치해준다. #디렉토리 생성 및 이동 mkdir python cd python/ #모듈 설치 $ pip install requests -t . # 디렉토리 압축, 명령어로 해도 되고 직접 마우스로 해.. 2022. 12. 11. Kinesis Firehose Dynamic partitioning 설정 Kinesis Data Streams를 이용하면서, 다른 AWS 서비스에 DataStreams에 write된 데이터를 전달하는 경우에 Kinesis Firehose (Delivery Stream)을 사용한다. 내 경우에는 AWS S3로 데이터를 전달하는 용도로 사용하는데, Firehose는 UTC의 타임존을 기준으로 S3 경로를 설정하기 때문에 실제 데이터에 기록되는 KST기준의 시간과 디렉토리의 경로 명이 맞지 않는 문제가 발생했다. 그래서 방법을 찾아본 결과, Firehose의 타임존을 설정으로 변경할 수는 없다. 하지만, Dynamic partitioning을 사용해서 S3 Prefix를 커스터마이징 할 수 있다. 타임존을 변경하는것 외에도 시간이 아닌 다른 key를 설정 할 수도 있고, 데이터를 .. 2022. 12. 4. AWS Athena를 사용해서 S3의 데이터에 쿼리 쓰기 S3에 저장되어 있는 데이터들을 조회할 때, AWS의 Athena 서비스를 이용하면 S3의 파일들을 다운받거나 불러오지 않더라도 표준 SQL을 사용해서 쿼리로 편하게 데이터를 조회할 수 있다. Amazon Athena란 무엇인가요? (AWS 문서 설명: https://docs.aws.amazon.com/ko_kr/athena/latest/ug/what-is.html) Amazon Athena는 표준 SQL을 사용하여 Amazon S3(Amazon Simple Storage Service)에 있는 데이터를 직접 간편하게 분석할 수 있는 대화형 쿼리 서비스입니다. AWS Management Console에서 몇 가지 작업을 수행하면 Athena에서 Amazon S3에 저장된 데이터를 지정하고 표준 SQL을 .. 2022. 11. 20. 이전 1 2 3 4 5 ··· 7 다음