Lambda(C#),DynamoDBでAuto Increment(アトミックカウンター)する方法

DynamoDB には、他の RDBMS のようなシーケンス番号で KEY を管理する Auto Increment の機能は残念ながらありません。 ですが、それを補う方法として、シーケンス番号を管理するテーブルを作成しておき、カウントアップ更新時にカウントアップした値を返す…

Lambda関数(C#)でDynamoDBにDeleteItem(データ削除)する方法

Lambda 関数(C#)で DynamoDB にアクセスして DeleteItem (データ削除)する方法をメモしておきます。 まず、DynamoDBのItemIdというテーブルを以下のように作成します。パーティションキーはidで、_versionはキーではない属性になります。 項目は以下のように…

Lambda関数(C#)でDynamoDBにUpdateItem(データ更新)する方法

Lambda 関数(C#)で DynamoDB にアクセスして UpdateItem (データ更新)する方法をメモしておきます。 まず、DynamoDBのItemIdというテーブルを以下のように作成します。パーティションキーはidで、_versionはキーではない属性になります。 項目は以下のように…

Lambda関数(C#)でDynamoDBにPutItem(Insert/データ追加)する方法

Lambda 関数(C#)で DynamoDB にアクセスして PutItem (Insert/データ追加)する方法をメモしておきます。 まず、DynamoDBのItemIdというテーブルを以下のように作成します。パーティションキーはidで、_versionはキーではない属性になります。 Lambda 関数(C#…

映画「サカサマのパテマ」を楽しく観ました

前から気になっていた映画である「サカサマのパテマ」を Amazon Prime Video で観ました。 2013年の映画ですが、映像も内容もそんなに古さを感じることなく、おもしろく観ることができました。 さて、ストーリーですが、かつての人類の過ちにより大規模な災…

Lambda関数(C#)でDynamoDBにアクセスしてGetItemする方法

Lambda 関数(C#)で DynamoDB にアクセスして GetItem しようとしたのですが、やたらと苦労したのでメモを残しておきます。 まず、DynamoDBのItemIdというテーブルを以下のように作成します。パーティションキーはidで、_versionはキーではない属性になります…

映画「打ち上げ花火、下から見るか?横から見るか?」を観た感想

映画「打ち上げ花火、下から見るか?横から見るか?」を Amazon Video でレンタルして観てみました。 なんでも、公開当時はあまり評判がよくなかったということだったけれどもおもしろいというお話を聞いて、観てみようと思いました。 それで、Amazon Video …

Lambda関数(C#)でNugetパッケージを追加した場合のAWSへのアップロード方法

AWS Toolkit for Visual Studio で C# の Lambda 関数を作成したのですが、Visual Studio からアップロードするとエラーとなってしまいました。 原因は、Nuget で新しいパッケージをインストールしたことですが、アップロード時になぜか参照が外れてしまいコ…

Fix:コマンド "dotnet-lambda" に一致する実行可能ファイルが見つかりません

以下のコマンドを実行して、Lambda関数のデプロイ用ファイルを作成しようとしたところ、表題のエラーが発生してしましました。 > dotnet lambda package --configuration Release --framework netcoreapp2.1 コマンド "dotnet-lambda" に一致する実行可能フ…

C# のLambda関数でDynamoDBを扱うにはNugetパッケージのインストールが必要

ちょっと悩んだので、メモとして残しておきます。 C# の Lambda 関数で DynamoDB へアクセスしようとしたのですが、Amazon の名前空間に DynamoDB に該当するものが存在しませんでした。 なにかインストールする必要があるのかと思って調べてみたところ、以…

C# のLambda関数でログの出力先をTest FunctionのLog outputエリアに出力する方法

地味に引っかかりそうなので、メモに残しておきます。 C# のLambda関数は Test Function で動作確認すると思いますが、ログの出力先をTest FunctionのLog outputエリア(下図)に出力したい場合は、Console.WriteLineでは出力できません。 Test FunctionのLo…

Angularで外部JavaScriptを読み込みHTML要素を書き換える方法

Angular でプログラムを書いていると、どうしても画面の遷移時に JavaScript を実行させたくなります。 ですが、テンプレートの HTML に <script>要素で処理を記述しても、テンプレート適用時に無効になってしまいます。 そこで調べてみたところ、コンポーネントの初…

Fix: oauthService.getIdentityClaims always returns null with implicit flow

Angular の angular-oauth2-oidc ライブラリで、Google の OAuth 認証を行おうとしたら、this.oauthService.getIdentityClaims();が必ず null を返してきて、ユーザーの情報が取得できませんでした。 原因がいくつか分かったので、メモとして残しておきます…

Fix:ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'state' Error: Cannot match any routes

Angular で OAuth の処理を行っている際に、以下のエラーが出力されました。 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'state' Error: Cannot match any routes. URL Segment: 'state' at Anonymous function (ht…

Fix:ERROR Error: StaticInjectorError(AppModule)[OAuthService -> HttpClient]: StaticInjectorError(Platform: core)[OAuthService -> HttpClient]: NullInjectorError: No provider for HttpClient!

Angular で OAuth の処理を行っている際に、以下のエラーが表示されました。 ERROR Error: StaticInjectorError(AppModule)[OAuthService -> HttpClient]: StaticInjectorError(Platform: core)[OAuthService -> HttpClient]: NullInjectorError: No provide…

AngularなSPAでリロード時にアクセスエラーが起きる問題の解消方法

Angular な SPA を、Amazon S3 + CloudFront の環境にアップロードしていたのですが、デフォルトのルーティング設定だと、リロード時に以下のようなアクセスエラー(403? 404?)が発生してしまいます。 <Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>774BF58712AE4AD1</RequestId> <HostId>bn3apgN</hostid></error>…

Fix:Error: No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.

Angular で以下のようなエラーが発生するようになってしまいました。 Error: No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document. at new PathLocationStrategy (common.js:403) at provideLocat…

Fix:Error: The selector "app-root" did not match any elements

Angular でなにも変更してないと思っていたのですが、突然、以下のようなエラーが発生するようになりました。 Error: The selector "app-root" did not match any elements at DefaultDomRenderer2.push../node_modules/@angular/platform-browser/fesm5/pla…

AngularのSPAをS3+CloudFront環境にデプロイしてキャッシュクリアする方法

はじめに Angular な SPA を Amazon S3 + CloudFront にホストするのはいいですが、じゃあデプロイはどうするのとなって行き詰まっていました。 www.aruse.net いろいろ調べてみたところ、Angular の SPA を自動でデプロイして CloudFront のキャッシュもク…

Xamarin.FormsのCarouselPageで2ページ目を最初に開く方法

Xamarin.Forms の CarouselPage を2ページ使って、左ページにメニュー、右ページにコンテンツを表示しようと考えてみました。 そうすると、CarouselPage の2ページ目を最初に開く必要があるのですが、意外と簡単にできたのでメモとして残しておきます。 ま…

FacebookのOAuth認証で取得したアクセストークンをC#で検証する方法

はじめに 以下の記事で、Angularな SPA で Facebook の OAuth 認証を行いました。 www.aruse.net OAuth 認証時に取得したアクセストークンは、サーバーに送信して検証をしなければいけないはずなのですが、Facebook がその情報をきちんと公開していません。 …

JSONからC#のクラスを自動生成してくれる「json2csharp」がいい感じ

JSON の文字列を Json.NET などでデシアライズする際、デシアライズ先のクラスを定義する必要がありますが、JSON をクラスにするって難しいですよね。 そんな難しい JSON から C# のクラスを自動生成してくれるのが、「json2csharp」です。 json2csharp.com …

GoogleのOAuth認証で取得したアクセストークンをC#で検証する方法

はじめに 以下の記事で、Angular な SPA で Google の OAuth 認証を行いました。 www.aruse.net 実際には、この時取得したアクセストークンをサーバーサイドに送信して、検証を行わないといけません。 ネットで調べた限りでは、セキュリティに配慮しているサ…

もっと簡単に、AngularなSPAでGoogleのOAuth認証を行う方法

はじめに 先日、Angular で Google の OAuth 認証を行う方法として、かなり頑張って以下の方法をご紹介しました。 www.aruse.net ですが、さらに調べてみると Google でも Facebook と同じような SDK が用意されていて、簡単に OAuth 認証できることが分かり…

AWS Lambda関数をC#で書いて実行するまで

AWS

はじめに みなさん、AWS Lambda 使っていますか? 私は、始めたばかりです。 自分は C# で書きたいのでネットで情報を集めてみたのですが、ほとんどないですね。 サーバーレスアーキテクチャがまだメジャーになっていないのに、その中でマイナーな C# ですか…

Fix: JsonSerializerException in Lambda C#

AWS

An exception has occured in my Lamda function with C#. { "errorType" : "JsonSerializerException", "errorMessage" : "Error converting the Lambda event JSON payload to a string. JSON strings must be quoted, for example \"Hello World\" in ord…

AngularなSPAでFacebookのOAuth認証を行う方法

はじめに Angular な SPA(Single Page Applicaiton)で、Facebook の OAuth 認証を実現する方法のご紹介です。 始めは以下の記事と同じように、angular-oauth2-oidcというライブラリを使用して実現しようとしたのですがうまくできませんでした。 www.aruse.ne…

AngularなSPAでGoogleのOAuth認証を行う方法

はじめに Angular で SPA(Single Page Application)を作成したはいいけれど、ソーシャルログインを行おうとするととたんにハードルが高くなります。 ネット上でも、まとまった情報というのはあまりありません。英語でもごくわずかでした。 この記事では、Ang…

Xamarin.FormsのiOSとAndroidでブラウザのCookieを取得する方法

はじめに Xamarin.Forms で、内部ブラウザ(WebView)で表示したサイトで Cookie をセットし、その値を画面に表示する方法を調べてみました。 サンプルアプリ 以下の画面遷移を行う iOS と Android のサンプルアプリを作ってみました。 初期画面 Cookie がセッ…

Angularのnpm startでエラーが発生した

現在、Udemy の Angular の講座を受講しているのですが、サンプルアプリケーションでエラーが発生してしまいました。 www.udemy.com 以下が発生したエラーです。 $ npm start > angular-quickstart@1.0.0 prestart /Users/xxx/Desktop/quickstart > npm run …