amazon-appflow 创建新的连接器配置文件 returns 服务错误
amazon-appflow create new connector profile returns service error
我正在尝试利用 aws-appflow 从 salesforce 检索数据,但无法使用 boto3 创建连接器配置文件。我不断收到 Service Error
我的尝试:
appflow.create_connector_profile(
connectorProfileName='appflow-sfdc-test',
kmsArn='{{ encryption-key-arn }}',
connectorType='Salesforce',
connectionMode='Public',
connectorProfileConfig={
'connectorProfileProperties': {
'Salesforce': {
'instanceUrl': 'https://{{ our-domain }}.my.salesforce.com',
'isSandboxEnvironment': False
}
},
'connectorProfileCredentials': {
'Salesforce': {
'accessToken': '{{ access-token }}',
'refreshToken': '{{ refresh-token }}',
'clientCredentialsArn': '{{ secretsmanager arn with the client id & secret }}'
}
}
}
)
# returns this error
botocore.errorfactory.InternalServerException: An error occurred (InternalServerException) when calling the CreateConnectorProfile operation (reached max retries: 4): Service Error
我不确定我做错了什么。我以为我正确地遵循了他们的指示,但我不知道从哪里可以获得有关此错误的更多信息。
AppFlow Salesforce 集成的 AWS 文档有点混乱。
下面是一个有效的 AWS CLI 片段:
aws appflow create-connector-profile \
--connector-profile-name salesforce-connector \
--connector-type Salesforce \
--kms-arn arn:aws:kms:$region:$account_id:key/$key_id \
--connection-mode Public \
--connector-profile-config '{
"connectorProfileProperties": {
"Salesforce": {
"instanceUrl": "https://your-domain.my.salesforce.com",
"isSandboxEnvironment": false
}
},
"connectorProfileCredentials": {
"Salesforce": {
"oAuthRequest": {
"authCode": $oauth_authorization_code,
"redirectUri": $redirect_uri
},
"clientCredentialsArn": "arn:aws:secretsmanager:$region:$account:secret:$secret"
}
}
}'
请注意,我们不需要 accessToken
和 refreshToken
,因为它们将在创建时使用 authCode
和来自 clientCredentialsArn
的凭据获取。
另一点是 Secret Manager 秘密应该使用与 --kms-arn
参数中相同的 KMS 密钥加密。
clientCredentialsArn
秘密内容应类似于:
{
"clientId": "XXX",
"clientSecret": "YYY"
}
我正在尝试利用 aws-appflow 从 salesforce 检索数据,但无法使用 boto3 创建连接器配置文件。我不断收到 Service Error
我的尝试:
appflow.create_connector_profile(
connectorProfileName='appflow-sfdc-test',
kmsArn='{{ encryption-key-arn }}',
connectorType='Salesforce',
connectionMode='Public',
connectorProfileConfig={
'connectorProfileProperties': {
'Salesforce': {
'instanceUrl': 'https://{{ our-domain }}.my.salesforce.com',
'isSandboxEnvironment': False
}
},
'connectorProfileCredentials': {
'Salesforce': {
'accessToken': '{{ access-token }}',
'refreshToken': '{{ refresh-token }}',
'clientCredentialsArn': '{{ secretsmanager arn with the client id & secret }}'
}
}
}
)
# returns this error
botocore.errorfactory.InternalServerException: An error occurred (InternalServerException) when calling the CreateConnectorProfile operation (reached max retries: 4): Service Error
我不确定我做错了什么。我以为我正确地遵循了他们的指示,但我不知道从哪里可以获得有关此错误的更多信息。
AppFlow Salesforce 集成的 AWS 文档有点混乱。
下面是一个有效的 AWS CLI 片段:
aws appflow create-connector-profile \
--connector-profile-name salesforce-connector \
--connector-type Salesforce \
--kms-arn arn:aws:kms:$region:$account_id:key/$key_id \
--connection-mode Public \
--connector-profile-config '{
"connectorProfileProperties": {
"Salesforce": {
"instanceUrl": "https://your-domain.my.salesforce.com",
"isSandboxEnvironment": false
}
},
"connectorProfileCredentials": {
"Salesforce": {
"oAuthRequest": {
"authCode": $oauth_authorization_code,
"redirectUri": $redirect_uri
},
"clientCredentialsArn": "arn:aws:secretsmanager:$region:$account:secret:$secret"
}
}
}'
请注意,我们不需要 accessToken
和 refreshToken
,因为它们将在创建时使用 authCode
和来自 clientCredentialsArn
的凭据获取。
另一点是 Secret Manager 秘密应该使用与 --kms-arn
参数中相同的 KMS 密钥加密。
clientCredentialsArn
秘密内容应类似于:
{
"clientId": "XXX",
"clientSecret": "YYY"
}