ブックマーク / dev.classmethod.jp (18)

  • 【アップデート】DynamoDBの文字列型/バイナリ型項目に空文字列が登録できるようになりました!! | DevelopersIO

    CX事業部@大阪の岩田です。2020/5/18付けのアップデートにより、DynamoDBの文字列型/バイナリ型項目に空文字列が登録できるようになりました。 簡単ですが、このアップデートについてご紹介します。 何が変わったの? これまでDynamoDBでは文字列型およびバイナリ型の項目に空文字列を登録することができませんでした。 例えばBoto3を使って以下のようなデータを登録しようとすると、、、 { "id":1 , "attr1": "" } 以下のようなエラーが発生して登録することができませんでした。 One or more parameter values were invalid: An AttributeValue may not contain an empty string そのため、アプリケーションから空文字列を扱いたい場合は一旦空文字列をNULLに変換してからDynam

    【アップデート】DynamoDBの文字列型/バイナリ型項目に空文字列が登録できるようになりました!! | DevelopersIO
    Amigomr
    Amigomr 2021/02/26
  • Lambdaのテスト領域に関する技術共有会を開催しました | DevelopersIO

    はじめに CX事業部の佐藤智樹です。 今回は先月中頃に実施したLambdaのテスト領域に関する技術共有会の資料と当日にいただいた意見を紹介します。技術共有会自体はお客様含め5人ほどで実施予定でしたが、社内の方を誘ったところ15人程と大人数でディスカッションしながら知識を深めました。有意義な時間となったのでブログで共有します。 記事はLambdaに対してどのようなテストをすべきか、Lambdaでこれからテストを書くがどうやれば良いか悩んでいる方などは参考になるかと思います。いくつか紹介するテストパターンのメリット/デメリットもあげるので、テスト選定の上で参考にしてください。 例となる題材がなければ抽象的な話ばかりになり分かりづらくなるので、今回は以下のIoTデータ収集システムをベースにどうテストを書いていくか検討します。IoTデバイスからきたデータをRDSに保存するシステムです。色々書い

    Lambdaのテスト領域に関する技術共有会を開催しました | DevelopersIO
    Amigomr
    Amigomr 2021/02/11
    こういう記事を探していた。でもやっぱり「これさえやっとけば大丈夫」みたいな決定打は無いんだなぁ。難しい。
  • 10分でわかる!Key Management Serviceの仕組み #cmdevio | DevelopersIO

    こんにちは、虎塚です。 先日のCM re:Growth Developers.IO Meetup 11 Tokyo で「10分でわかるKey Management Serviceの仕組み」という発表をしました。今日は、イベントに参加されなかった方がご覧になっても内容が伝わるように、発表内容を記事に起こしてみました。 はじめに Key Management Service(KMS)は、先月開催されたre:Invent 2014で発表された新サービスです。すでに全リージョンで利用できます。このサービスを使うと、データの暗号化/復号用の鍵をAWS上で管理できます。 ところで、KMSのAPIドキュメントを流し読みすると、マスターキーとデータキーという言葉が出てきます。そうです、KMSが扱う鍵は2種類あるんですね。 2つの鍵の違いは何か? どう使い分けるのか? などが、ぱっと見ではわかりづらいかもし

    10分でわかる!Key Management Serviceの仕組み #cmdevio | DevelopersIO
    Amigomr
    Amigomr 2020/12/04
    古い記事だけど、すごくわかりやすい
  • 【速報】Lambdaのパッケージフォーマットとしてコンテナイメージがサポートされるようになりました!! #reinvent | DevelopersIO

    後述しますが、全てのアプリケーションがそのまま動作するわけではなく、いくつか満たすべき要件があるため注意が必要です。詳細については公式ドキュメントもご参照ください。 Lambda requirements for container images OCI準拠のコンテナイメージをサポート コンテナイメージの形式としてはDocker Image Manifest V2 Schema 2もしくはOCI v1.0以上がサポートされます。AWS公式のベースイメージがDockerHubおよびECRから提供されるので、このベースイメージに開発したアプリケーションを追加してビルドするのが基になりますが、前述のイメージフォーマットに準拠していれば、自分で1からビルドしたコンテナイメージを利用することも可能です。 コンテナイメージの要件 Lambda実行環境で正常動作させるためにコンテナイメージには以下の要

    【速報】Lambdaのパッケージフォーマットとしてコンテナイメージがサポートされるようになりました!! #reinvent | DevelopersIO
    Amigomr
    Amigomr 2020/12/04
  • IAMロール徹底理解 〜 AssumeRoleの正体 | DevelopersIO

    さて、皆様はIAMにどのようなイメージをお持ちでしょうか。プロジェクトに関わる複数人で1つのAWSアカウントを扱う時、各メンバーに配布するアカウントを作れる機能。そして、その気になればアカウントをグループ分けし、権限を厳密に管理できる機能。といったところかと思います。 上記のユースケースで出てきた主なエンティティ(要素)はUserとGroupですね。IAMのManagement Consoleで見てみると、IAMはこれらの他にRoleやIdentity Providerというエンティティによって構成されているようだ、ということがわかります。今日はRoleにフォーカスを当てて、その実態を詳しく理解します。 IAM Role IAM Roleを使うと、先に挙げたIAMのユースケースの他に、下記のようなことが出来るようになります。 IAM roles for EC2 instancesを使ってみ

    IAMロール徹底理解 〜 AssumeRoleの正体 | DevelopersIO
    Amigomr
    Amigomr 2020/10/23
  • [初心者向け]言われるままにFargate初めて触ったので、忘れないための記録 | DevelopersIO

    こんにちは、平野です。 先日、部内の進捗報告のSlack部屋で 15分制限に引っかかりそうなのでLambda → Fargateへの変更作業 という文言を見かけました。 先日GlueのPython shellを使ってLambdaの15分の壁を越えようとした記事を書きましたが、 15分の壁を越えろ!GlueのPython shellでVPC Lambdaもどきの長時間ジョブを動かしてみた Fargateでも同じようなことができるのか、と思い、早速試してみようとしました。 (が、今回の記事ではそこまで達成できてません!) しかし、Fargateのこと何も知らないマンだったので、まずどこから触ったらいいのかまったく不明でした。 Fargateの入門記事を調べても、既存のECS環境からFargateへの移行記事などが多く Fargateがある時代にECSデビューする私にとってはツライものがありまし

    [初心者向け]言われるままにFargate初めて触ったので、忘れないための記録 | DevelopersIO
    Amigomr
    Amigomr 2020/10/16
  • ECSでごっつ簡単に機密情報を環境変数に展開できるようになりました! | DevelopersIO

    従来アプリケーション側で必須だった機密情報の復号化が、マネージドな仕組みで実現できるようになりました。 これでついにあんな秘密やこんな秘密をコンテナに渡しやすくなりますね — ポジティブな Tori (@toricls) 2018年11月16日 先日のアップデートで、ECSコンテナ内への機密情報の受け渡しが非常に簡単になりました。 従来は機密情報の展開にアプリケーション側での処理が必要だったものが、マネージドな仕組みで実現可能となっているので、既存ECSユーザーには必見のアップデートとなっております。 参考:AWS Launches Secrets Support for Amazon Elastic Container Service あんなことやこんなこと!? ( ゚д゚) ガタッ /   ヾ __L| / ̄ ̄ ̄/_ \/   / 従来の方法の面倒くささ(自前で機密情報を展開していた

    ECSでごっつ簡単に機密情報を環境変数に展開できるようになりました! | DevelopersIO
    Amigomr
    Amigomr 2020/10/16
  • 無料で使えるGoogleのIDaaS「Google Cloud Identity Free Edition」を利用してみた | DevelopersIO

    みなさん、こんにちは! AWS事業部の青柳@福岡オフィスです。 今回は、Googleが提供する IDaaS (Identity as a Service) である Google Cloud Identity を使い始めるまでの流れをご紹介したいと思います。 「Google Cloud Identity」とは Googleが提供するユーザーアカウントのサービスと言えば、真っ先に「Googleアカウント」を思い浮かべる方も多いのではないかと思います。 Googleアカウントと「Google Cloud Identity」は何が違うのでしょうか? 大きな違いが、Googleアカウントが個人向けのサービスであるのに対して、Google Cloud Identityは組織 (会社や学校など) 単位でユーザーアカウントの管理ができるサービスという点です。 また、Googleアカウントではユーザーアカ

    無料で使えるGoogleのIDaaS「Google Cloud Identity Free Edition」を利用してみた | DevelopersIO
    Amigomr
    Amigomr 2020/10/07
    Active Directory的なもの?
  • macOS X/iOSからドイツ語特殊文字を入力するには? | DevelopersIO

    ドイツ語にはラテン文字以外に Ä/ä(Aのウムラウト) Ü/ü(Uのウムラウト) Ö/ö(Oのウムラウト) ß(エスツェット) という特殊文字が使われます。 例えば „Grüß Gott(こんにちは)“ などです。 今回はエンジニアがよく使っているmacOS/iOS + 英語キーボード環境でこれらの文字を入力する方法を紹介します。 普段からドイツ語キーボードをお使いの方はお帰りください。 macOS Mac Book などから入力するケースが該当します。 直接入力(Google Japanese Input だと Alphanumeric)モードで入力します。 ウムラウト系の場合は Alt-u に続けて対応するキーを、ß の場合は Alt-s キーを入力します。

    macOS X/iOSからドイツ語特殊文字を入力するには? | DevelopersIO
    Amigomr
    Amigomr 2020/05/17
  • 機械学習で使う数学入門(社内勉強会) | DevelopersIO

    社内勉強会で 機械学習で使う数学入門 の話をしました。 話した内容をブログにします。 目次 AI/ML/DL 人工知能(AI) 機械学習(ML) 深層学習(DL) 機械学習(モデル) MLの問題例 どう機械学習の問題を解くか 機械学習(目的関数) どのようにモデルの良し悪しを測るか 目的関数 目的関数の具体例1 目的関数の具体例2 微分 そもそも微分とは 微分でできること 勾配降下法 微分 まとめ 線形代数 線形代数とは 線形代数でできること 線形代数 まとめ 確率・統計 確率変数・確率分布 条件付き確率 ベイズの定理 混同行列(Confusion Martix) 確率・統計 まとめ 数学をどれくらい学ぶか とりあえず読もう 数式 微分 線形代数 確率・統計 自分の数学の勉強方法 Chainerチュートリアル Project Euler(プロジェクトオイラー) おわりに 参考 AI/ML/

    機械学習で使う数学入門(社内勉強会) | DevelopersIO
  • 手元の作業端末からAmazon RDSに接続する方法 | DevelopersIO

    手元の作業端末から、VPCに作成したAmazon RDSに接続したいケースがあります。 開発時にDBクライアントで接続するといった形です。 RDSには様々な方法で接続できます。パターンを整理してみました。 接続パターン Publicly Accessible オプションを有効化して接続する RDSをパブリックサブネットに配置し、Publicly Accessibleを有効にする方法です。 パブリックサブネットとは、インターネットゲートウェイへのルーティングが可能なサブネットです。 Publicly Accessibleを有効にすると、RDSのエンドポイントがパブリックIPアドレスに解決されます。 セキュリティグループでクライアントの拠点のIPアドレスだけ許可すれば、拠点からのみ接続できます。 番データを扱う場合などは、SSLを利用した暗号化を検討します。 踏み台サーバーのSSHポート転送

    手元の作業端末からAmazon RDSに接続する方法 | DevelopersIO
    Amigomr
    Amigomr 2020/03/22
  • 【新機能】API Gateway VPC integrationを使ってみた #reinvent | DevelopersIO

    コンニチハ、千葉です。 re:Invent2017 キーノート2日目で発表されたアップデートになります!! API Gateway VPC integrationとは? API GatewayのバックエンドとしてLambdaやHTTP、AWSサービスを指定することができました。また、HTTPのバックエンドはインターネット経由でのアクセスのみでしたが、今回VPC integrationによりVPC内のリソースをバックエンドに指定することができるようになりました。 やってみた API GatewayからバックエンドにVPCを指定するためには、NLB + VPC Linksが必要になります。 ネットワークロードバランサ(NLB)の作成 今回はinternalなNLBを作成します。(externalでも可) NLBのターゲットグループにはNginxをインストールしたEC2をアタッチしました。 VP

    【新機能】API Gateway VPC integrationを使ってみた #reinvent | DevelopersIO
    Amigomr
    Amigomr 2020/02/16
  • [レポート] あなたの知らないAmazon API Gateway #SVS212 #reinvent | DevelopersIO

    こんにちは!DA事業部の大高です!無事、ラスベガスから日に帰国しました。 記事はAWS re:Invent 2019のセッションレポートとなります。 概要 This session is an introduction to Amazon API Gateway and the problems it is solving. We walk through the moving parts of API Gateway, giving examples of possible use cases both common and not so common. You come away with a solid understanding of why you should use API Gateway and what it can do. このセッションは、Amazon API

    [レポート] あなたの知らないAmazon API Gateway #SVS212 #reinvent | DevelopersIO
    Amigomr
    Amigomr 2019/12/09
  • PythonのListとTupleの違いとTupleはなぜ早いのかを調べてみた | DevelopersIO

    データアナリティクス事業部@札幌の佐藤です。 ListとTuple使いこなせてますか? 私はPythonをやる前はTupleの存在しない世界の住人だったため、なにこのカッコは……た、Tuple……???って感じでした。 同じような方もいらっしゃるのかなと思いますし、あの頃の自分に教えてあげたいというのもありますのでそんな意味も込めてListとTupleの違いとTupleはなぜ早いのかについて書きたいと思います。 そもそもListとTupleとは そもそもListとTupleは共にシーケンス型です。いわゆる配列ができる型になります。 上記のほかにはstrやrangeもシーケンシャルに値を取得できます。 基的なシーケンス型は 3 つあります: リスト、タプル、range オブジェクトです。バイナリデータ や テキスト文字列 を処理するように仕立てられたシーケンス型は、セクションを割いて解説

    PythonのListとTupleの違いとTupleはなぜ早いのかを調べてみた | DevelopersIO
    Amigomr
    Amigomr 2019/11/22
  • Amazon API Gateway の API を Cognito で認証して呼び出す | DevelopersIO

    API を IAM で認証する Amazon API Gateway (以下 API Gateway) で作成した API は、誰でも呼び出せるように公開する他に、2つの認証方法が用意されています。 API Key をヘッダーに付与する方法 (こちらで解説) IAM で認証する方法 この2つの方法のうち、今回は IAM で認証する方法を試してみたいと思います。 API Gateway にはモバイルアプリ向けの SDK を生成する機能がある点から、モバイルアプリを主なターゲットにしているように思えます。そこで、Amazon Cognito (以下 Cognito) を利用した認証方式を通して API Gateway で作成した API を呼び出してみたいと思います。 先日まで生成した SDK の認証周りでエラーが発生し Cognito (IAM Role) を利用した呼び出しが行えないことが

    Amazon API Gateway の API を Cognito で認証して呼び出す | DevelopersIO
    Amigomr
    Amigomr 2019/11/15
  • ユーザーをログアウトから守れ!―シーケンス図から読み解くログイン状態維持【Mobileアプリ編】 | DevelopersIO

    認証というのは面倒なもので、利用者に余計な手間を掛けさせてアクティブ率を下げたくないと日夜工夫を凝らす我々にとっては、やり玉に上がりやすいテーマであると思います。要するに、ユーザーをログアウトさせたくないわけです。さて、どうしましょう? 生魚おじさん、都元です。今日の魚はワラサです! 出世魚であるブリのちっちゃいヤツです! 今回はユーザーをログアウトから守れ!―シーケンス図から読み解くログイン状態維持【Webアプリ編】と対になる、Mobileアプリ編をお送りします。 さて、認証というのは面倒なもので、利用者に余計な手間を掛けさせてアクティブ率を下げたくないと日夜工夫を凝らす我々にとっては、やり玉に上がりやすいテーマであると思います。要するに、ユーザーをログアウトさせたくないわけです。(再掲) 例えば Facebook や Twitter のモバイルアプリはいつ起動しても自分のアカウントでロ

    ユーザーをログアウトから守れ!―シーケンス図から読み解くログイン状態維持【Mobileアプリ編】 | DevelopersIO
    Amigomr
    Amigomr 2019/11/15
  • Amazon API Gateway を使って AWS 以外のサービスの API をラップする | DevelopersIO

    Amazon API Gateway!!!! AWS Summit 2015 NewYork で発表&ローンチされた新サービス「API Gateway」。社内でも社長を筆頭に愉しみながら触れています。 Amazon Lambda と連係させることで、Lambda Function を HTTP 形式の API にできるところに注目が集まっていますが、API Gateway ではそれだけではなく、外部の HTTP プロキシの API の呼び出しや各 AWS サービスの API の呼び出しも可能です。API Gateway はいろいろな可能性に満ちあふれています。 ということで今回は HTTP プロキシの API との連係機能を使って、OpenWeatherMap のラッパー的な API を作成してみたいと思います。 API の作成 それでは、API を作成していきましょう。まずはじめに「Ge

    Amazon API Gateway を使って AWS 以外のサービスの API をラップする | DevelopersIO
    Amigomr
    Amigomr 2019/11/13
  • ゼロから作りながら覚えるAPI Gateway環境構築 | DevelopersIO

    こんにちは、臼田です。 みなさん、Lambdaしていますか? Lambdaと合わせてAPI Gatewayを使う場面も何かとあるかと思います。 ブログでは様々なAPI Gatewayの記事があり、下記のまとめも参考になります。 【まとめ】API Gatewayを学ぶための記事まとめ しかし、ゼロからAPI Gatewayを構築して、実際に今後APIの実装を行なって行こうとする時に何からやればいいかわからない、ということもあるかと思い今回その手順をまとめようと思いました。 ブログの趣旨 稿は以下の内容を意識して作成しました。 これからAPI Gatewayを使ってAPIを構築しようとしている人向け API Gatewayと、連携するLambdaのモック、それに付随したIAMを作成する とりあえずAPI Gatewayの環境を作成し、APIの実装やバックエンドのロジックに取り掛かれるよう

    ゼロから作りながら覚えるAPI Gateway環境構築 | DevelopersIO
    Amigomr
    Amigomr 2019/11/13
  • 1