IT |
ITmedia 総合記事一覧 |
[ITmedia PC USER] Ryzen 5 5600を搭載するコンパクトゲーミングPC「G-GEAR mini」を発売 |
https://www.itmedia.co.jp/pcuser/articles/2204/28/news157.html
|
ggearmini |
2022-04-28 14:42:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia News] Meta、Questやスマートグラスを体験できる実店舗1号店オープンへ |
https://www.itmedia.co.jp/news/articles/2204/28/news155.html
|
itmedianewsmeta |
2022-04-28 14:36:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia News] 連休中の勉強にいかが? パブリッククラウドの教材情報4選、2022年版 |
https://www.itmedia.co.jp/news/articles/2204/28/news146.html
|
itmedia |
2022-04-28 14:30:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia ビジネスオンライン] KADOKAWAが宇宙産業に出資した理由 ホリエモンが描く「ニュースペース2.0」の世界とは |
https://www.itmedia.co.jp/business/articles/2204/28/news111.html
|
itmedia |
2022-04-28 14:27:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia PC USER] オカムラ、Web会議用音声コミュニケーションツール「TALKHUB」を発売 |
https://www.itmedia.co.jp/pcuser/articles/2204/28/news153.html
|
itmediapcuser |
2022-04-28 14:26:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia ビジネスオンライン] PayPay、10月からポイント「外販」 楽天に対抗 |
https://www.itmedia.co.jp/business/articles/2204/28/news152.html
|
itmedia |
2022-04-28 14:23:00 |
TECH |
Techable(テッカブル) |
商談データを自動で収集・解析・可視化! セールスAIクラウド「ailead」開発強化へ |
https://techable.jp/archives/177925
|
ailead |
2022-04-28 05:00:44 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
テストページ3 |
https://qiita.com/sano192/items/485d38fa76246e866bd1
|
Detail Nothing |
2022-04-28 14:59:24 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
テストページ2 |
https://qiita.com/sano192/items/b0e21a98c0b430451d7c
|
Detail Nothing |
2022-04-28 14:58:59 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
テストページ1 |
https://qiita.com/sano192/items/6d7cd42eed478a6a7a29
|
Detail Nothing |
2022-04-28 14:58:32 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
B - Five Dishes AtCoder |
https://qiita.com/KKDDD/items/d4c5edb67667badf3a6e
|
aintinputforinrangeb |
2022-04-28 14:50:12 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
XOR |
https://qiita.com/iiutakata/items/6e6380bc42c084f69318
|
exclusiveor |
2022-04-28 14:19:21 |
Ruby |
Rubyタグが付けられた新着投稿 - Qiita |
Google Ads APIバージョンの確認・アップグレード |
https://qiita.com/ayies128/items/ab3c754300c16385107b
|
googleadsapi |
2022-04-28 14:13:42 |
Docker |
dockerタグが付けられた新着投稿 - Qiita |
127.0.0.1:10081を指定するとどうしてLaravelって表示される? |
https://qiita.com/ryoya-cre8tor/items/cda708dd75a1a26737d0
|
laravel |
2022-04-28 14:02:13 |
Linux |
CentOSタグが付けられた新着投稿 - Qiita |
間違ってrootユーザーで作業した後、ユーザーを切り替えた話 |
https://qiita.com/yuta-katayama-23/items/6ed32960070e394b8724
|
linux |
2022-04-28 14:59:25 |
Ruby |
Railsタグが付けられた新着投稿 - Qiita |
Google Ads APIバージョンの確認・アップグレード |
https://qiita.com/ayies128/items/ab3c754300c16385107b
|
googleadsapi |
2022-04-28 14:13:42 |
技術ブログ |
Developers.IO |
[アップデート] Control Tower のバージョン 2.9 がリリースされたのでアップデートしてみた |
https://dev.classmethod.jp/articles/update-control-tower-29/
|
controltower |
2022-04-28 05:53:25 |
技術ブログ |
Developers.IO |
【5/23(月)リモート開催】AKIBA.AWS ONLINE #08 – AWS、はじめました 編- #AKIBAAWS |
https://dev.classmethod.jp/news/akiba-aws-220523/
|
akibaaws |
2022-04-28 05:51:37 |
海外TECH |
DEV Community |
Using AWS Lambda Function URL to build a Serverless backend for Slack |
https://dev.to/aws/using-aws-lambda-function-url-to-build-a-serverless-backend-for-slack-3j73
|
Using AWS Lambda Function URL to build a Serverless backend for SlackA combination of AWS Lambda and Amazon API Gateway is a widely used architecture for serverless microservices and API based solutions They enable developers to focus on their applications instead of spending time provisioning and managing servers API Gateway is a feature rich offering that includes with support for different API types HTTP REST WebSocket multiple authentication schemes API versioning canary deployments and much more However if your requirements are simpler and all you need is an HTTP S endpoint for your Lambda function for example to serve as a webhook you can use Lambda Function URLs When you create a function URL Lambda automatically generates a unique HTTP S endpoint that is dedicated for your Lambda function This blog post demonstrates how to use Lambda function URL with a practical example You will build a Go Lambda function to serve as a serverless webhook backend for Slack It s a step by step guide that covers Overview of the applicationConfigure and deploy the function along with some gotchas you need to watch out for How to configure Slack to enable the end to end integrationTest the app and have fun By the end of this blog you would have configured integrated and deployed a useful and hopefully fun app using Lambda function URL In the process you will get an overview of this feature that you can utilise when building your own solutions The code is available on GitHub How it worksThe sample app presented in this blog is a trimmed down version of Giphy for Slack The original Giphy Slack app returns a bunch of GIFs for a search term and the user can pick one of them To keep things simple I ve tweaked things a bit such that the serverless backend simply returns a single random image for a search keyword using the Giphy Random API Since the solution will be integrated as a Slash Command in Slack the end user you will invoke it from a Slack workspace using awsome lt your search term gt where awsome is nothing but the name of the slash command This in turn invokes the Lambda function URL the configuration is covered later in the blog which takes care of the rest For example invoking it from your Slack workspace using awsome serverless will return a random GIF you will try this later Here is an overview of what the Lambda function does Slack slash command invocation results in a base encoded string payload being sent to the Lambda function URL so the first step is to decode it The function is only supposed to invoked by Slack and we need to make sure we confirm that Slack makes this possible by allowing apps to verify requests using a signing secret the function simply implements a Go version of the signature matching recipe presented hereIf the signature match is successful we return an error to the client if it fails the Slack request is parsed to extract the search text that user sent Then the Giphy Random API is invoked with the search term If we get a successful response we parse it and send it back to Slack in it s desired formatFinally the user gets to see a GIF in their Slack workspace I will skip the code walk through in order to focus on other aspects of the solution but the function signature deserves a mention it is similar to what you would ve used in case of an API Gateway based solution func Funcy r events LambdaFunctionURLRequest events LambdaFunctionURLResponse error We are using events LambdaFunctionURLRequest as input and returning events LambdaFunctionURLResponse Behind the scenes Lambda maps the request to an event object before passing it to the function Finally the function response is then mapped to an HTTP response that Lambda sends back to the client through the function URL You can read up on the details in the documentationThat s quite convenient right You can use API Gateway conventions without actually having to setup and configure one With that background info let s move on to the part where you deploy the function and try it out with Slack But before that make sure you have the following ready Pre requisitesCreate an AWS account if you do not already have one and log in The IAM user that you use must have sufficient permissions to make necessary AWS service calls and manage AWS resources Install and configure AWS CLIInstall GoInstall GitCreate a Slack workspace if you don t have one Create a GIHPY account it s free and create an app Each application you create will have its own API Key Please note down your GIPHY API key as you will be using it laterClone the Github repo and move into the right directory git clone cd awsome slack backendThe subsequent steps use AWS CLI I ve purposely used the AWS CLI in order to highlight specific aspects of the process Please check this tutorial for CloudFormation and SAM Build zip and deploy the function export FUNC NAME awsome slack backendexport FUNC GO BINARY NAME awsomeexport ZIP NAME function zipGOOS linux go build o FUNC GO BINARY NAME main gozip function zip FUNC GO BINARY NAMEFirst create an IAM Role for Lambda and attach the AWSLambdaBasicExecutionRole policy export ROLE NAME demo lambda roleROLE ARN aws iam create role role name ROLE NAME assume role policy document Version Statement Effect Allow Principal Service lambda amazonaws com Action sts AssumeRole query Role Arn output text aws iam attach role policy role name ROLE NAME policy arn arn aws iam aws policy service role AWSLambdaBasicExecutionRoleCreate the function aws lambda create function function name FUNC NAME runtime go x zip file fileb ZIP NAME handler FUNC GO BINARY NAME role ROLE ARNAfter the function gets created go ahead and add the Function URL aws lambda create function url config function name FUNC NAME auth type NONEFor the purposes of this sample app we re using NONE as the authentication type This means that the Lambda function URL will be publicly accessible more on this shortlyIf you navigate to the AWS console and open the function you just created you should see the Function URL associated with it Let s invoke the function copy the Function URL and paste it in a browser or use any other tool e g curl curl i lt FUNCTION URL gt You should get a Message Forbidden response with a HTTP Forbidden status codeDon t worry this is expected I wanted to make sure you encounter this issue and understand the root cause Even though we use NONE as the authentication scheme users must still have lambda InvokeFunctionUrl permissions in order to successfully invoke the function URL The slightly tricky bit is that when you create a function URL with auth type NONE via the console or AWS Serverless Application Model AWS SAM Lambda automatically creates the resource based policy statement for you details in the documentation That s not the case if you re using the AWS CLI as in this blog AWS CloudFormation or the Lambda API directly you must add permissions yourself Let s do that aws lambda add permission function name FUNC NAME action lambda InvokeFunctionUrl statement id FunctionURLAllowPublicAccess principal function url auth type NONETo see the policy navigate to your Function in the AWS console Configuration gt PermissionsInvoke the function again curl i lt FUNCTION URL gt This time you will get a different error with a HTTP Unauthorized status code This is expected as well Let s finish the rest of the configuration to get things working Configure SlackPlease note that most of the instructions in this section have been adapted from the Slack documentationStart by signing into your Slack Workspace and creating a new Slack App Once that s done create a Slash Command head to your app s settings page and then click the Slash Commands feature in the navigation menu You ll be presented with a button marked Create New Command and when you click on it you ll see a screen where you ll be asked to define your new Slash Command with the required information Enter the required information Enter awsome for the Command and enter the Lambda Function URL in Request URLFinally install the app to your workspace click the Basic Information feature in the navigation menu choose Install your app to your workspace and click Install App to Workspace This will install the app to your Slack workspace to test your app and generate the tokens you need to interact with the Slack API As soon as you finish installing the app the App Credentials will show up on the same page You need to grab your Slack Signing Secret from thereMake a note of your app Signing Secret as you ll be using it later Update the functionNow that you ve the Slack signing secret key you need to make sure to configure it in the function as well Also don t forget the GIPHY API key since the function needs that to invoke GIPHY REST endpoint Let s update the function to include these as environment variables aws lambda update function configuration function name FUNC NAME environment Variables SLACK SIGNING SECRET lt enter Slack signing secret gt GIPHY API KEY lt enter Giphy API key gt The sample app uses Lambda environment variables to store keys for Slack and GIPHY this is just for demonstration purposes You should use a solution such as AWS Secrets Manager to securely store and manage credentials You re all set Head over to your Slack workspace and invoke the command For example to get a random cat GIF just type awsome catI got this response How about you Feel free to play around with the app Clean upOnce you re done delete the function along with the IAM policy and role aws lambda delete function function name FUNC NAMEaws iam detach role policy role name ROLE NAME policy arn arn aws iam aws policy service role AWSLambdaBasicExecutionRoleaws iam delete role role name ROLE NAME ConclusionYou configured and deployed a serverless backend for Slack and in the process learnt about some of the aspects of Lambda Function URLs through the lens of this sample app I would encourage you to explore other capabilities such as AWS IAM authentication CORS config throttling limits monitoring etc Happy coding |
2022-04-28 05:35:18 |
金融 |
ニッセイ基礎研究所 |
カーボンプライシングとは-脱炭素に向けた経済的手法の特長と課題および導入状況 |
https://www.nli-research.co.jp/topics_detail1/id=71008?site=nli
|
炭素税は、COの排出に対して排出量に比例する課税を行うことで、企業や消費者などの税負担者に排出量削減に向けた行動変容を促す手法である。 |
2022-04-28 14:56:26 |
ニュース |
ジェトロ ビジネスニュース(通商弘報) |
国内の商取引で外貨使用を制限 |
https://www.jetro.go.jp/biznews/2022/04/6efae27ef9a56e5c.html
|
外貨 |
2022-04-28 05:40:00 |
ニュース |
ジェトロ ビジネスニュース(通商弘報) |
カナダ、ロシアによるウクライナ・ドンバス地域併合の企てに加担の203人へ制裁発動 |
https://www.jetro.go.jp/biznews/2022/04/d347ad46691a73cd.html
|
地域 |
2022-04-28 05:35:00 |
海外ニュース |
Japan Times latest articles |
Biden set for Tokyo ‘Quad’ summit and talks with Kishida in May |
https://www.japantimes.co.jp/news/2022/04/28/national/politics-diplomacy/biden-japan-south-korea-2/
|
korea |
2022-04-28 14:34:37 |
ニュース |
BBC News - Home |
War in Ukraine: Ukrainians deported to Russia beaten and mistreated |
https://www.bbc.co.uk/news/world-europe-61248436?at_medium=RSS&at_campaign=KARANGA
|
mistreatedone |
2022-04-28 05:01:17 |
ニュース |
BBC News - Home |
Women in politics: Labour figure's 'lewd comments to MP' - claim |
https://www.bbc.co.uk/news/uk-wales-61245456?at_medium=RSS&at_campaign=KARANGA
|
sexist |
2022-04-28 05:37:23 |
ニュース |
BBC News - Home |
NI election 2022: SDLP hoping history repeats itself |
https://www.bbc.co.uk/news/uk-northern-ireland-61167461?at_medium=RSS&at_campaign=KARANGA
|
history |
2022-04-28 05:25:34 |
ニュース |
BBC News - Home |
The most important training exercises in Amanda Serrano's fight camp |
https://www.bbc.co.uk/sport/av/boxing/61243232?at_medium=RSS&at_campaign=KARANGA
|
fight |
2022-04-28 05:10:26 |
ニュース |
BBC News - Home |
NFL Draft 2022: After two-year delay, event finally arrives in Las Vegas |
https://www.bbc.co.uk/sport/american-football/61245466?at_medium=RSS&at_campaign=KARANGA
|
NFL Draft After two year delay event finally arrives in Las VegasThe glitz and glamour of the NFL draft is back as the top college players in the US arrive in Las Vegas hoping their dreams come true |
2022-04-28 05:26:38 |
北海道 |
北海道新聞 |
河瀬直美監督「既に解決」 文春「撮影助手の腹蹴り」報道で |
https://www.hokkaido-np.co.jp/article/675270/
|
映画監督 |
2022-04-28 14:15:00 |
IT |
週刊アスキー |
UQ、2.5GHz帯の5G転用を9月開始 対象エリアではWiMAX 2+は440Mbps→220Mbpsに |
https://weekly.ascii.jp/elem/000/004/090/4090566/
|
wimax |
2022-04-28 14:45:00 |
IT |
週刊アスキー |
AINEXT、折り畳める自宅用ランニングマシン「FITBOX ARCUT Treadmill」の先行予約販売を4月28日より開始 |
https://weekly.ascii.jp/elem/000/004/090/4090549/
|
ainext |
2022-04-28 14:40:00 |
IT |
週刊アスキー |
5月の限定メニュー! ル・ミトロン食パンが「塩バターキャラメルナッツ食パン」を販売 |
https://weekly.ascii.jp/elem/000/004/090/4090539/
|
限定メニュー |
2022-04-28 14:10:00 |
IT |
週刊アスキー |
ソニー、ズーム全域開放値F2.8の明るさを実現した大口径標準ズームレンズ Gマスター「FE 24-70mm F2.8 GM II」を発売 |
https://weekly.ascii.jp/elem/000/004/090/4090544/
|
femmfgmii |
2022-04-28 14:10:00 |
IT |
週刊アスキー |
PC『ガンダムジオラマフロント』で「GWゴールデンウィークキャンペーン」が開催中! |
https://weekly.ascii.jp/elem/000/004/090/4090548/
|
開催期間 |
2022-04-28 14:05:00 |
マーケティング |
AdverTimes |
メタ、22年1Qの広告収益は6%増 FbのDAUは伸び鈍化 |
https://www.advertimes.com/20220428/article383173/
|
facebook |
2022-04-28 05:52:05 |
コメント
コメントを投稿