

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.

# Mit Step Functions Nachrichten zu einem Amazon SNS SNS-Thema veröffentlichen
<a name="connect-sns"></a>

Erfahren Sie, wie Sie Step Functions verwenden, um Nachrichten zu einem Amazon SNS SNS-Thema zu veröffentlichen. Diese Seite listet die unterstützten Amazon SNS-API-Aktionen auf und bietet `Task` Beispielstatus für die Veröffentlichung von Nachrichten in Amazon SNS.

Informationen zur Integration mit AWS Diensten in Step Functions finden Sie unter [Integrieren von -Services](integrate-services.md) und[Übergeben von Parametern an eine Service-API in Step Functions](connect-parameters.md).

**Hauptmerkmale der optimierten Amazon SNS SNS-Integration**  
Es gibt keine spezifischen Optimierungen für die [Request Response (Antwort anfordern)](connect-to-resource.md#connect-default) [Warten Sie auf einen Rückruf mit Task Token](connect-to-resource.md#connect-wait-token) Integrationsmuster.

Im Folgenden finden Sie einen `Task` Status, der zu einem Amazon Simple Notification Service (Amazon SNS) -Thema veröffentlicht.

```
{
 "StartAt": "Publish to SNS",
 "States": {
   "Publish to SNS": {
     "Type": "Task",
     "Resource": "arn:aws:states:::sns:publish",
     "Arguments": {
       "TopicArn": "arn:aws:sns:{{region}}:{{account-id}}:myTopic",
       "Message": "{% states.input.message %}",
       "MessageAttributes": {
         "my_attribute_no_1": {
           "DataType": "String",
           "StringValue": "value of my_attribute_no_1"
         },
         "my_attribute_no_2": {
           "DataType": "String",
           "StringValue": "value of my_attribute_no_2"
         }
       }
     },
     "End": true
    }
  }
}
```

**Übergabe dynamischer Werte**. Sie können das obige Beispiel ändern, um ein Attribut aus dieser JSON-Payload dynamisch zu übergeben:

```
{
  "message": "Hello world",
  "SNSDetails": {
    "attribute1": "some value",
    "attribute2": "some other value",
  }
}
```

Im Folgenden werden Werte mithilfe von JSONata Ausdrücken für die `StringValue` Felder festgelegt:

```
"MessageAttributes": {
  "my_attribute_no_1": {
      "DataType": "String",
      "StringValue": "{% $states.input.SNSDetails.attribute1 %}"
  },
  "my_attribute_no_2": {
      "DataType": "String",
      "StringValue": "{% $states.input.SNSDetails.attribute2 %}"
  }
```

Im Folgenden wird ein `Task` Status beschrieben, der in einem Amazon SNS SNS-Thema veröffentlicht und dann darauf wartet, dass das Task-Token zurückgegeben wird. Siehe [Warten Sie auf einen Rückruf mit Task Token](connect-to-resource.md#connect-wait-token).

```
{  
   "StartAt":"Send message to SNS",
   "States":{  
      "Send message to SNS":{  
         "Type":"Task",
         "Resource":"arn:aws:states:::sns:publish.waitForTaskToken",
         "Arguments":{  
            "TopicArn":"arn:aws:sns:{{region}}:{{account-id}}:myTopic",
            "Message":{  
               "Input":"{% states.input.message %}",
               "TaskToken": "{% $states.context.Task.Token %}"
            }
         },
         "End":true
      }
   }
}
```

## Optimiertes Amazon SNS APIs
<a name="connect-sns-api"></a>
+ [https://docs.aws.amazon.com/sns/latest/api/API_Publish.html](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html)

**Die Parameter in Step Functions werden ausgedrückt in PascalCase**  
Auch wenn sich die native Service-API in CamelCase befindet, z. B. die API-Aktion`startSyncExecution`, geben Sie Parameter in an PascalCase, z. B.:. `StateMachineArn`

**Quote für Eingabe- oder Ergebnisdaten**  
Beim Senden oder Empfangen von Daten zwischen Diensten beträgt die maximale Eingabe oder das maximale Ergebnis für eine Aufgabe 256 KiB an Daten als UTF-8-kodierte Zeichenfolge. Siehe [Kontingente im Zusammenhang mit der Ausführung von Zustandsmaschinen](service-quotas.md#service-limits-state-machine-executions).

## IAM-Richtlinien für das Anrufen von Amazon SNS
<a name="sns-iam"></a>

Die folgenden Beispielvorlagen zeigen, wie IAM-Richtlinien auf der Grundlage der Ressourcen in Ihrer State-Machine-Definition AWS Step Functions generiert werden. Weitere Informationen erhalten Sie unter [So generiert Step Functions IAM-Richtlinien für integrierte Dienste](service-integration-iam-templates.md) und [Entdecken Sie Serviceintegrationsmuster in Step Functions](connect-to-resource.md).

*Statische Ressourcen*

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": [
                "arn:aws:sns:{{us-east-1}}:{{123456789012}}:myTopicName"
            ]
        }
    ]
}
```

*Ressourcen, die auf einem Pfad basieren oder in `TargetArn` oder `PhoneNumber` veröffentlichen*

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": "*"
        }
    ]
}
```