

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Beispiel: SQS CloudWatch, und SNS
<a name="customize-environment-resources-sqs"></a>

In diesem Beispiel wird der Umgebung eine Amazon SQS-Warteschlange sowie ein Alarm für die Warteschlange hinzugefügt. In diesem Beispiel werden die mindestens erforderlichen Eigenschaften verwendet, die für jede Ressource eingerichtet werden müssen. Sie können das Beispiel unter [SQS](https://elasticbeanstalk.s3.amazonaws.com/extensions/SNS.config), SNS und herunterladen. CloudWatch 

**Anmerkung**  
In diesem Beispiel werden AWS Ressourcen erstellt, für die Ihnen möglicherweise Gebühren berechnet werden. Weitere Informationen zur AWS Preisgestaltung finden Sie unter[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Einige Dienste sind Teil des AWS kostenlosen Nutzungskontingents. Als Neukunde können Sie diese Services kostenlos testen. Weitere Informationen finden Sie unter [https://aws.amazon.com/free/](https://aws.amazon.com/free/).

In diesem Beispiel gehen Sie wie folgt vor:

1. Erstellen Sie ein `[.ebextensions](ebextensions.md)`-Verzeichnis im Verzeichnis der obersten Ebene Ihres Quell-Bundles. 

1. Erstellen Sie zwei Konfigurationsdateien mit der Erweiterung `.config` und speichern Sie sie in Ihrem Verzeichnis `.ebextensions`. Eine Konfigurationsdatei definiert die Ressourcen und die andere die Optionen.

1. Stellen Sie Ihre Anwendung in Elastic Beanstalk bereit.

   Für YAML sind konsistente Einrückungen erforderlich. Wählen Sie die entsprechende Einrückungsebene aus, wenn Sie Inhalte in einer Beispielkonfigurationsdatei ersetzen, und stellen Sie sicher, dass Ihr Texteditor Leerzeichen statt Tabulatorzeichen zum Einrücken verwendet.

Erstellen Sie eine Konfigurationsdatei (z. B. sqs.config), in der die Ressourcen definiert werden. In diesem Beispiel wird eine SQS-Warteschlange erstellt und die `VisbilityTimeout`-Eigenschaft wird in der `MySQSQueue`-Ressource definiert. Anschließend wird ein SNS-`Topic` erstellt und angegeben, dass die E-Mail im Falle eines ausgelösten Alarms an `someone@example.com` gesendet wird. Schließlich geben wir einen CloudWatch Alarm aus, wenn die Warteschlange mehr als 10 Nachrichten enthält. In der Eigenschaft `Dimensions` werden der Name der Dimension und der Wert, der die Maßeinheit der Dimension darstellt, angegeben. Hier wird `Fn::GetAtt` für die Rückgabe des Werts `QueueName` von `MySQSQueue` verwendet.

```
#This sample requires you to create a separate configuration file to define the custom options for the SNS topic and SQS queue.
Resources:
  MySQSQueue:
    Type: AWS::SQS::Queue
    Properties: 
      VisibilityTimeout:
        Fn::GetOptionSetting:
          OptionName: VisibilityTimeout
          DefaultValue: 30
  AlarmTopic:
    Type: AWS::SNS::Topic
    Properties: 
      Subscription:
        - Endpoint:
            Fn::GetOptionSetting:
              OptionName: AlarmEmail
              DefaultValue: "nobody@amazon.com"
          Protocol: email
  QueueDepthAlarm:
    Type: AWS::CloudWatch::Alarm
    Properties:
      AlarmDescription: "Alarm if queue depth grows beyond 10 messages"
      Namespace: "AWS/SQS"
      MetricName: ApproximateNumberOfMessagesVisible
      Dimensions:
        - Name: QueueName
          Value : { "Fn::GetAtt" : [ "MySQSQueue", "QueueName"] }
      Statistic: Sum
      Period: 300
      EvaluationPeriods: 1
      Threshold: 10
      ComparisonOperator: GreaterThanThreshold
      AlarmActions:
        - Ref: AlarmTopic
      InsufficientDataActions:
        - Ref: AlarmTopic

Outputs :
  QueueURL: 
    Description : "URL of newly created SQS Queue"
    Value : { Ref : "MySQSQueue" }
  QueueARN :
    Description : "ARN of newly created SQS Queue"
    Value : { "Fn::GetAtt" : [ "MySQSQueue", "Arn"]}
  QueueName :
    Description : "Name newly created SQS Queue"
    Value : { "Fn::GetAtt" : [ "MySQSQueue", "QueueName"]}
```

Weitere Informationen zu den Ressourcen, die in dieser Beispielkonfigurationsdatei verwendet wurden, finden Sie unter folgenden Referenzen: 
+ [AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html)
+ [AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html)
+ [AWS::CloudWatch::Alarm](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html)

Erstellen Sie eine separate Konfigurationsdatei mit dem Namen `options.config` und definieren Sie benutzerdefinierte Optionseinstellungen.

```
option_settings:
  "aws:elasticbeanstalk:customoption":
     VisibilityTimeout : 30
     AlarmEmail : "nobody@example.com"
```

Diese Zeilen weisen Elastic Beanstalk an, die Werte für die Eigenschaften und Subscription Endpoint aus den VisibilityTimeout Werten **VisibilityTimeout und Subscription Endpoint** in einer Konfigurationsdatei (options.config in unserem Beispiel) **abzurufen, die einen Abschnitt option\$1settings mit einem **aws:elasticbeanstalk:customoption-Abschnitt**** enthält, der ein Name-Wert-Paar enthält, das den tatsächlich zu verwendenden Wert enthält. Im obigen Beispiel werden folglich die Werte "30" und "nobody@amazon.com" verwendet. Mehr über `Fn::GetOptionSetting` erfahren Sie unter [Funktionen](ebextensions-functions.md).