

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS SAM 템플릿 메타데이터 섹션 속성
<a name="serverless-sam-template-publishing-applications-metadata-properties"></a>

`AWS::ServerlessRepo::Application`은 귀하가 AWS Serverless Application Repository에 게시하려는 애플리케이션 정보를 지정하는 데 사용할 수 있는 메타데이터 키입니다.

**참고**  
CloudFormation [내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html)는 `AWS::ServerlessRepo::Application` 메타데이터 키에서 지원되지 않습니다.

## 속성
<a name="serverless-sam-template-publishing-applications-metadata-properties-table"></a>

이 표는 AWS SAM 템플릿 `Metadata` 섹션의 속성에 대한 정보를 제공합니다. 이 섹션은를 AWS Serverless Application Repository 사용하여에 애플리케이션을 게시하는 데 필요합니다 AWS SAM CLI.


****  

| 속성 | Type | 필수 | 설명 | 
| --- | --- | --- | --- | 
| Name | 문자열 | TRUE | 애플리케이션의 이름입니다.<br />최소 길이: 1. 최대 길이: 140.<br />패턴: `"[a-zA-Z0-9\\-]+";` | 
| Description | 문자열 | TRUE | 애플리케이션에 대한 설명입니다.<br />최소 길이: 1. 최대 길이: 256. | 
| Author | 문자열 | TRUE | 애플리케이션을 게시하는 작성자의 이름입니다.<br />최소 길이: 1. 최대 길이: 127.<br />패턴: `"^[a-z0-9](([a-z0-9]\|-(?!-))*[a-z0-9])?$";` | 
| SpdxLicenseId | 문자열 | FALSE | 유효한 라이선스 식별자. 유효한 라이선스 식별자 목록을 보려면 소프트웨어 패키지 데이터 교환(SPDX) 웹사이트의 [SPDX 라이선스 목록](https://spdx.org/licenses/)을 잠조하세요. | 
| LicenseUrl | 문자열 | FALSE | 애플리케이션의 SPDXLicenseID 값과 일치하는 로컬 라이선스 파일에 대한 참조 또는 Amazon S3 라이선스 파일에 대한 링크입니다.<br />`sam package` 명령을 사용하여 패키징되지 않은 AWS SAM 템플릿 파일에는이 속성의 로컬 파일에 대한 참조가 있을 수 있습니다. 하지만 `sam publish` 명령을 사용하여 애플리케이션을 게시하려면 이 속성이 Amazon S3 버킷에 대한 참조여야 합니다.<br />최대 크기 = 5 MB<br />애플리케이션을 공개로 설정하려면 이 속성의 값을 지정해야 합니다. 단, 애플리케이션이 게시된 후에는 이 속성을 업데이트할 수 없습니다. 따라서 애플리케이션에 라이선스를 추가하려면 먼저 애플리케이션을 삭제하거나 다른 이름으로 새 애플리케이션을 게시해야 합니다. | 
| ReadmeUrl | 문자열 | FALSE | 로컬 readme 파일에 대한 참조 또는 Readme 파일에 대한 Amazon S3 링크입니다. 이 링크에는 애플리케이션 및 작동 방식에 대한 자세한 설명이 들어 있습니다.<br />`sam package` 명령을 사용하여 패키징되지 않은 AWS SAM 템플릿 파일에는이 속성의 로컬 파일에 대한 참조가 있을 수 있습니다. 하지만 `sam publish` 명령을 사용하여 게시하려면 이 속성이 Amazon S3 버킷에 대한 참조여야 합니다.<br />최대 크기 = 5 MB | 
| Labels | 문자열 | FALSE | 검색 결과에서 애플리케이션의 검색을 향상시키는 레이블입니다.<br />최소 길이: 1. 최대 길이: 127. 최대 레이블 수: 10.<br />패턴: `"^[a-zA-Z0-9+\\-_:\\/@]+$";` | 
| HomePageUrl | 문자열 | FALSE | 애플리케이션에 대한 자세한 정보가 들어 있는 URL(예: 애플리케이션의 GitHub 리포지토리 위치)  | 
| SemanticVersion | 문자열 | FALSE | 애플리케이션의 의미 체계 버전입니다. 시맨틱 버전 관리 사양은 [시맨틱 버전 관리 ](https://semver.org/)웹사이트를 잠조하세요.<br />애플리케이션을 공개로 설정하려면 이 속성의 값을 지정해야 합니다. | 
| SourceCodeUrl | 문자열 | FALSE | 애플리케이션의 소스 코드가 있는 퍼블릭 리포지토리의 링크입니다. | 

## 사용 사례
<a name="serverless-sam-template-publishing-applications-metadata-properties-cases"></a>

이 섹션에는 애플리케이션을 게시하는 사용 사례와 해당 사용 사례에 대해 처리된 `Metadata` 속성이 나열되어 있습니다. 특정 사용 사례에 대해 나열되지 *않은* 속성은 무시됩니다.
+ **새 애플리케이션 생성** -에 계정 이름과 AWS Serverless Application Repository 일치하는 애플리케이션이 없는 경우 새 애플리케이션이 생성됩니다.
  + `Name`
  + `SpdxLicenseId`
  + `LicenseUrl`
  + `Description`
  + `Author`
  + `ReadmeUrl`
  + `Labels`
  + `HomePageUrl`
  + `SourceCodeUrl`
  + `SemanticVersion`
  +  AWS SAM 템플릿의 내용(예: 이벤트 소스, 리소스 및 Lambda 함수 코드)

   
+ **애플리케이션 버전 생성** - AWS Serverless Application Repository 내에 계정과 일치하는 이름을 가진 애플리케이션 버전이 이미 존재하고 *그에 더하여* SemanticVersion이 변경 *중인* 경우, 애플리케이션 버전이 생성됩니다.
  + `Description`
  + `Author`
  + `ReadmeUrl`
  + `Labels`
  + `HomePageUrl`
  + `SourceCodeUrl`
  + `SemanticVersion`
  +  AWS SAM 템플릿의 내용(예: 이벤트 소스, 리소스 및 Lambda 함수 코드)

   
+ **애플리케이션 업데이트 **-에 계정과 AWS Serverless Application Repository 일치하는 이름의 애플리케이션이 이미 *있고* SemanticVersion*이 변경되지 않는* 경우 애플리케이션이 업데이트됩니다.
  + `Description`
  + `Author`
  + `ReadmeUrl`
  + `Labels`
  + `HomePageUrl`

## 예제
<a name="serverless-sam-template-publishing-applications-metadata-properties-example"></a>

다음은 `Metadata` 섹션의 예입니다.

```
Metadata:
  AWS::ServerlessRepo::Application:
    Name: {{my-app}}
    Description: {{hello world}}
    Author: {{user1}}
    SpdxLicenseId: Apache-2.0
    LicenseUrl: {{LICENSE.txt}}
    ReadmeUrl: {{README.md}}
    Labels: {{['tests']}}
    HomePageUrl: {{https://github.com/user1/my-app-project}}
    SemanticVersion: {{0.0.1}}
    SourceCodeUrl: {{https://github.com/user1/my-app-project}}
```