Cloudantを使っていると、ディレクトリにある全てのファイルを一括登録したくなるときがあります。
IBM Cloudantにファイルを一括で登録したくなるときがありますが、CloudantのUIだと1つずつしか登録できない。。。
しかたないのでシェルのワンライナーで実現しましょう。
# 最後のBASIC=user_name:passwordにBASIC認証のパスワードを入力する
# DOC_URL=https://your_cloudant-bluemix.com/your_db/your_document/にdocumentのURLを入力する
$ ls | xargs -L1 -I{} echo 'echo "File:{}" && curl -u $BASIC -sS "$DOC_URL" | jq -r ._rev | tr -d \\r\\n | xargs -L1 -I__rev curl -u $BASIC -XPUT --url "$DOC_URL"'{}?rev=__rev' --data-binary @{}' | BASIC=user_name:password DOC_URL=https://your_cloudant-bluemix.com/your_db/your_document/ bash
どんなに多いファイルでも、Cloudantへのデータ登録は1行で。そう、シェル芸ならね。
ファイル名を表示しつつ、ファイルをアップしてくれます。
また、**単一のattachmentsファイルの最大サイズは10MBまで**なので、ファイルサイズには気をつけましょう。
参考