YouTubeで1.5倍速

表題の通り。知らなかったのでメモ。どうでも良いことだけど…。

■ 環境

  • YouTube
  • Google Chrome
  • macOS High Sierra

■ YouTube

AWSの各種セッション動画等を見たいのだが、通常の速度ではちょっと遅い。動画も大量にあるのでできれば短時間で見聞きしたい。

設定(右下歯車マーク) → 速度

ここから『1.25』『1.5』『2』が選択できた。これで捗る。

以上。

■ 関連

QuickTimeで1.5倍速再生

jsonlint

表題について。たまたま知ったので試してみた。

■ 環境

  • jsonlint 1.6.0
  • Homebrew
  • macOS High SIerra

■ jsonlint

検索。

$ brew update
$ brew search jsonlint
==> Formulae
jsonlint
$

インストール。

$ brew install jsonlint

インストールされたものは下記のようである。

$ brew ls jsonlint
/usr/local/Cellar/jsonlint/1.6.0/bin/jsonlint
/usr/local/Cellar/jsonlint/1.6.0/libexec/bin/jsonlint
/usr/local/Cellar/jsonlint/1.6.0/libexec/lib/ (275 files)
$

ヘルプを確認してみる。

$ jsonlint --help

Usage: jsonlint [file] [options]

file     file to parse; otherwise uses stdin

Options:
   -v, --version            print version and exit
   -s, --sort-keys          sort object keys
   -i, --in-place           overwrite the file
   -t CHAR, --indent CHAR   character(s) to use for indentation  [  ]
   -c, --compact            compact error display
   -V, --validate           a JSON schema to use for validation
   -e, --environment        which specification of JSON Schema the validation file uses  [json-schema-draft-03]
   -q, --quiet              do not print the parsed json to STDOUT  [false]
   -p, --pretty-print       force pretty printing even if invalid

$

試しにJSONの体をなしていないファイルで試してみると下記のようになった。

$ jsonlint sample.json
Error: Parse error on line 3:
...      {            Request": {
----------------------^
Expecting 'STRING', '}', got 'undefined'
  :

」が無いことを知らせてくれた。

$ jsonlint sample.json
Error: Parse error on line 8:
...          "Method": "GET
-----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', got 'undefined'
  :

,」が無いことを知らせてくれた。

とりあえずは自分がやりたいことには使えそうである。

以上。

aws configure list

表題を知らなかったのでメモ。

■ 環境

awscli 1.15.60
macOS High Sierra

■ aws

参考にさせてもらってるブログで記載されていたので試してみた。

$ aws --profile production configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile               production           manual    --profile
access_key     ****************XXXX shared-credentials-file
secret_key     ****************xxxx shared-credentials-file
    region           ap-northeast-1      config-file    ~/.aws/config
$

どのprofileを使うか、鍵は何かがわかるようだ。上記では`access_key`/`secret_key`は別ファイルに書き出されてるよ、と教えてくれる。環境変数で指定しているものが適用されているときは”Type”に”env”と記載されるようだ。

profile“を指定して実行したところ、そちらも思い通りの結果を得られた。

以上。

Kinesis Data Firehoseにデータ投入

表題を試したい。

■ 環境

  • awscli 1.15.0
  • AWS Kinesis Data Firehose
  • macOS High Sierra

■ Kinesis Data Firehose

ManagementConsoleからいろいろ設定をして環境は作った。テストをしたくて簡易的にデータを入れて動作を確認したい。

$ aws firehose help

`firehose`サブコマンドを使うようである。どんなコマンドがあるかと確認すると下記であった。

  • create-delivery-stream
  • delete-delivery-stream
  • describe-delivery-stream
  • help
  • list-delivery-streams
  • list-tags-for-delivery-stream
  • put-record
  • put-record-batch
  • tag-delivery-stream
  • untag-delivery-stream
  • update-destination

データの投入をしたいので、今回は`list-delivery-streams`/`describe-delivery-stream`/`put-record`だけを確認してみる。

$ aws firehose list-delivery-streams
{
  "DeliveryStreamNames": [
    "example-stream-001"
  ],
  "HasMoreDeliveryStreams": false
}
$

詳細を見てみる。

$ aws firehose describe-delivery-stream --delivery-stream-name example-stream-001
{
  "DeliveryStreamDescription": {
    "DeliveryStreamName": "example-stream-001",
    "DeliveryStreamARN": "arn:aws:firehose:ap-northeast-1:XXXXXXXXXXXX:deliverystream/example-stream-001",
    "DeliveryStreamStatus": "ACTIVE",
    "DeliveryStreamType": "DirectPut",
    "VersionId": "1",
    "CreateTimestamp": 1533028327.363,
    "Destinations": [
      {
        "DestinationId": "destinationId-000000000001",
        "S3DestinationDescription": {
        "RoleARN": "arn:aws:iam::XXXXXXXXXXXX:role/firehose_delivery_role",
        "BucketARN": "arn:aws:s3:::firehose-example",
        "Prefix": "logs/",
        "BufferingHints": {
          "SizeInMBs": 5,
          "IntervalInSeconds": 60
        },
        "CompressionFormat": "GZIP",
        "EncryptionConfiguration": {
          "NoEncryptionConfig": "NoEncryption"
        },
        "CloudWatchLoggingOptions": {
          "Enabled": true,
          "LogGroupName": "/aws/kinesisfirehose/example-stream-001",
          "LogStreamName": "S3Delivery"
        }
      },
      "ExtendedS3DestinationDescription": {
        "RoleARN": "arn:aws:iam::XXXXXXXXXXXX:role/firehose_delivery_role",
        "BucketARN": "arn:aws:s3:::firehose-example",
        "Prefix": "logs/",
        "BufferingHints": {
          "SizeInMBs": 5,
          "IntervalInSeconds": 60
        },
        "CompressionFormat": "GZIP",
        "EncryptionConfiguration": {
          "NoEncryptionConfig": "NoEncryption"
        },
        "CloudWatchLoggingOptions": {
          "Enabled": true,
          "LogGroupName": "/aws/kinesisfirehose/example-stream-001",
          "LogStreamName": "S3Delivery"
        },
        "ProcessingConfiguration": {
          "Enabled": false,
          "Processors": []
        },
        "S3BackupMode": "Disabled"
      }
    }
  ],
  "HasMoreDestinations": false
  }
}
$

設定した通りの内容が出てきている気がする。

JSONでデータをしたかったのだが、下記でできた。

aws firehose put-record --delivery-stream-name example-stream-001 --record '{"Data":"{\"attribute\":1}"}'

以上。