コード例 #1
0
        public async Task GetInstanceConfigAsync()
        {
            Mock <InstanceAdmin.InstanceAdminClient> mockGrpcClient = new Mock <InstanceAdmin.InstanceAdminClient>(MockBehavior.Strict);

            mockGrpcClient.Setup(x => x.CreateOperationsClient())
            .Returns(new Mock <Operations.OperationsClient>().Object);
            GetInstanceConfigRequest expectedRequest = new GetInstanceConfigRequest
            {
                InstanceConfigName = new InstanceConfigName("[PROJECT]", "[INSTANCE_CONFIG]"),
            };
            InstanceConfig expectedResponse = new InstanceConfig
            {
                InstanceConfigName = new InstanceConfigName("[PROJECT]", "[INSTANCE_CONFIG]"),
                DisplayName        = "displayName1615086568",
            };

            mockGrpcClient.Setup(x => x.GetInstanceConfigAsync(expectedRequest, It.IsAny <CallOptions>()))
            .Returns(new Grpc.Core.AsyncUnaryCall <InstanceConfig>(Task.FromResult(expectedResponse), null, null, null, null));
            InstanceAdminClient client   = new InstanceAdminClientImpl(mockGrpcClient.Object, null);
            InstanceConfigName  name     = new InstanceConfigName("[PROJECT]", "[INSTANCE_CONFIG]");
            InstanceConfig      response = await client.GetInstanceConfigAsync(name);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
コード例 #2
0
 /// <summary>Snippet for GetInstanceConfig</summary>
 public void GetInstanceConfig()
 {
     // Snippet: GetInstanceConfig(InstanceConfigName,CallSettings)
     // Create client
     InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create();
     // Initialize request argument(s)
     InstanceConfigName name = new InstanceConfigName("[PROJECT]", "[INSTANCE_CONFIG]");
     // Make the request
     InstanceConfig response = instanceAdminClient.GetInstanceConfig(name);
     // End snippet
 }
    public Instance CreateInstanceWithProcessingUnits(string projectId, string instanceId)
    {
        // Create the InstanceAdminClient instance.
        InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create();

        InstanceName instanceName = InstanceName.FromProjectInstance(projectId, instanceId);

        // Initialize request parameters.
        Instance instance = new Instance
        {
            InstanceName = instanceName,
            ConfigAsInstanceConfigName = InstanceConfigName.FromProjectInstanceConfig(projectId, "regional-us-central1"),
            DisplayName     = "This is a display name.",
            ProcessingUnits = 500,
            Labels          =
            {
                { "cloud_spanner_samples", "true" },
            }
        };
        ProjectName projectName = ProjectName.FromProject(projectId);

        // Make the CreateInstance request.
        Operation <Instance, CreateInstanceMetadata> response = instanceAdminClient.CreateInstance(projectName, instanceId, instance);

        Console.WriteLine("Waiting for the operation to finish.");

        // Poll until the returned long-running operation is complete.
        Operation <Instance, CreateInstanceMetadata> completedResponse = response.PollUntilCompleted();

        if (completedResponse.IsFaulted)
        {
            Console.WriteLine($"Error while creating instance: {completedResponse.Exception}");
            throw completedResponse.Exception;
        }

        Console.WriteLine($"Instance created successfully.");

        // GetInstance to get the processing units using a field mask.
        GetInstanceRequest getInstanceRequest = new GetInstanceRequest
        {
            FieldMask = new FieldMask
            {
                Paths = { "processing_units" }
            },
            InstanceName = instanceName
        };

        instance = instanceAdminClient.GetInstance(getInstanceRequest);
        Console.WriteLine($"Instance {instanceId} has {instance.ProcessingUnits} processing units.");
        return(instance);
    }
コード例 #4
0
        /// <summary>Snippet for GetInstanceConfigAsync</summary>
        public async Task GetInstanceConfigAsync()
        {
            // Snippet: GetInstanceConfigAsync(InstanceConfigName,CallSettings)
            // Additional: GetInstanceConfigAsync(InstanceConfigName,CancellationToken)
            // Create client
            InstanceAdminClient instanceAdminClient = await InstanceAdminClient.CreateAsync();

            // Initialize request argument(s)
            InstanceConfigName name = new InstanceConfigName("[PROJECT]", "[INSTANCE_CONFIG]");
            // Make the request
            InstanceConfig response = await instanceAdminClient.GetInstanceConfigAsync(name);

            // End snippet
        }
コード例 #5
0
    public async Task <InstanceConfig> GetInstanceConfigAsync(string projectId, string instanceConfigId)
    {
        var instanceAdminClient = await InstanceAdminClient.CreateAsync();

        var instanceConfigName = InstanceConfigName.FromProjectInstanceConfig(projectId, instanceConfigId);
        var instanceConfig     = await instanceAdminClient.GetInstanceConfigAsync(instanceConfigName);

        Console.WriteLine($"Available leader options for instance config {instanceConfigName.InstanceConfigId}:");
        foreach (var leader in instanceConfig.LeaderOptions)
        {
            Console.WriteLine(leader);
        }
        return(instanceConfig);
    }
コード例 #6
0
    private async Task CreateInstanceWithMultiRegionAsync()
    {
        InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create();

        var      projectName = ProjectName.FromProject(ProjectId);
        Instance instance    = new Instance
        {
            DisplayName = "Multi-region samples test",
            ConfigAsInstanceConfigName = InstanceConfigName.FromProjectInstanceConfig(ProjectId, InstanceConfigId),
            InstanceName = InstanceName.FromProjectInstance(ProjectId, InstanceIdWithMultiRegion),
            NodeCount    = 1,
        };

        var response = await instanceAdminClient.CreateInstanceAsync(projectName, InstanceIdWithMultiRegion, instance);

        // Poll until the returned long-running operation is complete
        await response.PollUntilCompletedAsync();
    }
コード例 #7
0
    public static Instance SpannerCreateInstance(string projectId, string instanceId)
    {
        // Create the InstanceAdminClient instance.
        InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create();

        // Initialize request parameters.
        Instance instance = new Instance
        {
            InstanceName = InstanceName.FromProjectInstance(projectId, instanceId),
            ConfigAsInstanceConfigName =
                InstanceConfigName.FromProjectInstanceConfig(projectId, "regional-us-central1"),
            DisplayName = "This is a display name.",
            NodeCount   = 1,
            Labels      =
            {
                { "cloud_spanner_samples", "true" },
            }
        };
        ProjectName parentAsProjectName = ProjectName.FromProject(projectId);

        // Make the CreateInstance request.
        Operation <Instance, CreateInstanceMetadata> response =
            instanceAdminClient.CreateInstance(parentAsProjectName, instanceId, instance);

        Console.WriteLine("Waiting for the operation to finish.");

        // Poll until the returned long-running operation is complete.
        Operation <Instance, CreateInstanceMetadata> completedResponse =
            response.PollUntilCompleted();

        if (completedResponse.IsFaulted)
        {
            Console.WriteLine($"Error while creating instance: {completedResponse.Exception}");
            throw completedResponse.Exception;
        }

        Console.WriteLine($"Instance created successfully.");

        return(completedResponse.Result);
    }