小编Tun*_*yen的帖子

如何使用无服务器和 DynamoDBContext 在 dynamodb 中动态设置表名?

我们需要能够根据构建环境设置表名。考虑以下类:

[DynamoDBTable("movies")]
public class Movie
{
    [DynamoDBHashKey]
    public string Title { get; set; }

    [DynamoDBRangeKey(AttributeName = "Released")]
    public DateTime ReleaseDate { get; set; }

    public List<string> Genres { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

serverless.yml,表名可以这样设置:

functions:
    update-movies:
        environment:
            tableName: movies-prod
Run Code Online (Sandbox Code Playgroud)

然后在代码中我们可以根据tableName变量中的表名动态加载表名。我们更喜欢使用DynamoDBContext而不是DynamoDBv2.DocumentModel(这里已经有了解决方案How do I dynamic change dynamodb tablename in c# using object persistence model

在 Java 中是这样的:https : //medium.com/@onclouds/aws-lambda-use-different-dynamodb-tables-for-different-stages-5eda9f5378b2

c# amazon-web-services amazon-dynamodb

6
推荐指数
1
解决办法
3324
查看次数

MassTransit Azure ServiceBus 强制连接使用 HTTPS 而不是 AMQP

我们如何强制 MassTransit 使用 HTTPS 而不是 AMQP 连接到 Azure 服务总线?

我们的应用程序位于企业防火墙后面。它需要从Azure主题发送/接收消息。我们更愿意使用 HTTPS 而不是 AMQP,这样更容易实现安全管理。

该应用程序有以下设置

  • .NET框架4.6.2
  • MassTransit.Azure.ServiceBus.Core 6..1.0
  • 微软.Azure.ServiceBus 4.1.1

从Azure服务总线文档中,我们应该能够将传输类型设置为AmqpWebSockets,它应该使用HTTPS进行通信。连接字符串如下所示:

Endpoint=sb://test.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=secret;TransportType=AmqpWebSockets
Run Code Online (Sandbox Code Playgroud)

(参考: https: //github.com/MicrosoftDocs/azure-docs/issues/14133

如果我们使用TopicClientfrom Microsoft.Azure.ServiceBus 4.1.1,我们可以看到流量通过端口 443。示例代码是

class Program
{
    public static async Task Main(string[] args)
    {
        var serviceBus = new ServiceBus();
        await serviceBus.SendMessageAsync();

        Console.ReadKey();
    }
}

public class ServiceBus
{
    public async Task SendMessageAsync()
    {
        const int numberOfMessages = 10;
        topicClient = new TopicClient(ServiceBusConnectionString, TopicName);
        // Send messages.
        await SendMessagesAsync(numberOfMessages);

        Console.ReadKey();

        await topicClient.CloseAsync();
    } …
Run Code Online (Sandbox Code Playgroud)

.net masstransit azure azureservicebus

3
推荐指数
1
解决办法
1035
查看次数