Azure Functions에 대한 Mobile Apps 바인딩
참고 항목
Azure Mobile Apps 바인딩은 Azure Functions 1.x에서만 사용할 수 있습니다. Azure Functions 2.x 이상에서는 지원되지 않습니다.
Important
2026년 9월 14일에 Azure Functions 런타임 버전 1.x에 대한 지원이 종료됩니다. 완전한 지원을 받으려면 앱을 버전 4.x로 마이그레이션하는 것이 좋습니다.
이 문서에서는 Azure Functions에서 Azure Mobile Apps 바인딩을 사용하여 작업하는 방법을 설명합니다. Azure Functions는 Mobile Apps에 대한 입력 및 출력 바인딩을 지원합니다.
Mobile Apps 바인딩을 사용하면 모바일 앱에서 데이터 테이블을 읽고 업데이트할 수 있습니다.
패키지 - Functions 1.x
Mobile Apps 바인딩은 Microsoft.Azure.WebJobs.Extensions.MobileApps NuGet 패키지 버전 1.x에서 제공됩니다. 패키지의 소스 코드는 azure-webjobs-sdk-extensions GitHub 리포지토리에 있습니다.
다음 표에서는 각 개발 환경에서 출력 바인딩에 대한 지원을 추가하는 방법을 나열합니다.
개발 환경 | Functions 1.x에서 지원을 추가하려면 |
---|---|
로컬 개발: C# 클래스 라이브러리 | 패키지 설치 |
로컬 개발: C# 스크립트, JavaScript, F# | 자동 |
포털 개발 | 자동 |
입력
Mobile Apps 입력 바인딩은 모바일 테이블 엔드포인트에서 레코드를 로드하여 함수에 전달합니다. C# 및 F# 함수에서 함수가 성공적으로 종료되면 레코드에 변경한 내용을 자동으로 다시 테이블에 전송합니다.
입력 - 예제
언어별 예제를 참조하세요.
다음 예제에서는 function.json 파일의 Mobile Apps 입력 바인딩 및 바인딩을 사용하는 C# 스크립트 함수를 보여줍니다. 함수는 레코드 식별자가 있는 큐 메시지에 의해 트리거됩니다. 함수는 지정된 레코드를 읽고 해당 Text
속성을 수정합니다.
function.json 파일의 바인딩 데이터는 다음과 같습니다.
{
"bindings": [
{
"name": "myQueueItem",
"queueName": "myqueue-items",
"connection": "",
"type": "queueTrigger",
"direction": "in"
},
{
"name": "record",
"type": "mobileTable",
"tableName": "MyTable",
"id": "{queueTrigger}",
"connection": "My_MobileApp_Url",
"apiKey": "My_MobileApp_Key",
"direction": "in"
}
]
}
구성 섹션에서는 이러한 속성을 설명합니다.
C# 스크립트 코드는 다음과 같습니다.
#r "Newtonsoft.Json"
using Newtonsoft.Json.Linq;
public static void Run(string myQueueItem, JObject record)
{
if (record != null)
{
record["Text"] = "This has changed.";
}
}
입력 - 특성
C# 클래스 라이브러리에서 MobileTable 특성을 사용합니다.
구성할 수 있는 특성 속성에 대한 자세한 내용은 다음 구성 섹션을 참조하세요.
입력 - 구성
다음 표에서는 function.json 파일 및 MobileTable
특성에 설정된 바인딩 구성 속성을 설명합니다.
function.json 속성 | 특성 속성 | 설명 |
---|---|---|
type | 해당 없음 | "mobileTable"로 설정해야 합니다. |
direction | 해당 없음 | "in"으로 설정해야 합니다. |
이름 | 해당 없음 | 함수 서명의 입력 매개 변수 이름입니다. |
tableName | TableName | 모바일 앱의 데이터 테이블 이름 |
id | ID | 검색할 레코드의 식별자입니다. 정적이거나 함수를 호출하는 트리거를 기반으로 할 수 있습니다. 예를 들어 함수 "id": "{queueTrigger}" 에 큐 트리거를 사용하는 경우 검색할 레코드 ID로 큐 메시지의 문자열 값을 사용합니다. |
connection | Connection | 모바일 앱의 URL이 있는 앱 설정의 이름입니다. 함수는 이 URL을 사용하여 모바일 앱에 대해 필요한 REST 작업을 생성합니다. 모바일 앱의 URL이 포함된 앱 설정을 함수 앱에 만든 다음 입력 바인딩의 속성에서 connection 앱 설정의 이름을 지정합니다. URL은 다음과 같습니다 https://<appname>.azurewebsites.net . |
apiKey | ApiKey | 모바일 앱의 API 키가 있는 앱 설정의 이름입니다. Node.js 모바일 앱에서 API 키를 구현하거나 .NET 모바일 앱에서 API 키를 구현하는 경우 API 키를 제공합니다. 키를 제공하려면 API 키가 포함된 함수 앱의 앱 설정을 만단 다음 apiKey 속성을 앱 설정의 이름과 함께 입력 바인딩에 추가합니다. |
로컬에서 개발하는 경우 Values
컬렉션의 local.settings.json 파일에 애플리케이션 설정을 추가합니다.
Important
API 키를 모바일 앱 클라이언트와 공유하지 마십시오. Azure Functions와 같은 서비스 쪽 클라이언트에만 안전하게 배포해야 합니다. Azure Functions는 연결 정보 및 API 키를 앱 설정으로 저장하므로 소스 제어 리포지토리에 체크 인되지 않습니다. 이는 사용자의 중요한 정보를 보호합니다.
입력 - 사용
C# 함수에서 지정된 ID가 있는 레코드를 찾으면 명명된 JObject 매개 변수로 전달됩니다. 레코드를 찾을 수 없으면 매개 변수 값은 .입니다 null
.
JavaScript 함수에서 레코드는 개체에 context.bindings.<name>
전달됩니다. 레코드를 찾을 수 없으면 매개 변수 값은 .입니다 null
.
C# 및 F# 함수에서 입력 레코드(입력 매개 변수)에 대한 변경 내용은 함수가 성공적으로 종료되면 자동으로 테이블로 다시 전송됩니다. JavaScript 함수에서는 레코드를 수정할 수 없습니다.
출력
Mobile Apps 출력 바인딩을 사용하여 Mobile Apps 테이블에 새 레코드를 작성합니다.
출력 - 예제
다음 예제에서는 큐 메시지에 의해 트리거되고 모바일 앱 테이블에 레코드를 만드는 C# 함수를 보여줍니다.
[FunctionName("MobileAppsOutput")]
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
TraceWriter log)
{
return new { Text = $"I'm running in a C# function! {myQueueItem}" };
}
출력 - 특성
C# 클래스 라이브러리에서 MobileTable 특성을 사용합니다.
구성할 수 있는 특성 속성에 대한 자세한 내용은 출력 - 구성을 참조하세요. MobileTable
다음은 메서드 서명의 특성 예제입니다.
[FunctionName("MobileAppsOutput")]
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
TraceWriter log)
{
...
}
출력 - 구성
다음 표에서는 function.json 파일 및 MobileTable
특성에 설정된 바인딩 구성 속성을 설명합니다.
function.json 속성 | 특성 속성 | 설명 |
---|---|---|
type | 해당 없음 | "mobileTable"로 설정해야 합니다. |
direction | 해당 없음 | "out"으로 설정해야 합니다. |
이름 | 해당 없음 | 함수 서명의 출력 매개 변수 이름입니다. |
tableName | TableName | 모바일 앱의 데이터 테이블 이름 |
connection | MobileAppUriSetting | 모바일 앱의 URL이 있는 앱 설정의 이름입니다. 함수는 이 URL을 사용하여 모바일 앱에 대해 필요한 REST 작업을 생성합니다. 모바일 앱의 URL이 포함된 앱 설정을 함수 앱에 만든 다음 입력 바인딩의 속성에서 connection 앱 설정의 이름을 지정합니다. URL은 다음과 같습니다 https://<appname>.azurewebsites.net . |
apiKey | ApiKeySetting | 모바일 앱의 API 키가 있는 앱 설정의 이름입니다. Node.js 모바일 앱 백 엔드에서 API 키를 구현하거나 .NET 모바일 앱 백 엔드에서 API 키를 구현하는 경우 API 키를 제공합니다. 키를 제공하려면 API 키가 포함된 함수 앱의 앱 설정을 만단 다음 apiKey 속성을 앱 설정의 이름과 함께 입력 바인딩에 추가합니다. |
로컬에서 개발하는 경우 Values
컬렉션의 local.settings.json 파일에 애플리케이션 설정을 추가합니다.
Important
API 키를 모바일 앱 클라이언트와 공유하지 마십시오. Azure Functions와 같은 서비스 쪽 클라이언트에만 안전하게 배포해야 합니다. Azure Functions는 연결 정보 및 API 키를 앱 설정으로 저장하므로 소스 제어 리포지토리에 체크 인되지 않습니다. 이는 사용자의 중요한 정보를 보호합니다.
출력 - 사용
C# 스크립트 함수에서 형식 out object
의 명명된 출력 매개 변수를 사용하여 출력 레코드에 액세스합니다. C# 클래스 라이브러리에서 특성은 MobileTable
다음 형식과 함께 사용할 수 있습니다.
T
가JObject
또는public string Id
속성이 있는 type인 경우,ICollector<T>
또는IAsyncCollector<T>
.out JObject
out T
또는out T[]
속성이 있는 모든 Type이 있는 위치T
입니다public string Id
.
Node.js 함수에서 context.bindings.<name>
을 사용하여 출력 레코드에 액세스합니다.