Я пытаюсь обновить метод authorizationScopes
значением списка, используя следующую команду:
aws apigateway update-method --rest-api-id xxxxxxxxxx --resource-id yyyyy --http-method ANY \
--patch-operations "op=replace,path=/authorizationType,value=COGNITO_USER_POOLS" "op=replace,path=/authorizerId,value=zzzzz" \
"op=replace,path=/authorizationScopes,value=app-identifier/token,app-identifier/personProfile"
, но получил эту ошибку:
Parameter validation failed:
Invalid type for parameter patchOperations[2].value,
value: [u'app-identifier/token', u'app-identifier/personProfile'],
type: <type 'list'>, valid types: <type 'basestring'>
Также попробуйте эту команду с[]
:
aws apigateway update-method --rest-api-id xxxxxxxxxx --resource-id yyyyy --http-method ANY \
--patch-operations "op=replace,path=/authorizationType,value=COGNITO_USER_POOLS" "op=replace,path=/authorizerId,value=zzzzz" \
"op=replace,path=/authorizationScopes,value=[app-identifier/token,app-identifier/personProfile]"
, но также получая ту же ошибку, что и выше.
Если я установлю ее вручную из консоли и получу ее из этой команды: aws apigateway get-method --rest-api-id xxxxxxx --resource-id yyyy --http-method ANY
дайте мне этот вывод:
{
"apiKeyRequired": false,
"httpMethod": "ANY",
"methodIntegration": {
"passthroughBehavior": "WHEN_NO_MATCH",
"timeoutInMillis": 29000,
"requestParameters": {},
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:111111:function:app:${stageVariables.ENV}/invocations",
"httpMethod": "POST",
"requestTemplates": {},
"cacheNamespace": "xxxx",
"type": "AWS_PROXY",
"cacheKeyParameters": []
},
"authorizationScopes": [
"app-identifier/token",
"app-identifier/personProfile"
],
"authorizationType": "COGNITO_USER_POOLS",
"authorizerId": "yyyyy"
}
ограничение awscli или я передаю его неверным образом
Ссылка: https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-method.html