yq

表題のコマンドを知ったので試してみたい。

■ 環境

  • yq
  • Homebrew
  • macOS High SIerra

■ yq

インストール。

$ brew update
$ brew install yq

とりあえず読み込むのはどうしたら良いんだ?と`help`を確認。

$ yq -h

`read`というサブコマンドがあるようなのでこれを使う。

$ yq read example.yml

上記のようにすると、指定したyamlのファイルが全て展開された。`jq`と同様に表示を絞れるようだ。

$ yq read example.yml *.*.*.name

上記のようなことができた。

しかし、自身がローカルに保存しているyamlファイルはほとんど`ansible`のplaybookしかなかったので表示内容的にはいまいちだった…。

以上。

DynamoDBで全件取得

表題の通り。

■ 環境

  • AWS DynamoDB
  • awscli
  • macOS High Sierra

■ scan

`scan`サブコマンドで全件取得することができる。

$ aws dynamodb scan --table-name example
  :
    ],
    "Count": 1200,
    "ScannedCount": 1200,
    "ConsumedCapacity": null
}
$

件数が多いともちろん全件取得すると出力も大きくなるので必要に絞ると良い。

$ aws dynamodb scan --table-name example --max-items 100
  :
    ],
    "Count": 1200,
    "ScannedCount": 1200,
    "ConsumedCapacity": null,
    "NextToken": "eyJFeGNsdXNpdmVTdGFydEtleSI6IG51bGwsICJib3RvX3RydW5jYXRlX2Ftb3VudCI6IDEwMXXX"
}
$

–max-items“を指定してみたところ、指定した100件が得られ、さらに”NextToken“が表示されていた。これを使えばpaging的に取得できるようだ。下記で試してみた。

$ aws dynamodb scan --table-name example --max-items 100 --starting-token 'eyJFeGNsdXNpdmVTdGFydEtleSI6IG51bGwsICJib3RvX3RydW5jYXRlX2Ftb3VudCI6IDEwMXXX'
  :
    ],
    "Count": 0,
    "ScannedCount": 0,
    "ConsumedCapacity": null,
    "NextToken": "eyJFeGNsdXNpdmVTdGFydEtleSI6IG51bGwsICJib3RvX3RydW5jYXRlX2Ftb3VudCI6IDIwMXXX"
}
$

内容を確認して行くと、ちょうど後続の100件が取得できたようである。”NextToken“の値が非常に似通っているが、よくよく見てみると異なっていることがわかる。

以上。

■ 関連

tableの件数を知りたい@DynamoDB

スマホでアクセスするIP

  1. 表題の件についての単なるメモ。

■ 環境

  • au

■ from IP

とあるアクセス制限をしているページがあるのだが、一時的にスマホでアクセスしたかったのでIPを調べて個別に開放しようと思った。

スマホで一般公開しているサイトにアクセスし、自身のスマホがアクセスしているIPを割り出した。

182.250.166.XXX - - [29/Jun/2018:19:03:48 +0900] "GET /example HTTP/1.1" 200 9718 "https:/example.com/" "Mozilla/5.0 (iPhone; CPU iPhone OS 11_3_1 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/67.0.3396.87 Mobile/15E302 Safari/604.1"

短時間であればIPが変わることもないだろう、という考えからであったのだが、どうやら認識が甘かったようである。

上記アクセスで得られたIPを元に、アクセス制限をしているサイトにおいて開放してみたのだがアクセスができない…。動き的に開放されていないようなので、仕方なしに全開放してアクセスしてみたところ、下記のようなアクセスログが得られた。

182.249.242.XXX - - [29/Jun/2018:19:04:34 +0900] "GET /example2 HTTP/1.1" 200 50728 "https://example.net/" "Mozilla/5.0 (iPhone; CPU iPhone OS 11_3_1 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/67.0.3396.87 Mobile/15E302 Safari/604.1"

IPが違う…。再度最初にIPを割り出すためにアクセスしたサイトにアクセスしてみると、当初と同じIPが得られた。接続先によってIPが異なるのか?そういうものなのか…。

以上。

Wireshark@Mac

表題の通り。Wiresharkでパケットキャプチャしたのでファイルを確認しろとのこと…。

■ 環境

  • Wireshark 2.6.1
  • macOS High Sierra

■ Wireshark

Macでは使用したことがない。

Wireshark
https://www.wireshark.org/

Download“から”macOS 10.6 and later Intel 64-bit.dmg“をクリックして”Wireshark 2.6.1 Intel 64.dmg“をダウンロードした。

ダウンロード後、ダブルクリックで展開。

.pkg“をダブルクリックしてインストール。

後はインストールするのみ。

インストール完了。

以上。

Posted in: Mac | Tagged:

tableの件数を知りたい@DynamoDB(2)

表題の件。昨日とは別手段。

■ 環境

  • DynamoDB
  • awscli 1.15.40
  • macOS High Sierra

■ DynamoDB

前回のエントリでは下記で取得した。

$ aws dynamodb scan --table-name example --select COUNT

しかし、`scan`サブコマンドであるからデータが少ない今だから即数値が取得できるのかな?他に手段はないのかな?と疑問に思い継続調査。

下記手段でも取得できることを確認した。

$ aws dynamodb describe-table --table-name example
{
    "Table": {
  :
        "TableName": "example",
  :
        "TableSizeBytes": 49594,
        "ItemCount": 600,
  :
    }
}
$

`describe-table`サブコマンドで取得することができていた。`scan`であると全データを一時的にでも検索しているのだろうか?となるとデータ量が増えた時に応答時間が遅くなるかもしれない?料金も掛かる?といったことが発生するのかと疑問に思うことがいくつか。

とりあえず今後は`describe-table`サブコマンドで取得することにする。

以上。

■ 関連

tableの件数を知りたい@DynamoDB