我们将AmazonDeviceFarmClient.ListDevicesAsync
调用与一个非常简单的ListDevicesRequest
一起使用,以获取C#平台的设备场中所有可用设备的列表。
我们的代码示例:
var cfg = new AmazonDeviceFarmConfig
{
RegionEndpoint = RegionEndpoint.USWest2
};
using (var client = new AmazonDeviceFarmClient(new BasicAWSCredentials([DeviceFarmAccessKey], [DeviceFarmSecretKey]), cfg))
{
var arn = GetProjectArn();
var response = client.ListDevicesAsync(new ListDevicesRequest
{
Arn = arn
}).Result;
}
在Powershell / python中,使用aws devicefarm list-devices
命令返回所有可能设备的完整列表。
使用我们的C#代码,我们得到了一个被截断的列表,尽管没有过滤器,但缺少了一些我们需要的设备。我们尝试了各种方法,包括更改API用户的权限以及更改所在区域。
我们似乎最好的做法是越来越多地在C#环境中运行Powershell脚本,而不是使用C#设备场API(其list devices命令似乎不起作用)。
鉴于我们正在等待使用Result
关键字的结果,我不希望这是一个异步问题。
答案 0 :(得分:0)
正如Jeroen Mostert指出的,我们错过了NextToken属性。它发送了一个不完整的列表(一个不均匀的数字,例如236,这使我们认为这不是分页类型问题),并且在重复调用同一方法时使用NextToken给了我们一些剩余的结果。>
感谢您的及时回复!