工作と競馬2

電子工作、プログラミング、木工といった工作の記録記事、競馬に関する考察記事を掲載するブログ

技術メモ#AWS

ブラウザアプリでAmazon Cognitoを利用したログイン機能をつける

概要 ブラウザアプリでAmazon Cognitoを利用したログイン機能をつける方法を調べ、実施してみた。 概要 背景と目的 詳細 0. やりたいこと 1. PC開発環境の準備 @aws-sdk/client-cognito-identity-providerのインストール Cognito APIGateway ログインするJav…

AWS認定のアカウントをまとめる

概要 2つ保有していたAWS認定のアカウントを1つのアカウントにまとめることができた。 概要 背景と目的 詳細 1. 状況 2. サポートへの統合の依頼 3. サポートからの応答 4. 結果 5. 参考 まとめと今後の課題 背景と目的 私は、これまでにAWS認定を2つ取った…

SageMaker Python SDKで、 "ClientError: An error occurred (ValidationException) when calling the CreateModel operation: RoleArn: Cross-account pass role is not allowed." となるとき

背景 SageMaker Python SDKを使用 ローカルのJupyter Notebookを使用 SageMaker組み込みアルゴリズム randomcutforestを使用 学習済みモデルアーティファクトはS3に格納済み モデルイメージのリージョンとモデルアーティファクトの格納先リージョンは同じ 上…

Windows PCのWSL2上のJupyterNotebook環境で、SageMaker ローカルモードのトレーニングを実行してみる

概要 Windows PCのWSL2上のJupyterNotebook環境で、SageMaker ローカルモードのトレーニングを実行しすることができた。 背景と目的 最近、SageMakerの勉強をしている。ちょっとコーディングを試したいが、AWS上のインスタンスを立ち上げずに軽く勉強したい…

SageMakerチュートリアルをやってSageMakerを理解する

概要 AWS公式のチュートリアルで、Amazon SageMakerを使った機械学習モデルの構築、トレーニング、デプロイまでの一連の作業を体験し、 SageMakerSDKを用いることで統一されたインターフェースでコーディングできること トレーニング先、デプロイ先インスタ…

requestsおよびboto3のプロキシ設定

requests requestsでは、以下の環境変数を設定することで、プロキシ設定を与えられる。 export HTTP_PROXY=... export HTTPS_PROXY=... また、各リクエスト個別で適用する方法もある。 proxies = { 'http' : 'http://user:pass@host:port', 'https' : 'http:…

画像や音声などのバイナリデータを、API Gatewayで受けてLambdaに渡す

概要 画像や音声などのバイナリデータを、API Gatewayで受けてLambdaに渡すときにやるべきことのメモ。 API Gatewayでやるべきこと 1. バイナリメディアタイプ APIの設定で、バイナリメディアタイプを定義する。画像であれば、image/jpeg、音声であればaudio…

Lambda レイヤーのソースコードをアップデートするPythonスクリプト

概要 layerのコードをアップデートするPythonスクリプトを作成した。 背景と目的 Lambda レイヤーのコードをデバッグしていて、手動でアップロードするのが面倒になってきたので、スクリプト化した。 詳細 zipの構造の確認 手動でアップロードする場合、.zip…

boto3を使ってDynamoDBへのクエリを投げるときに、DynamoDBの予約語や特別な文字を含むせいではまったので解決法を調べた

概要 boto3を使ってDynamoDBへのクエリを投げるときに、DynamoDBの予約語や特別な文字を含むせいでうまくいかず色々調べて解決したのでメモする。 背景と目的 boto3でDynamoDBにクエリを投げるとき、 table = boto3.resource("dynamodb").Table(テーブル名) …

APIGatewayとLambdaを一緒に使うためのメモ

背景と目的 APIGatewayとLambdaを一緒に使う場合、設定項目がたくさん用意されていて自由度は高いのだが、いろいろありすぎてどんな時に何をすればいいかわからなくなる。公式ドキュメントを読まずともある程度のことが分かるようにメモしておく。 背景と目…

ElasticsearchをLambdaから読み書きする

概要 Elasticsearchを、Lambdaから読み書きする方法をメモした。 背景と目的 都合により、Elasticsearchを使用する必要が出た。Lambdaから読み書きしたいので、作業内容をメモしておく。 詳細 1. Elasticsearch 1.1 Elasticsearch ドメインの作成 まず、Elas…

Lookout for Equipmentで、推論(inference)対象となるCSVファイルの名前と内容について

はじめに Lookout for Equipmentで、inference scheduleを作成して、推論対象となるCSVファイルをS3に置こうとしたのだが、csvファイルの名前と内容をどうすればよいかわからず、失敗しまくったのでメモる。 ※公式ドキュメントをいくら見ても載っていない。(…

AWS IoT Device SDK v2でpublishするときのackCallbackとpacket idについて

概要 AWS IoT Device SDK v2でのpublishで、ackCallbackとpacket idについて旧版との違いがわかったのでメモした。 概要 背景と目的 詳細 0. 参考URL 1. インストール 2. 動かして気づいたことをメモ 2.1 旧版のMQTTのClientオブジェクトに相当するもの 2.2 …

Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsを試した

概要 Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsを試してみた。 背景と目的 半年前ぐらいに、Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsというものがあるのを知った。 dev.classmethod.jp しかし、なかなか…

Lambdaからboto3を使ってAWS IoTにパブリッシュするときにSSL validation failedが出たので修正

概要 LambdaのPythonバージョン変更で解決。 概要 詳細 詳細 ここ数日、AWS IoTにパブリッシュするLambda関数が以下のようなエラーを吐いて動かなかった。 [ERROR] SSLError: SSL validation failed for https://data.iot.ap-northeast-1.amazonaws.com/topi…

Amazon Athenaメモ

参考資料 docs.aws.amazon.com データベースの作成 CREATE DATABASE mydatabase テーブル作成 CREATE EXTERNAL TABLE test ( id STRING, name STRING, value INT ) LOCATION 's3://{bucket-name}/athenatest/'; レコード挿入 INSERT INTO test VALUES ('id0'…

boto3でLambda関数を呼び出すinvokeメソッドの引数ClientContextを使い方を確認

概要 boto3でLambda.client.invokeの引数ClientContextを使い方を確認してメモした。 ランキング参加中DIY 概要 背景と目的 詳細 呼び出し側 呼び出される側 まとめと今後の課題 背景と目的 boto3でLambdaを呼び出す際、呼び出し先関数へ渡すペイロードの仕…

IFTTTが有料化するので、Webhooks/LINE Notify連携レシピの代替をAWSで検討する

概要 IFTTTのWebhook+LINE Notify連携の代替として、AWS API Gateway + Lambdaの動作を確認した。 概要 背景と目的 詳細 1. LINE NotifyのAPI 1.1 トークンの取得 2 試しに送信 3. APIGateway + Lambda 3.1 APIGateway 3.2 Lambda 3.3 試し実行 まとめと今後…