読者です 読者をやめる 読者になる 読者になる

tech.guitarrapc.cóm

C#, PowerShell, Unity, Cloud, Serverless Technical Update and Features

Azure Functions で Asssembly.Location が正しくかえって来ない問題の対処

Azure Functions が6日ほど前に更新されて1.0.10690になってから、以下のエラーが発生する場合があります。

Can't create a metadata reference to an assembly without location.
  at Microsoft.CodeAnalysis.MetadataReference.CreateFromAssemblyInternal(Assembly assembly, MetadataReferenceProperties properties, DocumentationProvider documentation)
  at Microsoft.CodeAnalysis.Scripting.ScriptOptions.CreateReferenceFromAssembly(Assembly assembly)
  at Microsoft.CodeAnalysis.Scripting.ParameterValidationHelpers.<>c__DisplayClass4_0`2.<SelectChecked>b__0(T item)
  at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
  at Microsoft.CodeAnalysis.Scripting.ParameterValidationHelpers.AddRangeChecked[T](ArrayBuilder`1 builder, IEnumerable`1 items, String parameterName)
  at Microsoft.CodeAnalysis.Scripting.ParameterValidationHelpers.ToImmutableArrayChecked[T](IEnumerable`1 items, String parameterName)
  at Microsoft.CodeAnalysis.Scripting.ScriptOptions.WithReferences(IEnumerable`1 references)
  at Microsoft.CodeAnalysis.Scripting.ScriptOptions.WithReferences(IEnumerable`1 references)
  at Submission#0.<EvaluateCSharpAsync>d__3.MoveNext() in D:\home\site\wwwroot\CSharpScripting.csx:line 47

f:id:guitarrapc_tech:20161228042434p:plain

今回はこの発生原因と対処についてです。

続きを読む

.NET Core on Lambda の CI を組んでみる

パッケージの利用、ローカルテスト、ビルド、Visual Studioからのデプロイまで来たのでローカル開発は問題なくできそうですね。ただCIがないままではチーム開発がしにくいです。

tech.guitarrapc.com

tech.guitarrapc.com

tech.guitarrapc.com

そこで今回は、.NET Core on Lambda をいい感じで CIで回す方法についてみていきます。

続きを読む

.NET Core on Lambda で nuget パッケージを利用してみた

といいつつ、当初から Json.NET を利用しているのですが、そこはおいておきましょう。

今回は、AWS Lambda で nuget パッケージを利用してみます。とはいっても難しいことは何もなく、通常の.NET Core アプリと同様です。

Azure Fucntions とは少し違うのでそのあたりも見てみましょう。

tech.guitarrapc.com

続きを読む

.NET Core on Lambda のローカルデバッグでロガーと変数確認する

Serverless といっても大事なのはローカルで実行できるかです。どんなに便利でも高速なイテレーションが回せないものは継続せず触らなくなったり進化の波に乗れません。

さて、.NET Core on Lambda が出た当初にローカルデバッグで ILambdaContext がないため context 触ろうとするとエラーが出ていましたがサクッと解決できるのでしましょう。

これができることで、関数内の変数を見たり、ローカル実行専用の任意ロガー実装を差し込んだりできます。便利。

tech.guitarrapc.com

続きを読む

Amazon Athena で S3 Access Log を分析する

re:Invent 2016 は AWS の利用が一段回上に上がる素晴らしい発表が多かったです。さて今回取り上げるのは Athena です。

f:id:guitarrapc_tech:20161214042640p:plain

すでに素晴らしい資料があるのでそちらをご参照ください。ざっくり個人的な理解は、Google BigQuery の AWS版 という雑な印象です。

www.slideshare.net

data.gunosy.io

今回は S3 を Static website hosting している場合の S3 アクセスログを Athena で分析してみましょう。ELBとか CloudTrail はあるのに、S3 Access Log の記事見つからないものですね。

なお、この記事は以下のフォーマットを対象にしているため、フォーマットが将来変更された場合に動かないことがありえます。あらかじめご了承ください。

docs.aws.amazon.com

1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd hogemogeTestTest.contoso.com [07/Dec/2016:05:59:12 +0000] 191.1.1.2 1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd 667C2B96205F407E REST.GET.VERSIONING  - "GET /hogemogeTestTest.contoso.com?tagging HTTP/1.1" 404 NoSuchTagSet 285 - 45 - "-" "S3Console/0.4" -
続きを読む