我有一个GraphQL突变,它受到AWS_IAM授权的保护。我使用AWS_COGNITO_POOL作为主要授权人,AWS_IAM作为附加授权人。我正在使用无服务器appsync插件与AWS appsync集成。这就是突变:
updateUser(user_id: String!): String
@aws_iam
我需要从lambda函数(python)调用这个变异。到目前为止,我已经在无服务器配置中创建了IAM角色:
UpdateUserMutationRole:
Type: AWS::IAM::Role
Properties:
RoleName: ${self:provider.stage}-UpdateUserMutationRole
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service:
- lambda.amazonaws.com
Action:
- sts:AssumeRole
Policies:
- PolicyName: ${self:provider.stage}-UpdateUserMutationLambdaPolicy
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Action:
- appsync:GraphQL
Resource:
- <GraphQL API>
我已尝试将此分配给lambda函数,但它不起作用:
updateUserMutation:
handler: <path-to-handler>
role: UpdateUserMutationRole
在lambda函数中,我执行以下操作:
session = requests.Session()
session.auth = AWS4Auth(
<Access_key>,
<Access_Secret>,
<region>,
'appsync'
)
response = session.request(
url=APPSYNC_API_ENDPOINT_URL,
method='POST',
json={'query': query, "variables": variables}
)
但是,我不断得到“会话令牌无效”或“未经授权的异常”。到现在为止,我完全不知所措。这里有人能给我指出正确的方向吗。谢谢
目前没有回答
相关问题 更多 >
编程相关推荐