首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >amazon-appflow创建新的连接器配置文件返回服务错误

amazon-appflow创建新的连接器配置文件返回服务错误
EN

Stack Overflow用户
提问于 2021-03-27 16:02:17
回答 1查看 393关注 0票数 2

我正在尝试利用aws-appflow从salesforce检索数据,但无法使用boto3创建连接器配置文件。我一直在找Service Error

我的尝试是:

代码语言:javascript
复制
    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

我不确定我做错了什么。我认为我正确地遵循了他们的说明,但我不知道从哪里可以获得有关此错误的更多信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-08 04:29:40

亚马逊网络服务关于AppFlow Salesforce集成的文档有点令人困惑。

以下是AWS CLI的工作片段:

代码语言:javascript
复制
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"
        }
    }
}'

请注意,我们不需要accessTokenrefreshToken,因为它们将在创建时使用authCode和来自clientCredentialsArn的凭据来获取。

另一位是Secret Manager secret应该使用与--kms-arn参数中相同的KMS密钥进行加密。

clientCredentialsArn密码内容应与以下内容类似:

代码语言:javascript
复制
{
  "clientId": "XXX",
  "clientSecret": "YYY"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66829212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档