AWS QLDB [ОШИБКА] [Пример кода QLDB для Node.js] Невозможно создать реестр: ConfigError: в конфигурации отсутствует регион

AWS QLDB CreateLedger.js создает ошибку.

~repo/amazon-qldb-dmv-sample-nodejs$ node dist/CreateLedger.js 
[LOG][Node.js QLDB Sample Code] Creating a ledger named: vehicle-registration...
[AWS qldb undefined 0.005s 0 retries] createLedger({ Name: 'vehicle-registration', PermissionsMode: 'ALLOW_ALL' })
[ERROR][Node.js QLDB Sample Code] Unable to create the ledger: ConfigError: Missing region in config.

Как обновить регион в коде nodejs Typescript в CreateLedger.js

https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started.nodejs.step-1.html

Я хочу добавить регион в файл CreateLeger.TS

import { QLDB } from "aws-sdk";

import {
    CreateLedgerRequest,
    CreateLedgerResponse,
    DescribeLedgerRequest,
    DescribeLedgerResponse,
 } from "aws-sdk/clients/qldb";

import { LEDGER_NAME } from "./qldb/Constants";
import { error, log } from "./qldb/LogUtil";
import { sleep } from "./qldb/Util";

const LEDGER_CREATION_POLL_PERIOD_MS = 10000; const ACTIVE_STATE = 
"ACTIVE";

export async function createLedger(ledgerName: string, qldbClient: 
QLDB): Promise<CreateLedgerResponse> {
log(`Creating a ledger named: ${ledgerName}...`);
const request: CreateLedgerRequest = {
    Name: ledgerName,
    PermissionsMode: "ALLOW_ALL"
}
const result: CreateLedgerResponse = await 
qldbClient.createLedger(request).promise();`enter code here`
log(`Success. Ledger state: ${result.State}.`);
return result; }

In which section I can add the region. So generated 
dist/createLedger.js file have the changes

2 ответа

Вы можете установить регион в своем коде JavaScript с помощью объекта глобальной конфигурации. Обновите глобальный объект конфигурации AWS.Config, как показано здесь:

AWS.config.update({region: 'us-east-1'});

В качестве альтернативы вы можете установить переменную среды в своей оболочке:

export AWS_REGION=us-east-1

Вы можете найти все параметры в разделе "Настройка региона AWS".

Одно замечание по этому поводу : SDK node.js по умолчанию не загружает общий файл конфигурации, в котором, помимо прочего, хранится конфигурация вашего региона. Иногда это сбивает меня с толку, так как некоторые другие SDK, например boto3 сделать это по умолчанию.

Вы должны установить переменную среды AWS_SDK_LOAD_CONFIG=1 чтобы загрузить это.

Этот общий файл конфигурации создается, например, когда вы проходите через aws configure шаги в aws-cli.

Связанные сообщения: Как загрузить конфигурацию из ~/.aws/config

После некоторой попытки я получил ответ. вы можете обновить конфигурацию в этом файле ~src/qldb/logutil.ts

   import { config } from "aws-sdk";

   config.logger = console;
   config.update({region: 'us-east-1'});
Другие вопросы по тегам