위 레퍼런스는 aws console 즉 AWS에서 제공하는 GUI 를 사용해서
AWS S3 -> Glacier로 백업한다.
나는 프로그래밍 방법을 통해 코드로 위 작업을 수행해야한다.
프로그래밍을 하기 전에 일단은 구체적으로 어떻게 백업하는지는 알아야 된다.
S3를 이전에 써본적은 있다. AWS Console을 이용해서.. 그런데? Object를 glacier로 백업하는건가? 구체적으로 어떻게?의 인사이트를 얻어보자.
glacier로 백업할 bucket을 선택 후 properties 선택
lifecycle 선택후, add rule 버튼 클릭
Rule target 지정 최소단위는 bucket, bucket내 folder 별도로도 지정 가능하네요.
두 번째 레퍼런스
https://www.cloudberrylab.com/resources/blog/amazon-s3-lifecycle-rules-upload-to-glacier/
요약 : s3 lifecycle을 이용해서
바로 s3 glacier로 보내는 것이 아니라 s3 lifecycle을 이용해서 s3 glacier로 보내기
무엇때문에? s3 glacier는 인벤토리를 만드는 작업만 3~5시간 걸린다.
위와 같이 하면 s3에 storage가 올라가자마자 s3 glaicer에 inventory가 생성된다.
출처: Code examples - variable Typescript 매개 변수 이름에서 물음표는 무엇입니까
optional type이라고 하네요.
문제상황
인자로 들어올 값이 올지 안올지 몰라요..
그런데 우리는 typescript를 쓸때 인자에 데이터 틀 타입을 써줘야하거든요.
이럴때 lastName이 들어올수도 있고, 안 들어올 수도 있어요.
이럴때!!
변수?: typename
이렇게 쓰면 됩니다.
?를 안쓰면 buildName내부에서 lastName이 없을시에 undefined로 에러가 납니다.
그래서 buildName함수 내부에서 lastName을 갖고 로직을 구현할때 필수적으로 ?를 붙여야 합니다.
function buildName(firstName: string, lastName?: string) {
if (lastName)
return firstName + " " + lastName;
else
return firstName;
}
let result1 = buildName("Bob"); // works correctly now
let result2 = buildName("Bob", "Adams", "Sr."); // error, too many parameters
let result3 = buildName("Bob", "Adams"); // ah, just right