

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kunci CloudFormation template lainnya
<a name="ebextensions-otherkeys"></a>

Kami telah memperkenalkan kunci file konfigurasi dari CloudFormation seperti`Resources`,`files`, dan`packages`. Elastic Beanstalk menambahkan konten file konfigurasi CloudFormation ke template yang mendukung lingkungan Anda, sehingga Anda dapat CloudFormation menggunakan bagian lain untuk melakukan tugas-tugas lanjutan dalam file konfigurasi Anda.

**Topics**
+ [Parameter](#ebextensions-otherkeys-parameters)
+ [Output](#ebextensions-otherkeys-outputs)
+ [Pemetaan](#ebextensions-otherkeys-mappings)

## Parameter
<a name="ebextensions-otherkeys-parameters"></a>

Parameter adalah alternatif untuk [opsi khusus](configuration-options-custom.md) Elastic Beanstalk sendiri yang dapat Anda gunakan untuk menentukan nilai yang Anda gunakan di tempat lain dalam file konfigurasi Anda. Seperti opsi khusus, Anda dapat menggunakan parameter untuk mengumpulkan nilai yang dapat dikonfigurasi pengguna di satu tempat. Tidak seperti opsi khusus, Anda tidak dapat menggunakan API Elastic Beanstalk untuk menetapkan nilai parameter, dan jumlah parameter yang dapat Anda tentukan dalam templat dibatasi oleh. CloudFormation

Salah satu alasan Anda mungkin ingin menggunakan parameter adalah untuk membuat file konfigurasi Anda berfungsi ganda sebagai CloudFormation templat. Jika Anda menggunakan parameter alih-alih opsi khusus, Anda dapat menggunakan file konfigurasi untuk membuat sumber daya yang sama CloudFormation sebagai tumpukannya sendiri. Misalnya, Anda bisa memiliki file konfigurasi yang menambahkan sistem file Amazon EFS ke lingkungan Anda untuk pengujian, dan kemudian menggunakan file yang sama untuk membuat sistem file independen yang tidak terikat ke siklus hidup lingkungan Anda untuk penggunaan produksi.

Contoh berikut menunjukkan penggunaan parameter untuk mengumpulkan nilai yang dapat dikonfigurasi pengguna di bagian atas file konfigurasi.

**Example [L oadbalancer-accesslogs-existingbucket .config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/resource-configuration/loadbalancer-accesslogs-existingbucket.config) — Parameter**  

```
Parameters:
  bucket:
    Type: String
    Description: "Name of the Amazon S3 bucket in which to store load balancer logs"
    Default: "amzn-s3-demo-bucket"
  bucketprefix:
    Type: String
    Description: "Optional prefix. Can't start or end with a /, or contain the word AWSLogs"
    Default: ""
```

## Output
<a name="ebextensions-otherkeys-outputs"></a>

Anda dapat menggunakan blok `Outputs` untuk mengekspor informasi tentang sumber daya yang dibuat ke CloudFormation. Anda kemudian dapat menggunakan `Fn::ImportValue` fungsi untuk menarik nilai ke dalam CloudFormation template di luar Elastic Beanstalk.

Contoh berikut membuat topik Amazon SNS dan mengekspor ARN ke dengan nama. CloudFormation `NotificationTopicArn`

**Example [sns-topic.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/resource-configuration/sns-topic.config)**  

```
Resources:
  NotificationTopic:
    Type: AWS::SNS::Topic

Outputs:
  NotificationTopicArn:
    Description: Notification topic ARN
    Value: { "Ref" : "NotificationTopic" }
    Export:
      Name: NotificationTopicArn
```

Dalam file konfigurasi untuk lingkungan yang berbeda, atau CloudFormation template di luar Elastic Beanstalk, Anda dapat `Fn::ImportValue` menggunakan fungsi untuk mendapatkan ARN yang diekspor. Contoh ini memberikan nilai diekspor ke properti lingkungan bernama `TOPIC_ARN`.

**Example env.config**  

```
option_settings:
  aws:elasticbeanstalk:application:environment:
    TOPIC_ARN: '`{ "Fn::ImportValue" : "NotificationTopicArn" }`'
```

## Pemetaan
<a name="ebextensions-otherkeys-mappings"></a>

Anda dapat menggunakan pemetaan untuk menyimpan pasangan nilai kunci yang diatur oleh namespace. Pemetaan dapat membantu Anda mengatur nilai yang Anda gunakan di seluruh konfigurasi Anda, atau mengubah nilai parameter tergantung pada nilai yang lain. Misalnya, konfigurasi berikut menetapkan nilai parameter ID akun berdasarkan wilayah saat ini.

**Example [L oadbalancer-accesslogs-newbucket .config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/resource-configuration/loadbalancer-accesslogs-newbucket.config) - Pemetaan**  

```
Mappings: 
  Region2ELBAccountId: 
    us-east-1: 
      AccountId: "111122223333"
    us-west-2: 
      AccountId: "444455556666"
    us-west-1: 
      AccountId: "123456789012"
    eu-west-1: 
      AccountId: "777788889999"
...
            Principal: 
              AWS: 
                ? "Fn::FindInMap"
                : 
                  - Region2ELBAccountId
                  - 
                    Ref: "AWS::Region"
                  - AccountId
```