브라우저용 SDK 빌드 - AWS SDK for JavaScript

곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다. AWS SDK for JavaScript v3로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

브라우저용 SDK 빌드

SDK for JavaScript는 기본 서비스 집합에 대한 지원이 포함된 JavaScript 파일로 제공됩니다. 이 파일은 일반적으로 호스팅된 SDK 패키지를 참조하는 <script> 태그를 사용하여 브라우저 스크립트에 로드됩니다. 그러나 기본 집합 이외의 서비스에 대한 지원이 필요하거나 SDK를 사용자 지정해야 할 수 있습니다.

브라우저에서 CORS를 적용하는 환경 외부에서 SDK를 사용하며 SDK for JavaScript에서 제공하는 모든 서비스에 액세스하려는 경우 리포지토리를 복제하고 기본 호스팅 버전의 SDK를 빌드하는 동일한 빌드 도구를 실행하여 SDK의 사용자 지정 사본을 로컬에서 빌드할 수 있습니다. 다음 섹션에서는 추가 서비스 및 API 버전으로 SDK를 빌드하는 단계를 설명합니다.

SDK 빌더를 사용하여 SDK for JavaScript 빌드

AWS SDK for JavaScript의 자체 빌드를 생성하는 가장 쉬운 방법은 https://sdk.amazonaws.com/builder/js에서 SDK 빌더 웹 애플리케이션을 사용하는 것입니다. SDK 빌더를 사용하여 빌드에 포함시킬 서비스 및 서비스의 API 버전을 지정합니다.

서비스를 추가하거나 제거할 수 있는 시작 지점으로 Select all services(모든 서비스 선택)를 선택하거나 Select default services(기본 서비스 선택)를 선택합니다. Development(개발)를 선택하여 더 읽기 쉬운 코드를 만들거나 Minified(축소)를 선택하여 축소판 빌드를 만들어 배포합니다. 포함시킬 서비스와 버전을 선택한 후 Build(빌드)를 선택하여 사용자 지정 SDK를 빌드하고 다운로드합니다.

SDK 빌더를 사용하여 SDK for JavaScript 빌드

AWS CLI로 SDK for JavaScript를 빌드하려면 먼저 SDK 소스가 포함된 Git 리포지토리를 복제해야 합니다. 컴퓨터에 Git 및 Node.js가 설치되어 있어야 합니다.

먼저 GitHub에서 리포지토리를 복제하고 디렉터리를 다음 디렉터리로 변경합니다.

git clone https://github.com/aws/aws-sdk-js.git cd aws-sdk-js

리포지토리를 복제한 후 SDK와 빌드 도구의 종속성 모듈을 다운로드합니다.

npm install

이제 SDK의 패키지 버전을 빌드할 수 있습니다.

명령줄에서 빌드

빌더 도구는 dist-tools/browser-builder.js에 있습니다. 다음을 입력하여 이 스크립트를 실행합니다.

node dist-tools/browser-builder.js > aws-sdk.js

이 명령은 aws-sdk.js 파일을 빌드합니다. 이 파일은 압축되어 있지 않습니다. 기본적으로 이 패키지에는 표준 서비스 집합만 포함되어 있습니다.

빌드 출력 축소

네트워크에서 데이터의 양을 줄이기 위해 축소라는 프로세스를 통해 JavaScript 파일을 압축할 수 있습니다. 축소는 사용자가 읽기 쉽도록 코드 실행에 영향을 주지 않는 설명, 불필요한 공백 및 기타 문자를 제거합니다. 빌더 도구로 압축되지 않았거나 축소된 출력을 생성할 수 있습니다. 빌드 출력을 축소하려면 MINIFY 환경 변수를 설정합니다.

MINIFY=1 node dist-tools/browser-builder.js > aws-sdk.js

특정 서비스 및 API 버전 빌드

SDK에 빌드할 서비스를 선택할 수 있습니다. 서비스를 선택하려면 쉼표로 구분되는 서비스 이름을 파라미터로 지정합니다. 예를 들어 Amazon S3 및 Amazon EC2만 빌드하려면 다음 명령을 사용합니다.

node dist-tools/browser-builder.js s3,ec2 > aws-sdk-s3-ec2.js

서비스 이름 뒤에 버전 이름을 추가하여 서비스 빌드의 특정 API 버전을 선택할 수도 있습니다. 예를 들어 Amazon DynamoDB의 API 버전을 모두 빌드하려면 다음 명령을 사용합니다.

node dist-tools/browser-builder.js dynamodb-2011-12-05,dynamodb-2012-08-10

서비스 식별자와 API 버전은 https://github.com/aws/aws-sdk-js/tree/master/apis의 서비스별 구성 파일에서 확인할 수 있습니다.

모든 서비스 빌드

all 파라미터를 포함시켜 모든 서비스와 API 버전을 빌드할 수 있습니다.

node dist-tools/browser-builder.js all > aws-sdk-full.js

특정 서비스 빌드

빌드에 포함된 선택한 서비스 집합을 사용자 지정하려면 원하는 서비스 목록이 포함된 Browserify 명령에 AWS_SERVICES 환경 변수를 전달합니다. 다음 예제로 Amazon EC2, Amazon S3 및 DynamoDB 서비스를 빌드합니다.

$ AWS_SERVICES=ec2,s3,dynamodb browserify index.js > browser-app.js

Browserify를 사용하여 SDK를 종속성으로 빌드

Node.js에는 타사 개발자의 코드와 기능을 포함시키기 위한 모듈 기반 메커니즘이 있습니다. 이 모듈식 접근 방식은 웹 브라우저에서 실행되는 JavaScript에서 기본 지원되지 않습니다. 그러나 Browserify라는 도구를 통해 Node.js 모듈 접근 방식을 사용하고 브라우저에서 Node.js용으로 작성된 모듈을 사용할 수 있습니다. Browserify는 브라우저 스크립트의 모듈 종속성을 브라우저에서 사용할 수 있는 단일의 독립형 JavaScript 파일에 빌드합니다.

Browserify를 사용하여 SDK를 모든 브라우저 스크립트의 라이브러리 종속성으로 빌드할 수 있습니다. 예를 들어 다음과 같은 Node.js 함수 코드에 SDK가 필요합니다.

var AWS = require('aws-sdk'); var s3 = new AWS.S3(); s3.listBuckets(function(err, data) { console.log(err, data); });

이 예제 코드는 Browserify를 사용하여 브라우저와 호환되는 버전으로 컴파일할 수 있습니다.

$ browserify index.js > browser-app.js

그러면 SDK 종속성을 포함하여 애플리케이션을 browser-app.js를 통해 브라우저에서 사용할 수 있게 됩니다.

Browserify에 대한 자세한 내용은 Browserify 웹 사이트를 참조하세요.