나에게 긍정적인 COVID-19 뉴스를 문자로 보내는 서버리스 앱
16222 단어 twiliohackathonserverlesscsharpazure
에 대한
저는 매일 아침 일어나기 전에 SMS를 통해 COVID-19와 관련된 긍정적인 뉴스를 보내는 서버리스 애플리케이션을 구축했습니다.
이 진행 중인 팬데믹 기간 동안 제 문제는 너무 많은 뉴스 소비였으며 그 중 많은 부분이 저에게 부정적인 영향을 미쳤습니다. 나는 지금이 내 하루에 약간의 긍정성을 가져다주는 무언가를 만들 수 있는 절호의 기회라고 생각했습니다.
범주
흥미로운 통합.
Github 저장소
madebygps
/
매일 긍정적인 뉴스 SMS 서버리스
COVID-19에 대한 긍정적인 뉴스를 문자 메시지로 보내는 서버리스 앱입니다.
프로젝트를 로컬에서 작동시키는 방법에 대한 비디오(원하는 경우 아래에 제공된 텍스트 지침)
👩🏽💻 코드 환경 설정 방법
Follow this tutorial and you will install VS Code and the necessary Azure extensions needed.
🛠 API 키 및 자격 증명 설정
필요할 것이예요:
흥미로운 통합.
Github 저장소
madebygps
/
매일 긍정적인 뉴스 SMS 서버리스
COVID-19에 대한 긍정적인 뉴스를 문자 메시지로 보내는 서버리스 앱입니다.
프로젝트를 로컬에서 작동시키는 방법에 대한 비디오(원하는 경우 아래에 제공된 텍스트 지침)
👩🏽💻 코드 환경 설정 방법
Follow this tutorial and you will install VS Code and the necessary Azure extensions needed.
🛠 API 키 및 자격 증명 설정
필요할 것이예요:
👩🏽💻 코드 환경 설정 방법
Follow this tutorial and you will install VS Code and the necessary Azure extensions needed.
🛠 API 키 및 자격 증명 설정
필요할 것이예요:
필요할 것이예요:
Azure account, CognitiveServicesEndpoint and TextAnalyticsApiKeyCredential 무료 - 웹/컨테이너 플랜을 사용하십시오. 여기에는 프리 티어에서 필요한 기능이 포함되어 있습니다. more info here
📦 사용한 패키지
이들은 프로젝트를 복제할 때 프로젝트에 포함되어야 하지만, 일부 오류가 있는 경우 다시 설치할 수 있습니다.
트윌리오
Install via .NET CLI
dotnet add package Twilio
사용
using Twilio;
using Twilio.Rest.Api.V2010.Account;
TextAnalytics v3 미리보기
Install via .NET CLI
dotnet add package Azure.AI.TextAnalytics --version 1.0.0-preview.3
사용
using Azure.AI.TextAnalytics;
🔑 local.settings.json 설정 방법
명백한 이유로 내 local.settings.json 파일을 제외했습니다. 이러한 기록이 있으면 거기에 포함시키십시오.
Microsoft timezone documentation
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "<replace_with_your_webjobsstorage>",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"TextAnalyticsApiKeyCredential":"<replace>",
"CognitiveServicesEndpoint":"<replace>",
"TwilioSid":"<replace>",
"TwilioAuthToken":"<replace>",
"NewsApiKey":"<replace>",
"TwilioPhoneNumber":"<replace>",
"MyPhoneNumber":"<replace_with_number_you_ant_to_send_sms_to>",
"WEBSITE_TIME_ZONE":"<replace_with_your_timezone"
}
}
⚡️ 로컬에서 실행하는 방법
VS Code에서 왼쪽의 실행 탭을 선택한 다음 상단의 재생 버튼을 누릅니다.
RunOnStartUp이란 무엇입니까?
앱은 이후 한 번 실행됩니다.
RunOnStartup=true
true로 설정됩니다. 프로덕션에 배포하기 전에 remove this.
📳 데모
local.settings.json에 입력한 번호로 텍스트를 받게 됩니다.
VS 코드 콘솔 출력에서 보낸 스토리도 볼 수 있습니다.
Twilio SMS dashboard에서도 볼 수 있습니다.
🚀 Azure에 배포하는 방법
Here is a written tutorial on how to Publish a Function to Azure
My Youtube video also shows how to do this.
트리거에서 RunOnStartUp을 제거하거나 false로 설정해야 합니다. 이쪽을 봐Microsoft doc
⏰ 앱 실행 시간 변경
여기 이 줄에는 CRON 표현식이 있습니다.
public static void Run([TimerTrigger("0 30 6 * * *", RunOnStartup=true)]TimerInfo myTimer, ILogger log)
시간을 변경하고 싶으면 표현 부분을 변경하고, here are some examples.
"0 30 6 * * *"
🖼 MMS 기능
나는 미국에 있기 때문에 내 전화번호more info here로 이미지를 보낼 수 있는데, 그것은 메시지 보내기 방식으로 이루어진다.
static void SendMessage (string fromNumber, string toNumber, string articleUrl, string articleTitle, string imageUrl )
미국이나 캐나다 이외의 지역에 있는 경우 자유롭게 제거하십시오.
이미지에 아티클 URL이 없는 경우 기본값은 stock photo I got from Unsplash입니다.
🗞 뉴스피드 미세 조정
뉴스 API에서 반환된 JSON을 these parameters로 미세 조정할 수 있습니다. 간단히 newsAPIEndpointURL의 변수를 추가/제거/편집하세요.
// NEWS API Search parameters and URL
string searchKeyword = "Covid";
string sortBy = "relevancy";
string pageSize = "100";
string searchLanguage = "en";
string fromDate = DateTime.Today.AddDays (-1).ToString ("yyyy-MM-dd");
var newAPIEndpointURL = $"https://newsapi.org/v2/everything?from={fromDate}&sortBy={sortBy}&pageSize={pageSize}&language={searchLanguage}&q={searchKeyword}&apiKey={newsApiKey}";
👷🏽♀️ 알려진 문제 및 개선 영역
dotnet add package Twilio
using Twilio;
using Twilio.Rest.Api.V2010.Account;
dotnet add package Azure.AI.TextAnalytics --version 1.0.0-preview.3
using Azure.AI.TextAnalytics;
명백한 이유로 내 local.settings.json 파일을 제외했습니다. 이러한 기록이 있으면 거기에 포함시키십시오.
Microsoft timezone documentation
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "<replace_with_your_webjobsstorage>",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"TextAnalyticsApiKeyCredential":"<replace>",
"CognitiveServicesEndpoint":"<replace>",
"TwilioSid":"<replace>",
"TwilioAuthToken":"<replace>",
"NewsApiKey":"<replace>",
"TwilioPhoneNumber":"<replace>",
"MyPhoneNumber":"<replace_with_number_you_ant_to_send_sms_to>",
"WEBSITE_TIME_ZONE":"<replace_with_your_timezone"
}
}
⚡️ 로컬에서 실행하는 방법
VS Code에서 왼쪽의 실행 탭을 선택한 다음 상단의 재생 버튼을 누릅니다.
RunOnStartUp이란 무엇입니까?
앱은 이후 한 번 실행됩니다.
RunOnStartup=true
true로 설정됩니다. 프로덕션에 배포하기 전에 remove this.
📳 데모
local.settings.json에 입력한 번호로 텍스트를 받게 됩니다.
VS 코드 콘솔 출력에서 보낸 스토리도 볼 수 있습니다.
Twilio SMS dashboard에서도 볼 수 있습니다.
🚀 Azure에 배포하는 방법
Here is a written tutorial on how to Publish a Function to Azure
My Youtube video also shows how to do this.
트리거에서 RunOnStartUp을 제거하거나 false로 설정해야 합니다. 이쪽을 봐Microsoft doc
⏰ 앱 실행 시간 변경
여기 이 줄에는 CRON 표현식이 있습니다.
public static void Run([TimerTrigger("0 30 6 * * *", RunOnStartup=true)]TimerInfo myTimer, ILogger log)
시간을 변경하고 싶으면 표현 부분을 변경하고, here are some examples.
"0 30 6 * * *"
🖼 MMS 기능
나는 미국에 있기 때문에 내 전화번호more info here로 이미지를 보낼 수 있는데, 그것은 메시지 보내기 방식으로 이루어진다.
static void SendMessage (string fromNumber, string toNumber, string articleUrl, string articleTitle, string imageUrl )
미국이나 캐나다 이외의 지역에 있는 경우 자유롭게 제거하십시오.
이미지에 아티클 URL이 없는 경우 기본값은 stock photo I got from Unsplash입니다.
🗞 뉴스피드 미세 조정
뉴스 API에서 반환된 JSON을 these parameters로 미세 조정할 수 있습니다. 간단히 newsAPIEndpointURL의 변수를 추가/제거/편집하세요.
// NEWS API Search parameters and URL
string searchKeyword = "Covid";
string sortBy = "relevancy";
string pageSize = "100";
string searchLanguage = "en";
string fromDate = DateTime.Today.AddDays (-1).ToString ("yyyy-MM-dd");
var newAPIEndpointURL = $"https://newsapi.org/v2/everything?from={fromDate}&sortBy={sortBy}&pageSize={pageSize}&language={searchLanguage}&q={searchKeyword}&apiKey={newsApiKey}";
👷🏽♀️ 알려진 문제 및 개선 영역
RunOnStartup=true
local.settings.json에 입력한 번호로 텍스트를 받게 됩니다.
VS 코드 콘솔 출력에서 보낸 스토리도 볼 수 있습니다.
Twilio SMS dashboard에서도 볼 수 있습니다.
🚀 Azure에 배포하는 방법
Here is a written tutorial on how to Publish a Function to Azure
My Youtube video also shows how to do this.
트리거에서 RunOnStartUp을 제거하거나 false로 설정해야 합니다. 이쪽을 봐Microsoft doc
⏰ 앱 실행 시간 변경
여기 이 줄에는 CRON 표현식이 있습니다.
public static void Run([TimerTrigger("0 30 6 * * *", RunOnStartup=true)]TimerInfo myTimer, ILogger log)
시간을 변경하고 싶으면 표현 부분을 변경하고, here are some examples.
"0 30 6 * * *"
🖼 MMS 기능
나는 미국에 있기 때문에 내 전화번호more info here로 이미지를 보낼 수 있는데, 그것은 메시지 보내기 방식으로 이루어진다.
static void SendMessage (string fromNumber, string toNumber, string articleUrl, string articleTitle, string imageUrl )
미국이나 캐나다 이외의 지역에 있는 경우 자유롭게 제거하십시오.
이미지에 아티클 URL이 없는 경우 기본값은 stock photo I got from Unsplash입니다.
🗞 뉴스피드 미세 조정
뉴스 API에서 반환된 JSON을 these parameters로 미세 조정할 수 있습니다. 간단히 newsAPIEndpointURL의 변수를 추가/제거/편집하세요.
// NEWS API Search parameters and URL
string searchKeyword = "Covid";
string sortBy = "relevancy";
string pageSize = "100";
string searchLanguage = "en";
string fromDate = DateTime.Today.AddDays (-1).ToString ("yyyy-MM-dd");
var newAPIEndpointURL = $"https://newsapi.org/v2/everything?from={fromDate}&sortBy={sortBy}&pageSize={pageSize}&language={searchLanguage}&q={searchKeyword}&apiKey={newsApiKey}";
👷🏽♀️ 알려진 문제 및 개선 영역
여기 이 줄에는 CRON 표현식이 있습니다.
public static void Run([TimerTrigger("0 30 6 * * *", RunOnStartup=true)]TimerInfo myTimer, ILogger log)
시간을 변경하고 싶으면 표현 부분을 변경하고, here are some examples.
"0 30 6 * * *"
🖼 MMS 기능
나는 미국에 있기 때문에 내 전화번호more info here로 이미지를 보낼 수 있는데, 그것은 메시지 보내기 방식으로 이루어진다.
static void SendMessage (string fromNumber, string toNumber, string articleUrl, string articleTitle, string imageUrl )
미국이나 캐나다 이외의 지역에 있는 경우 자유롭게 제거하십시오.
이미지에 아티클 URL이 없는 경우 기본값은 stock photo I got from Unsplash입니다.
🗞 뉴스피드 미세 조정
뉴스 API에서 반환된 JSON을 these parameters로 미세 조정할 수 있습니다. 간단히 newsAPIEndpointURL의 변수를 추가/제거/편집하세요.
// NEWS API Search parameters and URL
string searchKeyword = "Covid";
string sortBy = "relevancy";
string pageSize = "100";
string searchLanguage = "en";
string fromDate = DateTime.Today.AddDays (-1).ToString ("yyyy-MM-dd");
var newAPIEndpointURL = $"https://newsapi.org/v2/everything?from={fromDate}&sortBy={sortBy}&pageSize={pageSize}&language={searchLanguage}&q={searchKeyword}&apiKey={newsApiKey}";
👷🏽♀️ 알려진 문제 및 개선 영역
static void SendMessage (string fromNumber, string toNumber, string articleUrl, string articleTitle, string imageUrl )
뉴스 API에서 반환된 JSON을 these parameters로 미세 조정할 수 있습니다. 간단히 newsAPIEndpointURL의 변수를 추가/제거/편집하세요.
// NEWS API Search parameters and URL
string searchKeyword = "Covid";
string sortBy = "relevancy";
string pageSize = "100";
string searchLanguage = "en";
string fromDate = DateTime.Today.AddDays (-1).ToString ("yyyy-MM-dd");
var newAPIEndpointURL = $"https://newsapi.org/v2/everything?from={fromDate}&sortBy={sortBy}&pageSize={pageSize}&language={searchLanguage}&q={searchKeyword}&apiKey={newsApiKey}";
👷🏽♀️ 알려진 문제 및 개선 영역
static double GetMediaFileSize (string imageUrl) {
var fileSizeInMegaByte = 0.0;
var webRequest = HttpWebRequest.Create (imageUrl);
webRequest.Method = "HEAD";
using (var webResponse = webRequest.GetResponse ()) {
var fileSize = webResponse.Headers.Get ("Content-Length");
fileSizeInMegaByte = Math.Round (Convert.ToDouble (fileSize) / 1024.0 / 1024.0, 2);
}
return fileSizeInMegaByte;
}
이미지가 4.9MB보다 큰 경우 기사 이미지를 올바른 크기로 알고 있는 기본 이미지로 설정합니다. 여기서 개선 사항은 기본 이미지로 변경하는 대신 이미지 크기를 조정하는 것입니다.
💙 덕분에
👀 더 많은 예
Reference
이 문제에 관하여(나에게 긍정적인 COVID-19 뉴스를 문자로 보내는 서버리스 앱), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/madebygps/a-serverless-app-that-texts-me-positive-covid-19-news-1h6o
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(나에게 긍정적인 COVID-19 뉴스를 문자로 보내는 서버리스 앱), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/madebygps/a-serverless-app-that-texts-me-positive-covid-19-news-1h6o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)