CodeBuildを使ってDocumentDBを操作する
概要
CodeBuildを使ってDocumentDBを操作(抽出、挿入、削除)する
方法の概略
1. DocumentDBと同じVPC内でCodeBuildを作成
2. buildspec.yml
にDocumentDBを操作するためのコマンドを書く
3. CodeBuildを実行する
事前準備
-
「public/private subnet」があるVPCとDocumentDBを用意
-
CodeBuildが読み取るコードの場所を用意
- 一般的にはCodeCommitがよく利用される
やってみる
1. DocumentDBと同じVPC内でCodeBuildを作成
「public/private subnet」があるVPCとDocumentDBを用意
CodeBuildが読み取るコードの場所を用意
- 一般的にはCodeCommitがよく利用される
1. DocumentDBと同じVPC内でCodeBuildを作成
VPCにCodeBuildプロジェクトを作成する。
作成する時には以下のことに気をつける。
- 必ずprivate subnetに作成する
- セキュリティグループを適切に設定
2. buildspec.yml
にDocumentDBを操作するためのコマンドを書く
version: 0.2
phases:
install:
commands:
# mongo-shellをインストールする
- echo -e "[mongodb-org-4.0] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc" | tee /etc/yum.repos.d/mongodb-org-4.0.repo
- yum install -y mongodb-org-shell
build:
commands:
# SSL接続のために公開鍵をダウンロードしておく
- wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
# 対話シェルが使えないので、script.jsを読み込ませてる
# TODO: ${}にはそれぞれ適当な値を入れること
- mongo --ssl --host ${HOST} ${DB_NAME} --sslCAFile rds-combined-ca-bundle.pem --username ${USERNAME} --password ${PASSWORD} < script.js
script.jsのコード例(詳細説明は他の記事で)
/* --------------------------------- */
/* コレクション一覧 */
/* --------------------------------- */
db.getCollectionNames();
/* --------------------------------- */
/* ドキュメント内容 */
/* --------------------------------- */
// collectionを参照。存在しない場合は勝手に作成される。
collection = db.getCollection(<collection_name>);
collection.find();
/* --------------------------------- */
/* データを挿入 */
/* --------------------------------- */
collection = db.getCollection(<collection_name>);
doc_1 = {
name: "bar",
favarite: "foo"
};
collection.insert(doc_1);
/* --------------------------------- */
/* データを削除 */
/* --------------------------------- */
collection = db.getCollection(<collection_name>);
collection.remove({name: "bar"});
一応、CodeCommitのフォルダ構成
./
- buildspec.yml
- script.js
3. CodeBuildを実行
buildspec.yml
の内容が実行される
そして、DocumentDBに対してscript.js
の操作が行われる
Author And Source
この問題について(CodeBuildを使ってDocumentDBを操作する), 我々は、より多くの情報をここで見つけました https://qiita.com/hobbypro/items/01b352f92614dbf9a3c6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .