はじめに
以下の Hello Amazon Cognito を Cloud9 で行う。
手順
1. Cloud9 を起動
- インスタンスタイプは t3.micro (1 GiB RAM + 2 vCPU)
2. hello-cognito.js を作成
以下のサンプルコードを編集する。
- 編集前(Hello Amazon Cognito をコピペ)
hello-cognito.js
import {
paginateListUserPools,
CognitoIdentityProviderClient,
} from "@aws-sdk/client-cognito-identity-provider";
const client = new CognitoIdentityProviderClient({});
export const helloCognito = async () => {
const paginator = paginateListUserPools({ client }, {});
const userPoolNames = [];
for await (const page of paginator) {
const names = page.UserPools.map((pool) => pool.Name);
userPoolNames.push(...names);
}
console.log("User pool names: ");
console.log(userPoolNames.join("\n"));
return userPoolNames;
};
- 編集後
hello-cognito.hs
- import {
+ const {
paginateListUserPools,
CognitoIdentityProviderClient,
- } from "@aws-sdk/client-cognito-identity-provider";
+ } = require("@aws-sdk/client-cognito-identity-provider");
const client = new CognitoIdentityProviderClient({});
const helloCognito = async () => {
const paginator = paginateListUserPools({ client }, {});
const userPoolNames = [];
for await (const page of paginator) {
const names = page.UserPools.map((pool) => pool.Name);
userPoolNames.push(...names);
}
console.log("User pool names: ");
console.log(userPoolNames.join("\n"));
return userPoolNames;
};
helloCognito();
実行
$ node hello-cognito.js
test-userpool-20240710
メモ
- Cloud9 には最初から SDK パッケージが入っていた
$ npm info @aws-sdk/client-cognito-identity-provider version
3.613.0
- import ではなく require を使用する
- ドキュメントのコードだと以下エラーが発生
/home/ec2-user/environment/work/hello-cognito.js:1
import {
^^^^^^
SyntaxError: Cannot use import statement outside a module
参考