

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# SNS
<a name="sam-property-function-sns"></a>

描述`SNS`事件來源類型的物件。

設定此事件類型時，SAM 會產生[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html)資源

## 語法
<a name="sam-property-function-sns-syntax"></a>

若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體，請使用下列語法。

### YAML
<a name="sam-property-function-sns-syntax.yaml"></a>

```
  [FilterPolicy](#sam-function-sns-filterpolicy): [SnsFilterPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy)
  FilterPolicyScope: String
  RedrivePolicy: Json
  [Region](#sam-function-sns-region): String
  [SqsSubscription](#sam-function-sns-sqssubscription): Boolean | SqsSubscriptionObject
  [Topic](#sam-function-sns-topic): String
```

## Properties
<a name="sam-property-function-sns-properties"></a>

 `FilterPolicy`   <a name="sam-function-sns-filterpolicy"></a>
指派給訂閱的篩選條件政策 JSON。如需詳細資訊，請參閱《Amazon Simple Notification Service API 參考》中的 [GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)。  
*類型*：[SnsFilterPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy)  
*必要*：否  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::SNS::Subscription` 資源的 `[FilterPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy)` 屬性。

 `FilterPolicyScope`   <a name="sam-function-sns-filterpolicyscope"></a>
此屬性可讓您使用下列其中一個字串值類型來選擇篩選範圍：  
+ `MessageAttributes` – 篩選條件會套用至訊息屬性。
+ `MessageBody` – 篩選條件會套用至訊息內文。
*類型：*字串  
*必要*：否  
*預設*：`MessageAttributes`  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::SNS::Subscription` 資源的 ` [ FilterPolicyScope](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicyscope)` 屬性。

 `RedrivePolicy`   <a name="sam-function-sns-redrivepolicy"></a>
如果指定，則會將無法傳遞的訊息傳送到指定的 Amazon SQS 無效信件佇列。由於用戶端錯誤 (例如當訂閱的端點無法連線時) 或伺服器錯誤 (例如提供訂閱端點的服務無法使用) 而無法傳遞的訊息，會保留在無效信件佇列，以供進一步分析或重新處理。  
如需再驅動政策和無效字母佇列的詳細資訊，請參閱[《Amazon Simple Queue Service 開發人員指南》中的 Amazon SQS 無效字母佇列](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html)。 **  
*類型*：Json  
*必要*：否  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::SNS::Subscription` 資源的 `[ RedrivePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-redrivepolicy)` 屬性。

 `Region`   <a name="sam-function-sns-region"></a>
針對跨區域訂閱，為主題所在的區域。  
如果未指定區域，CloudFormation 會使用發起人的區域做為預設值。  
*類型：*字串  
*必要*：否  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::SNS::Subscription` 資源的 `[Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region)` 屬性。

 `SqsSubscription`   <a name="sam-function-sns-sqssubscription"></a>
將此屬性設定為 true，或指定 `SqsSubscriptionObject` 在 SQS 佇列中啟用批次 SNS 主題通知。將此屬性設定為`true`建立新的 SQS 佇列，而指定 `SqsSubscriptionObject`會使用現有的 SQS 佇列。  
*類型*：布林值 \$1 [SqsSubscriptionObject](sam-property-function-sqssubscriptionobject.md)  
*必要*：否  
*CloudFormation 相容性*：此屬性對 是唯一的 AWS SAM ，並且沒有 CloudFormation 同等屬性。

 `Topic`   <a name="sam-function-sns-topic"></a>
要訂閱的主題 ARN。  
*類型：*字串  
*必要*：是  
*CloudFormation 相容性*：此屬性會直接傳遞至 `AWS::SNS::Subscription` 資源的 `[TopicArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#topicarn)` 屬性。

## 範例
<a name="sam-property-function-sns--examples"></a>

### SNS 事件來源範例
<a name="sam-property-function-sns--examples--sns-event-source-example"></a>

SNS 事件來源範例

#### YAML
<a name="sam-property-function-sns--examples--sns-event-source-example--yaml"></a>

```
Events:
  SNSEvent:
    Type: SNS
    Properties:
      Topic: arn:aws:sns:us-east-1:123456789012:my_topic
      SqsSubscription: true
      FilterPolicy:
        store:
          - example_corp
        price_usd:
          - numeric:
              - ">="
              - 100
```

# SqsSubscriptionObject
<a name="sam-property-function-sqssubscriptionobject"></a>

指定 SNS 事件的現有 SQS 佇列選項

## 語法
<a name="sam-property-function-sqssubscriptionobject-syntax"></a>

若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體，請使用下列語法。

### YAML
<a name="sam-property-function-sqssubscriptionobject-syntax.yaml"></a>

```
  [BatchSize](#sam-function-sqssubscriptionobject-batchsize): String
  [Enabled](#sam-function-sqssubscriptionobject-enabled): Boolean
  [QueueArn](#sam-function-sqssubscriptionobject-queuearn): String
  [QueuePolicyLogicalId](#sam-function-sqssubscriptionobject-queuepolicylogicalid): String
  [QueueUrl](#sam-function-sqssubscriptionobject-queueurl): String
```

## Properties
<a name="sam-property-function-sqssubscriptionobject-properties"></a>

 `BatchSize`   <a name="sam-function-sqssubscriptionobject-batchsize"></a>
單一批次中針對 SQS 佇列擷取的項目數量上限。  
*類型：*字串  
*必要*：否  
*預設值*：10  
*CloudFormation 相容性*：此屬性對 是唯一的 AWS SAM ，並且沒有 CloudFormation 同等屬性。

 `Enabled`   <a name="sam-function-sqssubscriptionobject-enabled"></a>
停用 SQS 事件來源映射以暫停輪詢和調用。  
*類型*：布林值  
*必要*：否  
*預設*：True  
*CloudFormation 相容性*：此屬性對 是唯一的 AWS SAM ，並且沒有 CloudFormation 同等的。

 `QueueArn`   <a name="sam-function-sqssubscriptionobject-queuearn"></a>
指定現有的 SQS 佇列 arn。  
*類型：*字串  
*必要*：是  
*CloudFormation 相容性*：此屬性對 是唯一的 AWS SAM ，並且沒有 CloudFormation 同等屬性。

 `QueuePolicyLogicalId`   <a name="sam-function-sqssubscriptionobject-queuepolicylogicalid"></a>
為 [AWS::SQS::QueuePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html) 資源提供自訂 logicalId 名稱。  
*類型：*字串  
*必要*：否  
*CloudFormation 相容性*：此屬性對 是唯一的 AWS SAM ，並且沒有 CloudFormation 同等屬性。

 `QueueUrl`   <a name="sam-function-sqssubscriptionobject-queueurl"></a>
指定與 `QueueArn` 屬性相關聯的佇列 URL。  
*類型：*字串  
*必要*：是  
*CloudFormation 相容性*：此屬性對 是唯一的 AWS SAM ，並且沒有 CloudFormation 同等屬性。

## 範例
<a name="sam-property-function-sqssubscriptionobject--examples"></a>

### SNS 事件的現有 SQS
<a name="sam-property-function-sqssubscriptionobject--examples--existing-sqs-for-sns-event"></a>

將現有的 SQS 佇列新增至 SNS 主題的範例。

#### YAML
<a name="sam-property-function-sqssubscriptionobject--examples--existing-sqs-for-sns-event--yaml"></a>

```
QueuePolicyLogicalId: CustomQueuePolicyLogicalId
QueueArn:
  Fn::GetAtt: MyCustomQueue.Arn
QueueUrl:
  Ref: MyCustomQueue
BatchSize: 5
```