Game Server의 기본 배포를 출시합니다.
더 살펴보기
이 코드 샘플이 포함된 자세한 문서는 다음을 참조하세요.
코드 샘플
C#
Game Servers용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Game Servers 클라이언트 라이브러리를 참조하세요.
using Google.Cloud.Gaming.V1;
using Google.LongRunning;
using Google.Protobuf.WellKnownTypes;
using System.Threading.Tasks;
public class UpdateRolloutDefaultConfigSample
{
public async Task<GameServerDeployment> UpdateRolloutDefaultConfigAsync(
string projectId, string deploymentId, string configId)
{
// Create the client.
GameServerDeploymentsServiceClient client = await GameServerDeploymentsServiceClient.CreateAsync();
GameServerDeploymentRollout rollout = new GameServerDeploymentRollout
{
Name = GameServerDeploymentName.FormatProjectLocationDeployment(projectId, "global", deploymentId),
DefaultGameServerConfig = configId
};
UpdateGameServerDeploymentRolloutRequest request = new UpdateGameServerDeploymentRolloutRequest
{
Rollout = rollout,
UpdateMask = new FieldMask { Paths = { "default_game_server_config" } }
};
// Make the request.
Operation<GameServerDeployment, OperationMetadata> response = await client.UpdateGameServerDeploymentRolloutAsync(request);
Operation<GameServerDeployment, OperationMetadata> completedResponse = await response.PollUntilCompletedAsync();
// Retrieve the operation result.
return completedResponse.Result;
}
}
Go
Game Servers용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Game Servers 클라이언트 라이브러리를 참조하세요.
import (
"context"
"fmt"
"io"
gaming "cloud.google.com/go/gaming/apiv1"
gamingpb "google.golang.org/genproto/googleapis/cloud/gaming/v1"
"google.golang.org/protobuf/types/known/fieldmaskpb"
)
// updateRolloutDefaultConfig sets the default config for a game deployment.
func updateRolloutDefaultConfig(w io.Writer, projectID, deploymentID, configID string) error {
// projectID := "my-project"
// deploymentID := "mydeployment"
// configID := "myconfig"
ctx := context.Background()
client, err := gaming.NewGameServerDeploymentsClient(ctx)
if err != nil {
return fmt.Errorf("NewGameServerDeploymentsClient: %v", err)
}
defer client.Close()
req := &gamingpb.UpdateGameServerDeploymentRolloutRequest{
Rollout: &gamingpb.GameServerDeploymentRollout{
Name: fmt.Sprintf("projects/%s/locations/global/gameServerDeployments/%s", projectID, deploymentID),
DefaultGameServerConfig: configID,
},
UpdateMask: &fieldmaskpb.FieldMask{
Paths: []string{
"default_game_server_config",
},
},
}
op, err := client.UpdateGameServerDeploymentRollout(ctx, req)
if err != nil {
return fmt.Errorf("UpdateGameServerDeploymentRollout: %v", err)
}
resp, err := op.Wait(ctx)
if err != nil {
return fmt.Errorf("Wait: %v", err)
}
fmt.Fprintf(w, "Deployment rollout updated: %v", resp.Name)
return nil
}
Node.js
Game Servers용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Game Servers 클라이언트 라이브러리를 참조하세요.
const {
GameServerDeploymentsServiceClient,
} = require('@google-cloud/game-servers');
const client = new GameServerDeploymentsServiceClient();
async function rolloutDefaultGameServerDeployment() {
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
// const projectId = 'Your Google Cloud Project ID';
// const deploymentId = 'A unique ID for the Game Server Deployment';
// const configId = 'A unique ID for the Game Server Config';
const request = {
rollout: {
name: client.gameServerDeploymentPath(
projectId,
'global',
deploymentId
),
defaultGameServerConfig: configId,
},
updateMask: {
paths: ['default_game_server_config'],
},
};
const [operation] = await client.updateGameServerDeploymentRollout(request);
const [deployment] = await operation.promise();
console.log(`Deployment updated: ${deployment.name}`);
}
rolloutDefaultGameServerDeployment();
Python
Game Servers용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Game Servers 클라이언트 라이브러리를 참조하세요.
def update_rollout_default(project_id, deployment_id, config_id):
"""Update the rollout of a game server deployment to set the default config."""
client = gaming.GameServerDeploymentsServiceClient()
# Location is hard coded as global, as game server deployments can
# only be created in global. This is done for all operations on
# game Server deployments, as well as for its child resource types.
request = game_server_deployments.UpdateGameServerDeploymentRolloutRequest()
request.rollout.name = (
f"projects/{project_id}/locations/global/gameServerDeployments/{deployment_id}"
)
request.rollout.default_game_server_config = config_id
request.update_mask = field_mask.FieldMask(paths=["default_game_server_config"])
operation = client.update_game_server_deployment_rollout(request)
print(f"Update deployment rollout operation: {operation.operation.name}")
operation.result(timeout=120)
다음 단계
다른 Google Cloud 제품의 코드 샘플을 검색하고 필터링하려면 Google Cloud 샘플 브라우저를 참조하세요.