2012-01-18 5 views
13

Amazon S3에 임의의 이름으로 사용자 정의 헤더를 사용할 수 있습니까?Amazon S3의 사용자 정의 헤더

예를 들어 Amazon S3를 가리키는 CDN을 원 서버로 사용하고 있으며 CDN에서 고급 기능을 사용하려면 사용자 정의 헤더 "x-something-something"을 사용해야합니다.

"x-amz-meta- (무언가)"로 할 수는 있지만 "x- (무언가) - (무언가)"와 같이 더 일반적일까요?

Amazon S3 custom headers

+0

접두어를 붙인 방식으로 수행 할 수없는 작업은 무엇입니까? – Kekoa

답변

11

나는 그들의 current API 가능합니다 생각하지 않습니다. 캐싱 및 브라우저 상호 운용성에 필요한 주요 헤더를 포함합니다.

x-amz-meta- 접두어가 붙은 사용자 정의 헤더 만 허용한다고 생각합니다. 앞으로 사용자가 선택한 헤더를 사용하여 충돌을 막을 수 있습니다.

개체에 사용자 지정 특성이 필요하면 클라이언트 응용 프로그램에서 x-amz-meta-을 구문 분석하면됩니다. 단지 S3와

당신 그렇지 않으면 .. 할 일 :

+5

"사소한"당신이 클라이언트 응용 프로그램을 제어하는 ​​경우 ...하지만 그것은 제 3자인 경우, 그렇게 사소한 아니에요! – Jeff

+1

@ Jeff AWS에 직접 액세스하지 않으면 사용중인 모든 것의 한계에 귀 기울이는 것 같습니다. – Kekoa

+0

감사합니다. 왜 내 머리글을 맞춤 설정할 수 없었는지 궁금합니다. 'x-amz-meta-'접두사는 실제로 그것을했다. (사실 아마존에 의해 잘 문서화되지 않았다.) – Frederic

5

이 아름다운 기사는 모든 https://medium.com/@tom.cook/edge-lambda-cloudfront-custom-headers-3d134a2c18a2

tldr을 설명합니다. Lambda @ Edge을 통해 Cloudfront 및 lambda를 사용해야합니다. 그것은 Lambda와 CloudFront 간의 통합입니다. 그것은 당신이 CloudFront 내에서 Lambdas를 돌릴 수있게합니다. 이렇게하면 다른 것들 사이에서 헤더를 변경할 수 있습니다. 따라서 CloudFront를 통해 s3에 액세스해도 괜찮 으면이 옵션을 사용할 수 있습니다.

0

s3cmd tool을 사용하여이 작업을 수행 할 수있었습니다. appropriatedirectory

CD/

# : 나는 AWS 클라이언트 도구에 --cache-control 매개 변수를 사용하여 내 정적 사이트를 동기화 한 후 수동으로 재설정하고 몇 가지 특정 파일에 대한 몇 가지 다른 헤더를 추가하는 동기화 스크립트를 썼다 현재 사이트를 삭제
AWS S3 RM S3 : // yourbucket --recursive 모든 파일 1 개월
AWS S3 동기화를 캐시 헤더를 설정 --exclude '로그/*'

# 업로드 새 사이트. s3 : // yourbucket --exclude '.idea/*'--exclude '.git/*'--exclude '.gitignore'--cache-control max-age = 2592000

#에 대한 캐시 헤더를 재정의합니다. 일부 파일
python/pathToS3cmd/s3cmd 수정 --add-header = "캐시 제어 : no-cache, no-store, re-revalidate"s3 : //yourbucket/somefile.html
python/pathToS3cmd/s3cmd/s3cmd 수정 - add-header = "만료 : 0"s3 : //yourbucket/somefile.html
python/pathToS3cmd/s3cmd/s3cmd 수정 --add-header = "Pragma : no-cache"s3 : // yourbucket /somefile.html

+0

로그, IntelliJ 및 Git 파일을 무시하기위한 방법이있다. 실용적인 동기화 스크립트의 유용한 예제로 남겨 두었습니다. –

관련 문제