在AWS AppSync中设置CORS策略可以通过使用AWS CloudFormation模板进行配置。以下是一个示例AWS CloudFormation模板,用于设置CORS策略:
Resources:
GraphQLApi:
Type: "AWS::AppSync::GraphQLApi"
Properties:
Name: "MyAppSyncAPI"
AuthenticationType: API_KEY
CorsConfiguration:
Type: "AWS::AppSync::GraphQLApi"
Properties:
ApiId: !GetAtt GraphQLApi.ApiId
CorsConfiguration:
AllowOrigins:
- "*"
AllowHeaders:
- "Authorization"
AllowMethods:
- "POST"
- "GET"
- "OPTIONS"
MaxAge: 86400
Outputs:
ApiUrl:
Value: !GetAtt GraphQLApi.GraphQLUrl
在上面的示例中,CORS配置部分定义了允许的来源(AllowOrigins)、允许的头部(AllowHeaders)以及允许的HTTP方法(AllowMethods)。其中,AllowOrigins设置为"*"表示允许来自任何来源的请求。
将上述代码保存为一个AWS CloudFormation模板文件(例如cors-template.yaml),然后使用AWS CloudFormation服务来创建堆栈并部署模板。
另外,如果您使用AWS Amplify CLI部署和管理AppSync API,您可以在amplify/backend/api/
{
"AppSyncApi": {
"Name": "MyAppSyncAPI",
"ApiId": "xxxxxxxxx",
"Region": "us-west-2",
"AuthorizationType": "API_KEY",
"CorsConfiguration": {
"AllowOrigins": ["*"],
"AllowHeaders": ["Authorization"],
"AllowMethods": ["POST", "GET", "OPTIONS"],
"MaxAge": 86400
}
}
}
在上面的示例中,CORS配置与前面的CloudFormation模板示例相同。修改此文件后,使用amplify push命令将更改部署到AppSync API。
请注意,使用上述方法设置CORS策略将允许来自任何来源的请求。在实际应用中,您可能需要根据您的需求更具体地配置CORS策略。