

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.

# Themen in Amazon SNS mit AWS SDK für PHP Version 3 verwalten
<a name="sns-examples-managing-topics"></a>

Um Benachrichtigungen an Amazon Simple Queue Service (Amazon SQS), HTTP/HTTPS URLs, E-Mail, AWS SMS oder zu senden AWS Lambda, müssen Sie zunächst ein Thema erstellen, das die Zustellung von Nachrichten an alle Abonnenten dieses Themas verwaltet.

Im Hinblick auf das Entwurfsmuster ist ein Thema für den Beobachter mit dem Betreff vergleichbar. Nach dem Erstellen eines Themas können Sie Abonnenten hinzufügen, die automatisch benachrichtigt werden, wenn eine Nachricht im Thema veröffentlicht wird.

Weitere Informationen zum Abonnieren von Themen finden Sie unter [Verwaltung von Abonnements in Amazon SNS mit AWS SDK für PHP Version 3.](sns-examples-subscribing-unsubscribing-topics.md)

In den nachstehenden Beispielen wird Folgendes veranschaulicht:
+ Erstellen Sie ein Thema, um Benachrichtigungen zu veröffentlichen, um es zu verwenden. [CreateTopic](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sns-2010-03-31.html#createtopic)
+ Gibt eine Liste der Themen des Anfragenden zurück, indem Sie [ListTopics](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sns-2010-03-31.html#listtopic).
+ Löschen Sie ein Thema und alle zugehörigen Abonnements mit [DeleteTopic](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sns-2010-03-31.html#deletetopic).
+ Gibt alle Eigenschaften eines Themas zurück mit [GetTopicAttributes](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sns-2010-03-31.html#gettopicattributes).
+ Erlauben Sie einem Themenbesitzer, ein Attribut des Themas auf einen neuen Wert zu setzen, indem Sie [SetTopicAttributes](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sns-2010-03-31.html#settopicattributes).

Weitere Informationen zur Verwendung von Amazon SNS finden Sie unter Amazon SNS [SNS-Thema Attribute für den Status der Nachrichtenzustellung](https://docs.aws.amazon.com/sns/latest/dg/sns-topic-attributes.html).

Der gesamte Beispielcode für AWS SDK für PHP ist [hier verfügbar. GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code)

## Anmeldeinformationen
<a name="examplecredentials"></a>

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschrieben[Authentifizierung AWS mit AWS SDK für PHP Version 3](credentials.md). Importieren Sie dann die AWS SDK für PHP, wie unter beschrieben[Installation der AWS SDK für PHP Version 3](getting-started_installation.md).

## Erstellen eines Themas
<a name="create-a-topic"></a>

Verwenden Sie die [CreateTopic](https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html)Operation, um ein Thema zu erstellen.

Jeder Themenname in Ihrem AWS-Konto muss eindeutig sein.

 **Importe** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Sns\SnsClient;
```

 **Beispiel-Code** 

```
$SnSclient = new SnsClient([
    'profile' => 'default',
    'region' => 'us-east-1',
    'version' => '2010-03-31'
]);

$topicname = 'myTopic';

try {
    $result = $SnSclient->createTopic([
        'Name' => $topicname,
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    error_log($e->getMessage());
}
```

## Listen Sie Ihre Themen auf
<a name="list-your-topics"></a>

Verwenden Sie die [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html)Operation, um bis zu 100 bestehende Themen in der aktuellen AWS Region aufzulisten.

 **Importe** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Sns\SnsClient;
```

 **Beispiel-Code** 

```
$SnSclient = new SnsClient([
    'profile' => 'default',
    'region' => 'us-east-1',
    'version' => '2010-03-31'
]);

try {
    $result = $SnSclient->listTopics();
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    error_log($e->getMessage());
}
```

## Löschen eines Themas
<a name="delete-a-topic"></a>

Verwenden Sie den [DeleteTopic](https://docs.aws.amazon.com/sns/latest/api/API_DeleteTopic.html)Vorgang, um ein vorhandenes Thema und alle zugehörigen Abonnements zu entfernen.

Alle Nachrichten, die den Abonnenten noch nicht zugestellt wurden, werden ebenfalls gelöscht.

 **Importe** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Sns\SnsClient;
```

 **Beispiel-Code** 

```
$SnSclient = new SnsClient([
    'profile' => 'default',
    'region' => 'us-east-1',
    'version' => '2010-03-31'
]);

$topic = 'arn:aws:sns:us-east-1:111122223333:MyTopic';

try {
    $result = $SnSclient->deleteTopic([
        'TopicArn' => $topic,
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    error_log($e->getMessage());
}
```

## Themenattribute abrufen
<a name="get-topic-attributes"></a>

Verwenden Sie den [GetTopicAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetTopicAttributes.html)Vorgang, um Eigenschaften eines einzelnen vorhandenen Themas abzurufen.

 **Importe** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Sns\SnsClient;
```

 **Beispiel-Code** 

```
$SnSclient = new SnsClient([
    'profile' => 'default',
    'region' => 'us-east-1',
    'version' => '2010-03-31'
]);

$topic = 'arn:aws:sns:us-east-1:111122223333:MyTopic';

try {
    $result = $SnSclient->getTopicAttributes([
        'TopicArn' => $topic,
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    error_log($e->getMessage());
}
```

## Festlegen von Themenattributen
<a name="set-topic-attributes"></a>

Verwenden Sie den [SetTopicAttributes](https://docs.aws.amazon.com/sns/latest/api/API_SetTopicAttributes.html)Vorgang, um die Eigenschaften eines einzelnen vorhandenen Themas zu aktualisieren.

Sie können nur die Attribute `Policy`, `DisplayName` und `DeliveryPolicy` festlegen.

 **Importe** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Sns\SnsClient;
```

 **Beispiel-Code** 

```
$SnSclient = new SnsClient([
    'profile' => 'default',
    'region' => 'us-east-1',
    'version' => '2010-03-31'
]);
$attribute = 'Policy | DisplayName | DeliveryPolicy';
$value = 'First Topic';
$topic = 'arn:aws:sns:us-east-1:111122223333:MyTopic';

try {
    $result = $SnSclient->setTopicAttributes([
        'AttributeName' => $attribute,
        'AttributeValue' => $value,
        'TopicArn' => $topic,
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    error_log($e->getMessage());
}
```