Azure Functions における Azure Table Storage のバインドAzure Table storage bindings for Azure Functions

この記事では、Azure Functions で Azure Table Storage のバインドを使用する方法について説明します。This article explains how to work with Azure Table storage bindings in Azure Functions. Azure Functions は、Azure Table ストレージの入力および出力のバインドをサポートしています。Azure Functions supports input and output bindings for Azure Table storage.

これは、Azure Functions の開発者向けリファレンス情報です。This is reference information for Azure Functions developers. Azure Functions を初めて使用する場合は、先に次のリソースを参照してください。If you're new to Azure Functions, start with the following resources:

入力Input

Azure Table Storage の入力バインドを使用して、Azure Storage アカウントのテーブルを読み取ります。Use the Azure Table storage input binding to read a table in an Azure Storage account.

入力 - 例Input - example

言語固有の例をご覧ください。See the language-specific example:

入力 - C# の例 1Input - C# example 1

次の例は、単一のテーブル行を読み取るプリコンパイル済み C# コードを示します。The following example shows precompiled C# code that reads a single table row.

行キー値 "{queueTrigger}" は、行キーがキュー メッセージ文字列から取得されることを示します。The row key value "{queueTrigger}" indicates that the row key comes from the queue message string.

public class TableStorage
{
    public class MyPoco
    {
        public string PartitionKey { get; set; }
        public string RowKey { get; set; }
        public string Text { get; set; }
    }

    [FunctionName("TableInput")]
    public static void TableInput(
        [QueueTrigger("table-items")] string input, 
        [Table("MyTable", "MyPartition", "{queueTrigger}")] MyPoco poco, 
        TraceWriter log)
    {
        log.Info($"PK={poco.PartitionKey}, RK={poco.RowKey}, Text={poco.Text}";
    }
}

入力 - C# の例 2Input - C# example 2

次の例は、複数のテーブル行を読み取るプリコンパイル済み C# コードを示します。The following example shows precompiled C# code that reads multiple table rows. MyPoco クラスは、TableEntity から派生しています。Note that the MyPoco class derives from TableEntity.

public class TableStorage
{
    public class MyPoco : TableEntity
    {
        public string Text { get; set; }
    }

    [FunctionName("TableInput")]
    public static void TableInput(
        [QueueTrigger("table-items")] string input, 
        [Table("MyTable", "MyPartition")] IQueryable<MyPoco> pocos, 
        TraceWriter log)
    {
        foreach (MyPoco poco in pocos)
        {
            log.Info($"PK={poco.PartitionKey}, RK={poco.RowKey}, Text={poco.Text}";
        }
    }
}

入力 - C# スクリプトの例 1Input - C# script example 1

次の例は、function.json ファイルのテーブル入力バインドと、バインドを使用する C# スクリプト コードを示しています。The following example shows a table input binding in a function.json file and C# script code that uses the binding. この関数は、キュー トリガーを使用して単一のテーブル行を読み取ります。The function uses a queue trigger to read a single table row.

function.json ファイルには partitionKeyrowKey が指定されています。The function.json file specifies a partitionKey and a rowKey. rowKey 値 "{queueTrigger}" は、行キーがキュー メッセージ文字列から取得されることを示します。The rowKey value "{queueTrigger}" indicates that the row key comes from the queue message string.

{
  "bindings": [
    {
      "queueName": "myqueue-items",
      "connection": "MyStorageConnectionAppSetting",
      "name": "myQueueItem",
      "type": "queueTrigger",
      "direction": "in"
    },
    {
      "name": "personEntity",
      "type": "table",
      "tableName": "Person",
      "partitionKey": "Test",
      "rowKey": "{queueTrigger}",
      "connection": "MyStorageConnectionAppSetting",
      "direction": "in"
    }
  ],
  "disabled": false
}

これらのプロパティについては、「構成」セクションを参照してください。The configuration section explains these properties.

C# スクリプト コードを次に示します。Here's the C# script code:

public static void Run(string myQueueItem, Person personEntity, TraceWriter log)
{
    log.Info($"C# Queue trigger function processed: {myQueueItem}");
    log.Info($"Name in Person entity: {personEntity.Name}");
}

public class Person
{
    public string PartitionKey { get; set; }
    public string RowKey { get; set; }
    public string Name { get; set; }
}

入力 - C# スクリプトの例 2Input - C# script example 2

次の例は、function.json ファイルのテーブル入力バインドと、バインドを使用する C# スクリプト コードを示しています。The following example shows a table input binding in a function.json file and C# script code that uses the binding. この関数は、キュー メッセージに指定されているパーティション キーのエンティティを読み取ります。The function reads entities for a partition key that is specified in a queue message.

function.json ファイルを次に示します。Here's the function.json file:

{
  "bindings": [
    {
      "queueName": "myqueue-items",
      "connection": "MyStorageConnectionAppSetting",
      "name": "myQueueItem",
      "type": "queueTrigger",
      "direction": "in"
    },
    {
      "name": "tableBinding",
      "type": "table",
      "connection": "MyStorageConnectionAppSetting",
      "tableName": "Person",
      "direction": "in"
    }
  ],
  "disabled": false
}

これらのプロパティについては、「構成」セクションを参照してください。The configuration section explains these properties.

この C# スクリプト コードは、エンティティ型が TableEntityから派生できるように、Azure Storage SDK に参照を追加します。The C# script code adds a reference to the Azure Storage SDK so that the entity type can derive from TableEntity:

#r "Microsoft.WindowsAzure.Storage"
using Microsoft.WindowsAzure.Storage.Table;

public static void Run(string myQueueItem, IQueryable<Person> tableBinding, TraceWriter log)
{
    log.Info($"C# Queue trigger function processed: {myQueueItem}");
    foreach (Person person in tableBinding.Where(p => p.PartitionKey == myQueueItem).ToList())
    {
        log.Info($"Name: {person.Name}");
    }
}

public class Person : TableEntity
{
    public string Name { get; set; }
}

入力 - F# の例Input - F# example

次の例は、function.json ファイルのテーブル入力バインドと、バインドを使用する F# スクリプト コードを示しています。The following example shows a table input binding in a function.json file and F# script code that uses the binding. この関数は、キュー トリガーを使用して単一のテーブル行を読み取ります。The function uses a queue trigger to read a single table row.

function.json ファイルには partitionKeyrowKey が指定されています。The function.json file specifies a partitionKey and a rowKey. rowKey 値 "{queueTrigger}" は、行キーがキュー メッセージ文字列から取得されることを示します。The rowKey value "{queueTrigger}" indicates that the row key comes from the queue message string.

{
  "bindings": [
    {
      "queueName": "myqueue-items",
      "connection": "MyStorageConnectionAppSetting",
      "name": "myQueueItem",
      "type": "queueTrigger",
      "direction": "in"
    },
    {
      "name": "personEntity",
      "type": "table",
      "tableName": "Person",
      "partitionKey": "Test",
      "rowKey": "{queueTrigger}",
      "connection": "MyStorageConnectionAppSetting",
      "direction": "in"
    }
  ],
  "disabled": false
}

これらのプロパティについては、「構成」セクションを参照してください。The configuration section explains these properties.

F# コードを次に示します。Here's the F# code:

[<CLIMutable>]
type Person = {
  PartitionKey: string
  RowKey: string
  Name: string
}

let Run(myQueueItem: string, personEntity: Person) =
    log.Info(sprintf "F# Queue trigger function processed: %s" myQueueItem)
    log.Info(sprintf "Name in Person entity: %s" personEntity.Name)

入力 - JavaScript の例Input - JavaScript example

次の例は、function.json ファイルのテーブル入力バインドと、バインドを使用する JavaScript コード を示しています。The following example shows a table input binding in a function.json file and JavaScript code that uses the binding. この関数は、キュー トリガーを使用して単一のテーブル行を読み取ります。The function uses a queue trigger to read a single table row.

function.json ファイルには partitionKeyrowKey が指定されています。The function.json file specifies a partitionKey and a rowKey. rowKey 値 "{queueTrigger}" は、行キーがキュー メッセージ文字列から取得されることを示します。The rowKey value "{queueTrigger}" indicates that the row key comes from the queue message string.

{
  "bindings": [
    {
      "queueName": "myqueue-items",
      "connection": "MyStorageConnectionAppSetting",
      "name": "myQueueItem",
      "type": "queueTrigger",
      "direction": "in"
    },
    {
      "name": "personEntity",
      "type": "table",
      "tableName": "Person",
      "partitionKey": "Test",
      "rowKey": "{queueTrigger}",
      "connection": "MyStorageConnectionAppSetting",
      "direction": "in"
    }
  ],
  "disabled": false
}

これらのプロパティについては、「構成」セクションを参照してください。The configuration section explains these properties.

JavaScript コードを次に示します。Here's the JavaScript code:

module.exports = function (context, myQueueItem) {
    context.log('Node.js queue trigger function processed work item', myQueueItem);
    context.log('Person entity name: ' + context.bindings.personEntity.Name);
    context.done();
};

入力 - 属性Input - attributes

プリコンパイル済み C# 関数では、次の属性を使用してテーブル入力バインドを構成します。For precompiled C# functions, use the following attributes to configure a table input binding:

  • TableAttribute。NuGet パッケージ Microsoft.Azure.WebJobs で定義されています。TableAttribute, which is defined in NuGet package Microsoft.Azure.WebJobs.

    この属性のコンストラクターは、テーブル名、パーティション キー、および行キーを受け取ります。The attribute's constructor takes the table name, partition key, and row key. 次の例のように、out パラメーターまたは関数の戻り値で使用できます。It can be used on an out parameter or on the return value of the function, as shown in the following example:

    [FunctionName("TableInput")]
    public static void Run(
        [QueueTrigger("table-items")] string input, 
        [Table("MyTable", "Http", "{queueTrigger}")] MyPoco poco, 
        TraceWriter log)
    {
        ...
    }
    

    次の例で示すように、Connection プロパティを設定して、使用するストレージ アカウントを指定できます。You can set the Connection property to specify the storage account to use, as shown in the following example:

    [FunctionName("TableInput")]
    public static void Run(
        [QueueTrigger("table-items")] string input, 
        [Table("MyTable", "Http", "{queueTrigger}", Connection = "StorageConnectionAppSetting")] MyPoco poco, 
        TraceWriter log)
    {
        ...
    }
    

    完全な例については、入力 - プリコンパイル済み C# の例に関する記事をご覧ください。For a complete example, see Input - precompiled C# example.

  • NuGet パッケージ Microsoft.Azure.WebJobs で定義された StorageAccountAttributeStorageAccountAttribute, defined in NuGet package Microsoft.Azure.WebJobs

    使用するストレージ アカウントを指定する別の方法を提供します。Provides another way to specify the storage account to use. コンストラクターは、ストレージ接続文字列を含むアプリ設定の名前を受け取ります。The constructor takes the name of an app setting that contains a storage connection string. 属性は、パラメーター、メソッド、またはクラス レベルで適用できます。The attribute can be applied at the parameter, method, or class level. 次の例では、クラス レベルとメソッド レベルを示します。The following example shows class level and method level:

    [StorageAccount("ClassLevelStorageAppSetting")]
    public static class AzureFunctions
    {
        [FunctionName("TableInput")]
        [StorageAccount("FunctionLevelStorageAppSetting")]
        public static void Run( //...
    {
        ...
    }
    

使用するストレージ アカウントは、次の順序で決定されます。The storage account to use is determined in the following order:

  • Table 属性の Connection プロパティ。The Table attribute's Connection property.
  • Table 属性と同じパラメーターに適用された StorageAccount 属性。The StorageAccount attribute applied to the same parameter as the Table attribute.
  • 関数に適用される StorageAccount 属性。The StorageAccount attribute applied to the function.
  • クラスに適用される StorageAccount 属性。The StorageAccount attribute applied to the class.
  • 関数アプリの既定のストレージ アカウント ("AzureWebJobsStorage" アプリ設定)。The default storage account for the function app ("AzureWebJobsStorage" app setting).

入力 - 構成Input - configuration

次の表は、function.json ファイルと Table 属性で設定したバインド構成のプロパティを説明しています。The following table explains the binding configuration properties that you set in the function.json file and the Table attribute.

function.json のプロパティfunction.json property 属性のプロパティAttribute property 説明Description
typetype 該当なしn/a table に設定する必要があります。Must be set to table. このプロパティは、Azure Portal でバインドを作成するときに自動で設定されます。This property is set automatically when you create the binding in the Azure portal.
directiondirection 該当なしn/a in に設定する必要があります。Must be set to in. このプロパティは、Azure Portal でバインドを作成するときに自動で設定されます。This property is set automatically when you create the binding in the Azure portal.
namename 該当なしn/a 関数コード内のテーブルまたはエンティティを表す変数の名前。The name of the variable that represents the table or entity in function code.
tableNametableName TableNameTableName テーブルの名前。The name of the table.
partitionKeypartitionKey PartitionKeyPartitionKey 省略可能。Optional. 読み取るテーブル エンティティのパーティション キー。The partition key of the table entity to read. このプロパティを使用する方法のガイダンスについては、「使用方法」セクションを参照してください。See the usage section for guidance on how to use this property.
rowKeyrowKey RowKeyRowKey 省略可能。Optional. 読み取るテーブル エンティティの行キー。The row key of the table entity to read. このプロパティを使用する方法のガイダンスについては、「使用方法」セクションを参照してください。See the usage section for guidance on how to use this property.
taketake TakeTake 省略可能。Optional. JavaScript で読み取るエンティティの最大数。The maximum number of entities to read in JavaScript. このプロパティを使用する方法のガイダンスについては、「使用方法」セクションを参照してください。See the usage section for guidance on how to use this property.
filterfilter FilterFilter 省略可能。Optional. JavaScript のテーブル入力の OData フィルター式。An OData filter expression for table input in JavaScript. このプロパティを使用する方法のガイダンスについては、「使用方法」セクションを参照してください。See the usage section for guidance on how to use this property.
connectionconnection ConnectionConnection このバインドに使用するストレージ接続文字列を含むアプリ設定の名前です。The name of an app setting that contains the Storage connection string to use for this binding. アプリ設定の名前が "AzureWebJobs" で始まる場合は、ここで名前の残りの部分のみを指定できます。If the app setting name begins with "AzureWebJobs", you can specify only the remainder of the name here. たとえば、connection を "MyStorage" に設定した場合、Functions ランタイムは "AzureWebJobsMyStorage" という名前のアプリ設定を探します。For example, if you set connection to "MyStorage", the Functions runtime looks for an app setting that is named "AzureWebJobsMyStorage." connection を空のままにした場合、Functions ランタイムは、アプリ設定内の AzureWebJobsStorage という名前の既定のストレージ接続文字列を使用します。If you leave connection empty, the Functions runtime uses the default Storage connection string in the app setting that is named AzureWebJobsStorage.

ローカルで開発している場合、アプリ設定は local.settings.json ファイルに保存されます。When you're developing locally, app settings go into the local.settings.json file.

入力 - 使用方法Input - usage

Table Storage の入力バインドは、次のシナリオをサポートしています。The Table storage input binding supports the following scenarios:

  • C# または C# スクリプトで 1 行を読み取るRead one row in C# or C# script

    partitionKeyrowKey を設定します。Set partitionKey and rowKey. メソッド パラメーター T <paramName> を使用して、テーブル データにアクセスします。Access the table data by using a method parameter T <paramName>. C# スクリプトでは、paramNamefunction.jsonname プロパティで指定された値です。In C# script, paramName is the value specified in the name property of function.json. 通常、T は、ITableEntity を実装する型か、TableEntity から派生する型です。T is typically a type that implements ITableEntity or derives from TableEntity. filter および take プロパティは、このシナリオでは使用しません。The filter and take properties are not used in this scenario.

  • C# または C# スクリプトで 1 行または複数行を読み取るRead one or more rows in C# or C# script

    メソッド パラメーター IQueryable<T> <paramName> を使用して、テーブル データにアクセスします。Access the table data by using a method parameter IQueryable<T> <paramName>. C# スクリプトでは、paramNamefunction.jsonname プロパティで指定された値です。In C# script, paramName is the value specified in the name property of function.json. T は、ITableEntity を実装する型か、TableEntity から派生する型にする必要があります。T must be a type that implements ITableEntity or derives from TableEntity. 必要なフィルター処理があれば、IQueryable メソッドを使用して実行します。You can use IQueryable methods to do any filtering required. partitionKeyrowKeyfiltertake の各プロパティは、このシナリオでは使用しません。The partitionKey, rowKey, filter, and take properties are not used in this scenario.

注意

IQueryable は .NET Core では動作しません。そのため、Functions v2 ランタイムでは動作しません。IQueryable does not work in .NET Core, so it doesn't work in the Functions v2 runtime.

代わりに、Azure Storage SDK で CloudTable paramName メソッド パラメーターを使用してテーブルを読み取ります。An alternative is to use a CloudTable paramName method parameter to read the table by using the Azure Storage SDK.

  • JavaScript で 1 行または複数行を読み取るRead one or more rows in JavaScript

    filtertake プロパティを設定します。Set the filter and take properties. partitionKeyrowKey は設定しません。Don't set partitionKey or rowKey. context.bindings.<name> を使用して入力テーブルの単一のエンティティ (または複数のエンティティ) にアクセスします。Access the input table entity (or entities) using context.bindings.<name>. 逆シリアル化されたオブジェクトには RowKey プロパティと PartitionKey プロパティがあります。The deserialized objects have RowKey and PartitionKey properties.

出力Output

Azure Table Storage の出力バインドを使用して、Azure Storage アカウントのテーブルにエンティティを書き込みます。Use an Azure Table storage output binding to write entities to a table in an Azure Storage account.

出力 - 例Output - example

言語固有の例をご覧ください。See the language-specific example:

出力 - C# の例Output - C# example

次の例は、HTTP トリガーを使用して単一のテーブル行を書き込むプリコンパイル済み C# コードを示します。The following example shows precompiled C# code that uses an HTTP trigger to write a single table row.

public class TableStorage
{
    public class MyPoco
    {
        public string PartitionKey { get; set; }
        public string RowKey { get; set; }
        public string Text { get; set; }
    }

    [FunctionName("TableOutput")]
    [return: Table("MyTable")]
    public static MyPoco TableOutput([HttpTrigger] dynamic input, TraceWriter log)
    {
        log.Info($"C# http trigger function processed: {input.Text}");
        return new MyPoco { PartitionKey = "Http", RowKey = Guid.NewGuid().ToString(), Text = input.Text };
    }
}

出力 - C# スクリプトの例Output - C# script example

次の例は、function.json ファイルのテーブル出力バインドと、バインドを使用する C# スクリプト コードを示しています。The following example shows a table output binding in a function.json file and C# script code that uses the binding. この関数は複数のテーブル エンティティを書き込みます。The function writes multiple table entities.

function.json ファイルを次に示します。Here's the function.json file:

{
  "bindings": [
    {
      "name": "input",
      "type": "manualTrigger",
      "direction": "in"
    },
    {
      "tableName": "Person",
      "connection": "MyStorageConnectionAppSetting",
      "name": "tableBinding",
      "type": "table",
      "direction": "out"
    }
  ],
  "disabled": false
}

これらのプロパティについては、「構成」セクションを参照してください。The configuration section explains these properties.

C# スクリプト コードを次に示します。Here's the C# script code:

public static void Run(string input, ICollector<Person> tableBinding, TraceWriter log)
{
    for (int i = 1; i < 10; i++)
        {
            log.Info($"Adding Person entity {i}");
            tableBinding.Add(
                new Person() { 
                    PartitionKey = "Test", 
                    RowKey = i.ToString(), 
                    Name = "Name" + i.ToString() }
                );
        }

}

public class Person
{
    public string PartitionKey { get; set; }
    public string RowKey { get; set; }
    public string Name { get; set; }
}

出力 - F# の例Output - F# example

次の例は、function.json ファイルのテーブル出力バインドと、バインドを使用する F# スクリプト コードを示しています。The following example shows a table output binding in a function.json file and F# script code that uses the binding. この関数は複数のテーブル エンティティを書き込みます。The function writes multiple table entities.

function.json ファイルを次に示します。Here's the function.json file:

{
  "bindings": [
    {
      "name": "input",
      "type": "manualTrigger",
      "direction": "in"
    },
    {
      "tableName": "Person",
      "connection": "MyStorageConnectionAppSetting",
      "name": "tableBinding",
      "type": "table",
      "direction": "out"
    }
  ],
  "disabled": false
}

これらのプロパティについては、「構成」セクションを参照してください。The configuration section explains these properties.

F# コードを次に示します。Here's the F# code:

[<CLIMutable>]
type Person = {
  PartitionKey: string
  RowKey: string
  Name: string
}

let Run(input: string, tableBinding: ICollector<Person>, log: TraceWriter) =
    for i = 1 to 10 do
        log.Info(sprintf "Adding Person entity %d" i)
        tableBinding.Add(
            { PartitionKey = "Test"
              RowKey = i.ToString()
              Name = "Name" + i.ToString() })

出力 - JavaScript の例Output - JavaScript example

次の例は、function.json ファイルのテーブル出力バインドと、バインドを使用する JavaScript 関数を示しています。The following example shows a table output binding in a function.json file and a JavaScript function that uses the binding. この関数は複数のテーブル エンティティを書き込みます。The function writes multiple table entities.

function.json ファイルを次に示します。Here's the function.json file:

{
  "bindings": [
    {
      "name": "input",
      "type": "manualTrigger",
      "direction": "in"
    },
    {
      "tableName": "Person",
      "connection": "MyStorageConnectionAppSetting",
      "name": "tableBinding",
      "type": "table",
      "direction": "out"
    }
  ],
  "disabled": false
}

これらのプロパティについては、「構成」セクションを参照してください。The configuration section explains these properties.

JavaScript コードを次に示します。Here's the JavaScript code:

module.exports = function (context) {

    context.bindings.tableBinding = [];

    for (var i = 1; i < 10; i++) {
        context.bindings.tableBinding.push({
            PartitionKey: "Test",
            RowKey: i.toString(),
            Name: "Name " + i
        });
    }

    context.done();
};

出力 - 属性Output - attributes

プリコンパイル済み C# 関数では、NuGet パッケージ Microsoft.Azure.WebJobs で定義されている TableAttribute を使用します。For precompiled C# functions, use the TableAttribute, which is defined in NuGet package Microsoft.Azure.WebJobs.

この属性のコンストラクターは、テーブル名を受け取ります。The attribute's constructor takes the table name. 次の例のように、out パラメーターまたは関数の戻り値で使用できます。It can be used on an out parameter or on the return value of the function, as shown in the following example:

[FunctionName("TableOutput")]
[return: Table("MyTable")]
public static MyPoco TableOutput(
    [HttpTrigger] dynamic input, 
    TraceWriter log)
{
    ...
}

次の例で示すように、Connection プロパティを設定して、使用するストレージ アカウントを指定できます。You can set the Connection property to specify the storage account to use, as shown in the following example:

[FunctionName("TableOutput")]
[return: Table("MyTable", Connection = "StorageConnectionAppSetting")]
public static MyPoco TableOutput(
    [HttpTrigger] dynamic input, 
    TraceWriter log)
{
    ...
}

完全な例については、出力 - プリコンパイル済み C# の例に関する記事をご覧ください。For a complete example, see Output - precompiled C# example.

StorageAccount 属性を使用して、クラス、メソッド、またはパラメーターのレベルでストレージ アカウントを指定できます。You can use the StorageAccount attribute to specify the storage account at class, method, or parameter level. 詳細については、入力 - 属性を参照してください。For more information, see Input - attributes.

出力 - 構成Output - configuration

次の表は、function.json ファイルと Table 属性で設定したバインド構成のプロパティを説明しています。The following table explains the binding configuration properties that you set in the function.json file and the Table attribute.

function.json のプロパティfunction.json property 属性のプロパティAttribute property 説明Description
typetype 該当なしn/a table に設定する必要があります。Must be set to table. このプロパティは、Azure Portal でバインドを作成するときに自動で設定されます。This property is set automatically when you create the binding in the Azure portal.
directiondirection 該当なしn/a out に設定する必要があります。Must be set to out. このプロパティは、Azure Portal でバインドを作成するときに自動で設定されます。This property is set automatically when you create the binding in the Azure portal.
namename 該当なしn/a テーブルまたはエンティティを表す関数コードに使用される変数の名前。The variable name used in function code that represents the table or entity. $return に設定して、関数の戻り値を参照します。Set to $return to reference the function return value.
tableNametableName TableNameTableName テーブルの名前。The name of the table.
partitionKeypartitionKey PartitionKeyPartitionKey 書き込むテーブル エンティティのパーティション キー。The partition key of the table entity to write. このプロパティを使用する方法のガイダンスについては、「使用方法」セクションを参照してください。See the usage section for guidance on how to use this property.
rowKeyrowKey RowKeyRowKey 書き込むテーブル エンティティの行キー。The row key of the table entity to write. このプロパティを使用する方法のガイダンスについては、「使用方法」セクションを参照してください。See the usage section for guidance on how to use this property.
connectionconnection ConnectionConnection このバインドに使用するストレージ接続文字列を含むアプリ設定の名前です。The name of an app setting that contains the Storage connection string to use for this binding. アプリ設定の名前が "AzureWebJobs" で始まる場合は、ここで名前の残りの部分のみを指定できます。If the app setting name begins with "AzureWebJobs", you can specify only the remainder of the name here. たとえば、connection を "MyStorage" に設定した場合、Functions ランタイムは "AzureWebJobsMyStorage" という名前のアプリ設定を探します。For example, if you set connection to "MyStorage", the Functions runtime looks for an app setting that is named "AzureWebJobsMyStorage." connection を空のままにした場合、Functions ランタイムは、アプリ設定内の AzureWebJobsStorage という名前の既定のストレージ接続文字列を使用します。If you leave connection empty, the Functions runtime uses the default Storage connection string in the app setting that is named AzureWebJobsStorage.

ローカルで開発している場合、アプリ設定は local.settings.json ファイルに保存されます。When you're developing locally, app settings go into the local.settings.json file.

出力 - 使用方法Output - usage

Table Storage の出力バインドは、次のシナリオをサポートしています。The Table storage output binding supports the following scenarios:

  • 任意の言語で 1 行を書き込むWrite one row in any language

    C# または C# スクリプトでは、out T paramName などのメソッド パラメーター、または関数の戻り値を使用して、出力テーブル エンティティにアクセスします。In C# and C# script, access the output table entity by using a method parameter such as out T paramName or the function return value. C# スクリプトでは、paramNamefunction.jsonname プロパティで指定された値です。In C# script, paramName is the value specified in the name property of function.json. function.json ファイルまたは Table 属性にパーティション キーと行キーが指定されている場合、T には任意のシリアル化可能な型を使用できます。T can be any serializable type if the partition key and row key are provided by the function.json file or the Table attribute. 指定されていない場合、T には PartitionKey および RowKey プロパティを含む型を使用する必要があります。Otherwise, T must be a type that includes PartitionKey and RowKey properties. このシナリオで、TITableEntity を実装するか TableEntity から派生するのが一般的ですが、必ずしもそうとは限りません。In this scenario, T typically implements ITableEntity or derives from TableEntity, but it doesn't have to.

  • C# または C# スクリプトで 1 行または複数行を書き込むWrite one or more rows in C# or C#

    C# または C# スクリプトでは、メソッド パラメーター ICollector<T> paramName または ICollectorAsync<T> paramName を使用して、出力テーブル エンティティにアクセスします。In C# and C# script, access the output table entity by using a method parameter ICollector<T> paramName or ICollectorAsync<T> paramName. C# スクリプトでは、paramNamefunction.jsonname プロパティで指定された値です。In C# script, paramName is the value specified in the name property of function.json. T は、追加するエンティティのスキーマを指定します。T specifies the schema of the entities you want to add. TTableEntity から派生するか、ITableEntity を実装するのが一般的ですが、必ずしもそうとは限りません。Typically, T derives from TableEntity or implements ITableEntity, but it doesn't have to. function.jsonTable 属性コンストラクターのパーティション キーと行キー値は、このシナリオでは使用しません。The partition key and row key values in function.json or the Table attribute constructor are not used in this scenario.

    代わりに、Azure Storage SDK で CloudTable paramName メソッド パラメーターを使用してテーブルに書き込みます。An alternative is to use a CloudTable paramName method parameter to write to the table by using the Azure Storage SDK.

  • JavaScript で 1 行または複数行を書き込むWrite one or more rows in JavaScript

    JavaScript 関数の場合、context.bindings.<name> を使用してテーブルの出力にアクセスします。In JavaScript functions, access the table output using context.bindings.<name>.

次のステップNext steps