Резервное копирование ключей API для восстановления - PullRequest
0 голосов
/ 01 февраля 2019

Я разрабатываю и внедряю план резервного копирования для восстановления ключей моего клиента API.Как это сделать?

Чтобы ускорить процесс восстановления, я пытаюсь создать план резервного копирования для резервного копирования ключей клиентского API, возможно, в s3 или локально.Я почесал голову за последние 2 дня о том, как этого добиться?Может быть какой-нибудь скрипт на python или что-то, что будет принимать значения из apigateway и помещать их в какую-то новую корзину s3.Но не уверен, как это реализовать.

1 Ответ

0 голосов
/ 15 февраля 2019

Вы можете получить список ключей API apigateway, используя apigateway get-api-keys.Вот полная команда AWS CLI.

aws apigateway get-api-keys --include-values

Помните, --include-values необходимо использовать, иначе фактический ключ API не будет включен в результат.Результат будет отображаться в следующем формате.

"items": [
        {
            "id": "j90yk1111",
            "value": "AAAAAAAABBBBBBBBBBBCCCCCCCCCC",
            "name": "MyKey1",
            "description": "My Key1",
            "enabled": true,
            "createdDate": 1528350587,
            "lastUpdatedDate": 1528352704,
            "stageKeys": []
        },
        {
            "id": "rqi9xxxxx",
            "value": "Kw6Oqo91nv5g5K7rrrrrrrrrrrrrrr",
            "name": "MyKey2",
            "description": "My Key 2",
            "enabled": true,
            "createdDate": 1528406927,
            "lastUpdatedDate": 1528406927,
            "stageKeys": []
        },
        {
            "id": "lse3o7xxxx",
            "value": "VGUfTNfM7v9uysBDrU1Pxxxxxx",
            "name": "MyKey3",
            "description": "My Key 3",
            "enabled": true,
            "createdDate": 1528406609,
            "lastUpdatedDate": 1528406609,
            "stageKeys": []
        }
}
]

Чтобы получить подробную информацию об API-ключах для одного API-ключа, используйте команду AWS CLI.

aws apigateway get-api-key --include-value --api-key lse3o7xxxx

Должен отображаться нижерезультат.

{
  "id": "lse3o7xxxx",
  "value": "VGUfTNfM7v9uysBDrU1Pxxxxxx",
  "name": "MyKey3",
  "description": "My Key 3",
  "enabled": true,
  "createdDate": 1528406609,
  "lastUpdatedDate": 1528406609,
  "stageKeys": []
}

Аналогично вызову get-api-keys, --include-value здесь обязателен, иначе фактический ключ API не будет включен в результат

Теперь вам нужно преобразовать вывод вформат, который можно сохранить в s3 и более поздних версиях, можно импортировать в apigateway.

Вы можете импортировать ключи с помощью import-api-keys

aws apigateway import-api-keys --body <value> --format <value>

- body (blob)

Полезная нагрузка запроса POST для импорта ключей API.Для формата полезной нагрузки

- формат (строка)

Параметр запроса, указывающий формат ввода для импортируемых ключей API.В настоящее время поддерживается только формат CSV.--format csv

Самый простой стиль с двумя полями, например, ключ, имя

Key,name
apikey1234abcdefghij0123456789,MyFirstApiKey

Вы можете увидеть полную информацию о форматах из API-файл шлюза API шлюзаФормат .

...