如何写入我的Azure功能正在使用的同一存储帐户?

slsn1g29  于 2023-05-07  发布在  其他
关注(0)|答案(2)|浏览(121)

我有一个在计时器上运行的Azure函数。我想将函数上次成功运行的时间写入该函数正在使用的同一存储帐户中的表存储。
是否可以用c#获取函数存储帐户的连接字符串并对其进行读/写?

uelo1irk

uelo1irk1#

是否可以获取函数存储帐户的连接字符串并对其进行读/写?
是的,你可以通过去功能应用程序的配置部分,并在该选择AzureWebJobsStorage.

上面选择的是连接字符串。

或者,首先您需要识别连接的存储账户,并使用以下流程:

打开该存储帐户并获得如下连接:
你需要进入访问键部分并获取连接字符串。

是的,有很多C#,python和其他语言的SDK,我们可以轻松访问存储帐户。(你可以使用输出绑定,在C#中,你可以在本地设置中给予它)

dxxyhpgq

dxxyhpgq2#

是的,请按照以下步骤从您的函数应用的存储帐户中获取连接字符串
然后,使用Table Storage as an output binding,根据您使用的编程语言,添加连接字符串的过程可能会有所不同,但在大多数情况下,您需要将其粘贴到配置文件中。
对于C#
虽然该属性采用Connection属性,但您也可以使用StorageAccountAttribute指定存储帐户连接。当您需要使用与库中其他函数不同的存储帐户时,可以执行此操作。构造函数采用包含存储连接字符串的应用程序设置的名称。该属性可以应用于参数、方法或类级别。下面的示例显示类级别和方法级别:

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

并在local.settings.json中定义并粘贴应用设置的值

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=accountname;AccountKey=3mpO1cPf6DXl0At5Ddfew654few5BpF66B4aYd81Qdgpj3jjj5k5SU2VjdD2fewKpkwaw==;EndpointSuffix=core.windows.net",
        "FUNCTIONS_WORKER_RUNTIME": "dotnet"
    }
}

如果应用程序设置名称以“AzureWebJobs”开头,您可以在此处仅指定名称的其余部分。例如,如果将连接设置为“MyStorage”,则Functions运行时将查找名为“AzureWebJobsMyStorage”的应用设置。如果将连接保留为空,则Functions运行时将使用名为AzureWebJobsStorage的应用设置中的默认Storage连接字符串。

相关问题