在进行 AppFlow 的后续部署时,我收到以下错误:
AWS::AppFlow::FlowUpdate 流请求失败,原因是:[无法更新目标连接器的目标对象]
下面是 serverless.com .yml / cloudformation 模板,请注意目标对象不会随着部署而改变。
SalesforceSubscriptionToEventBridge:
Type: 'AWS::AppFlow::Flow'
Properties:
FlowName: 'SalesforceSubscriptionToEventBridge'
Description: 'Salesforce Subscription Platform Event to EventBridge'
TriggerConfig:
TriggerType: 'Event'
SourceFlowConfig:
ConnectorType: 'Salesforce'
ConnectorProfileName: 'SalesforceToEventBridge'
SourceConnectorProperties:
Salesforce:
Object: 'SubscriptionEvent__e' # Salesforce Platform Event
DestinationFlowConfigList:
- ConnectorType: 'EventBridge'
DestinationConnectorProperties:
EventBridge:
Object: 'data' # this remains unchanged from deployment to deployment. Destination object is aws.partner/appflow/salesforce.com/[AWS::AccountId]/data
Tasks:
- TaskType: 'Filter'
ConnectorOperator:
Salesforce: 'PROJECTION'
SourceFields:
- 'Name'
- TaskType: 'Map'
ConnectorOperator:
Salesforce: 'NO_OP'
DestinationField: 'reference'
SourceFields:
- 'Name'
TaskProperties:
- Key: SOURCE_DATA_TYPE
Value: string
- Key: DESTINATION_DATA_TYPE
Value: string
SalesforcePartnerEventBus:
Type: 'AWS::Events::EventBus'
Properties:
EventSourceName:
Fn::Join: ['', ['aws.partner/appflow/salesforce.com/',Ref: 'AWS::AccountId','/data']]
Name:
Fn::Join: ['', ['aws.partner/appflow/salesforce.com/',Ref: 'AWS::AccountId','/data']]
DependsOn : 'SalesforceSubscriptionToEventBridge'
或者生成的 JSON 格式的模板如下:
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "The AWS CloudFormation template for this Serverless application",
"Resources": {
"SalesforceSubscriptionToEventBridge": {
"Type": "AWS::AppFlow::Flow",
"Properties": {
"FlowName": "SalesforceSubscriptionToEventBridge",
"Description": "Salesforce Subscription Platform Event to EventBridge",
"TriggerConfig": {
"TriggerType": "Event"
},
"SourceFlowConfig": {
"ConnectorType": "Salesforce",
"ConnectorProfileName": "SalesforceToEventBridge",
"SourceConnectorProperties": {
"Salesforce": {
"Object": "SubscriptionEvent__e"
}
}
},
"DestinationFlowConfigList": [
{
"ConnectorType": "EventBridge",
"DestinationConnectorProperties": {
"EventBridge": {
"Object": "data"
}
}
}
],
"Tasks": [
{
"TaskType": "Filter",
"ConnectorOperator": {
"Salesforce": "PROJECTION"
},
"SourceFields": [
"Name"
]
},
{
"TaskType": "Map",
"ConnectorOperator": {
"Salesforce": "NO_OP"
},
"DestinationField": "reference",
"SourceFields": [
"Name"
],
"TaskProperties": [
{
"Key": "SOURCE_DATA_TYPE",
"Value": "string"
},
{
"Key": "DESTINATION_DATA_TYPE",
"Value": "string"
}
]
}
]
}
},
"CustomerPlatformSFPartnerEventBus": {
"Type": "AWS::Events::EventBus",
"Properties": {
"EventSourceName": {
"Fn::Join": ["",["aws.partner/appflow/salesforce.com/",
{"Ref": "AWS::AccountId"},"/data"]]
},
"Name": {
"Fn::Join": ["",["aws.partner/appflow/salesforce.com/",
{"Ref": "AWS::AccountId"},"/data"]]
}
},
"DependsOn": [
"SalesforceSubscriptionToEventBridge"
]
}
}
有任何想法吗?